摘要: 1. db file scattered read-DB 文件分散读取 这种情况通常显示与全表扫描相关的等待。当数据库进行全表扫时,基于性能的考虑,数据会分散(scattered)读入Buffer Cache。如果这个等待事件比较显著,可能说明对于某些全表扫描的表,没有创建索引或者没有创建合适的索引,我们可能需要检查这些数据表已确定是否进行了正确的设置。 然而这个等待事件不一定意味着性能低下,在某些条件下Oracle 会主动使用全表扫描来替换索引扫描以提高性能,这和访问的数据量有关,在CBO 下Oracle 会进行更为智能的选择,在RBO 下Oracle 更倾向于使用索引。 因为全表扫描... 阅读全文
posted @ 2013-05-03 00:27 wilson.han 阅读(259) 评论(0) 推荐(0) 编辑
摘要: Redo Log Buffer的大小设置--转载Redo Log Buffer的大小设置:Redo Log Buffer的大小由初始化参数LOG_BUFFER定义,该参数的缺省值为Max(512KB,128KB*CPU_COUNT)。通常这一缺省值是足够的,从上篇日志可以知道,Redo Log Buffer的写出操作是相当频繁的,所以过大的Log Buffer设置通常是没有必要的;如果缺省值不能满足要求,一般来说3MB是一个较为合理的调整开端。log_buffer参数的设置是否需要调整,可以从数据库的等待事件来判断:sys@NEI> select event#,name from v$e 阅读全文
posted @ 2013-05-03 00:22 wilson.han 阅读(1048) 评论(0) 推荐(0) 编辑
摘要: db file sequential read 事件的优化(一)db file sequential read等待事件有3个参数:file#,first block#,和block数量。在10g中,这等待事件受到用户I/O等待级别的影响。当处理db file sequential read等待事件的时候,牢记以下关键想法。l Oracle进程需要一个当前不在SGA中的块,等待数据库块从磁盘读入到SGA中l 要看的两个重要的数字是单独会话的TIME_WAITED和AVERAGE_WAIT。l 重要db file sequential read等待时间最可能是一个应用问题。db file sequ 阅读全文
posted @ 2013-05-03 00:16 wilson.han 阅读(3674) 评论(0) 推荐(0) 编辑
摘要: Oracle db file sequential read产生原因:该等待事件通常意味着一次I/O读取请求的结束。该等待产生原因:该等待事件通常意味着一次I/O读取请求的结束。该等待事件与db file scattered read的区别请参考www.itpub.net的帖子以及biti_rainy的blog。一次sequential读取通常是单个块的读取,但偶尔的在读取多块的时候也会看到sequential读取。诊断方法:在会话级,查询视图V$SESSION_WAIT时如果有该事件存在,那么该视图中的P1-表示文件编号FILE#P2-表示块编号BLOCK#P3-表示读取的块数BLOCKS, 阅读全文
posted @ 2013-05-03 00:08 wilson.han 阅读(378) 评论(0) 推荐(0) 编辑