statspack安装使用和report 分析(三)

2014-11-24 12:20:18 · 作者: · 浏览: 4
很糟糕,或者使用了非选择性索引。通过将这种等待与statspack报表中已知其它问题联系起来(如效率不高的sql),通过检查确保索引扫描是必须的,并确保多表连接的连接顺序来调整, DB_CACHE_SIZE可以决定该事件出现的频率。

db file sequential read:该事件说明在单个数据块上大量等待,该值过高通常是由于表间连接顺序很糟糕,或者使用了非选择性索引。通过将这种等待与statspack报表中已知其它问题联系起来(如效率不高的sql),通过检查确保索引扫描是必须的,并确保多表连接的连接顺序来调整,DB_CACHE_SIZE可以决定该事件出现的频率。

buffer busy wait:当缓冲区以一种非共享方式或者如正在被读入到缓冲时,就会出现该等待。该值不应该大于1%,确认是不是由于热点块造成(如果是可以用反转索引,或者用更小块大小)。

latch free:常跟应用没有很好的应用绑定有关。闩锁是底层的队列机制(更加准确的名称应该是互斥机制),用于保护系统全局区(SGA)共享内存结构闩锁用于防止对内存结构的并行访问。如果闩锁不可用,就会记录一次闩锁丢失。绝大多数得闩锁问题都与使用绑定变量失败(库缓存闩锁)、生成重作问题(重执行分配闩锁)、缓存的争用问题(缓存LRU链) 以及缓存的热数据宽块(缓存链)有关。当闩锁丢失率高于0.5%时,需要调整这个问题。

log buffer space:日志缓冲区写的速度快于LGWR写REDOFILE的速度,可以增大日志文件大小,增加日志缓冲区的大小,或者使用更快的磁盘来写数据。

logfile switch:通常是因为归档速度不够快,需要增大重做日志。

log file sync:当一个用户提交或回滚数据时,LGWR将会话得重做操作从日志缓冲区填充到日志文件中,用户的进程必须等待这个填充工作完成。在每次提交时都出现,如果这个等待事件影响到数据库性能,那么就需要修改应用程序的提交频率, 为减少这个等待事件,须一次提交更多记录,或者将重做日志REDO LOG文件访在不同的物理磁盘上。

Wait time: 等待时间包括日志缓冲的写入和发送操作。

6.数据库用户程序发生的所有等待事件

Wait Events for DB: BLISSDB Instance: blissdb Snaps: 4 -5

-> s - second

-> cs - centisecond - 100th of a second

-> ms - millisecond - 1000th of a second

-> us - microsecond - 1000000th of a second

-> ordered by wait time desc, waits desc (idle events last)

Avg

Total Wait wait Waits

Event Waits Timeouts Time (s) (ms) /txn

---------------------------- ------------ ---------- ---------- ------ --------

db file sequential read 22,154 0 259 12 886.2

log file parallel write 2,439 2,012 26 11 97.6

db file parallel write 400 0 22 55 16.0

SQL*Net message from dblink 4,575 0 15 3 183.0

SQL*Net more data from dblin 64,490 0 13 0 2,579.6

control file parallel write 416 0 5 13 16.6

db file scattered read 456 0 5 11 18.2

write complete waits 9 0 5 568 0.4

control file sequential read 370 0 5 13 14.8

log buffer space 126 0 4 34 5.0

free buffer waits 11 1 3 313 0.4

log file switch completion 13 0 2 188 0.5

log file sync 90 0 1 8 3.6

log file sequential read 10 0 0 16 0.4

latch free 17 6 0 8 0.7

direct path read 56 0 0 1 2.2

direct path write 56 0 0 1 2.2

SQL*Net more data to client 173 0 0 0 6.9

SQL*Net message to dblink 4,575 0 0 0 183.0

LGWR wait for redo copy 8 0 0 1 0.3

log file single write 10 0 0 1 0.4

db file single write 5 0 0 0 0.2

SQL*Net break/reset to clien 5 0 0 0 0.2

async disk IO 15 0 0 0 0.6

SQL*Net message from client 789 0 3,290 4170 31.6

virtual circuit status 36 36 1,082 30069 1.4

wakeup time manager 34 34 1,034 30403 1.4

SQL*Net message to client 791 0 0 0 31.6

SQL*Net more data from clien 30 0 0 0 1.2

-------------------------------------------------------------

7.数据库后台进程发生的等待事件

Background Wait Events for DB: BLISSDB Instance: blissdb Snaps: 4 -5

-> ordered by wait time desc, waits desc (idle events last)

Avg

Total Wait wait Waits

Event Waits Timeouts Time (s) (ms) /txn

---------------------------- ------------ ---------- ---------- ------ --------

log file parallel write 2,439 2,012 26 11 97.6

db file parallel write 400 0 22 55 16.0

control file parallel write 406 0 5 13 16.2

control file sequential read 258 0 4 16 10.3

db file sequential read 19 0 1 51 0.8

log buffer space 24 0 0 9 1.0

log file sequential read 10 0 0 16 0.4

latch free 14 6 0 9 0.6

db file scattered read 6 0 0 14 0.2

direct path read 56 0 0 1 2.2

direct path write 56 0 0 1 2.2

LGWR wait for redo copy 8 0 0 1 0.3

log file single write 10 0 0 1 0.4

rdbms ipc message 7,339 3,337 3,172 432 293.6

pmon timer 373 373 1,083 2903 14.9

smon timer 3 3 924 ###### 0.1

------------------------------------------------