为了减少I/O
最近进行了一个RAC系统的诊断和SQL调优
系统负载如下:
DB Name DB Id Instance Inst num Release RAC Host
CISLIVE 2822924692 cislive1 1 10.2.0.5.0 YES cisdb01
Snap Id Snap Time Sessions Cursors/Session
Begin Snap: 5890 27-Apr-11 14:00:49 295 2.3
End Snap: 5891 27-Apr-11 14:58:30 298 2.6
Elapsed: 57.68 (mins)
DB Time: 37.97 (mins)
负载不是太高,我主要是为了防范未然
Load Profile
Per Second Per Transaction
Redo size: 17,555.69 33,054.70
Logical reads: 135,918.63 255,914.07
Block changes: 87.13 164.05
Physical reads: 62.17 117.05
可以看到逻辑读叫高,查看TOP5
Top 5 Timed Events
Event Waits Time(s) Avg Wait(ms) % Total Call Time Wait Class
CPU time 2,192 96.2
db file sequential read 6,277 32 5 1.4 User I/O
gc cr multi block request 148,225 19 0 .8 Cluster
db file scattered read 12,595 8 1 .4 User I/O
gc buffer busy 3,385 5 2 .2 Cluster
可以看到视乎有块在RAC间传递,CPU TIME的解释ORACLE说是CPU耗用在数据库操作上的时间。
因为我这个系统是偶尔CPU下降到50%,等待时间也是偶尔出现GC CR REQUEST的情况,并没有
达到不因为高负载宕机的地步。只是防范性调优,所以负载不是很高。
分析SQL ORDER BY CPU前2位
53 53 5 10.55 2.41 2.33 ccdfj27szj143 SELECT * FROM ( Select RowNum ...
52 52 5 10.39 2.37 2.26 bh0shnmvqduzu SELECT COUNT(*) FROM PrpTmain
系统负载如下:
DB Name DB Id Instance Inst num Release RAC Host
CISLIVE 2822924692 cislive1 1 10.2.0.5.0 YES cisdb01
Snap Id Snap Time Sessions Cursors/Session
Begin Snap: 5890 27-Apr-11 14:00:49 295 2.3
End Snap: 5891 27-Apr-11 14:58:30 298 2.6
Elapsed: 57.68 (mins)
DB Time: 37.97 (mins)
负载不是太高,我主要是为了防范未然
Load Profile
Per Second Per Transaction
Redo size: 17,555.69 33,054.70
Logical reads: 135,918.63 255,914.07
Block changes: 87.13 164.05
Physical reads: 62.17 117.05
可以看到逻辑读叫高,查看TOP5
Top 5 Timed Events
Event Waits Time(s) Avg Wait(ms) % Total Call Time Wait Class
CPU time 2,192 96.2
db file sequential read 6,277 32 5 1.4 User I/O
gc cr multi block request 148,225 19 0 .8 Cluster
db file scattered read 12,595 8 1 .4 User I/O
gc buffer busy 3,385 5 2 .2 Cluster
可以看到视乎有块在RAC间传递,CPU TIME的解释ORACLE说是CPU耗用在数据库操作上的时间。
因为我这个系统是偶尔CPU下降到50%,等待时间也是偶尔出现GC CR REQUEST的情况,并没有
达到不因为高负载宕机的地步。只是防范性调优,所以负载不是很高。
分析SQL ORDER BY CPU前2位
53 53 5 10.55 2.41 2.33 ccdfj27szj143 SELECT * FROM ( Select RowNum ...
52 52 5 10.39 2.37 2.26 bh0shnmvqduzu SELECT COUNT(*) FROM PrpTmain