Posted by dbtan on 五月 13th, 2010 日志文件相关等待:
redo对于数据库来说非常重要,有一系统等待事件和日志相关,通过v$event_name视图可以找到这些等待事件:
sys@CCDB> select name from v$event_name where name like '%log%';
NAME
--------------------------------------------------
logout restrictor
LNS ASYNC archive log
LNS ASYNC end of log
log file sequential read
log file single write
log file parallel write
log buffer space
log file switch (checkpoint incomplete)
log file switch (private strand flush incomplete)
log file switch (archiving neede
... ...
<阅读全文>
Posted by dbtan on 四月 12th, 2010 direct path read/write (直接路径读/写):
直接路径读(direct path read)通常发生在Oracle直接读数据到进程PGA时,这个读取不需要经过SGA。直接路径读等待事件的3个参数分别是file number(指绝对文件号)、first dba、block cnt数量。在Oracle 10g/11g中,这个等待事件被归于User I/O一类。
db file sequential read、db file scattered read、direct path read是常见的集中数据读方式,下图简要描述了这3种方式的读取示意。
<阅读全文>
Posted by dbtan on 四月 10th, 2010 db file scattered read 等待事件:
我们经常会见到db file scattered read等待事件,在生产环境中,这个等待事件可能更为常见。这个事件表明用户进程正在读数据到Buffer Cache中,等待直到I/O调用返回。db file scattered read发出离散读,将存储上连接的数据块离散的读入到多个不连续的内存位置。Scattered Read通常是多块读,在Full Table Scan或Fast Full Scan等访问方式下使用。
Scattered Read代表Full Scan,当执行Full Scan读取数据到Buffer Cache时,通常连续的数据在内存中的存储位置并不连续,所以这个等待被命名为Scattered Read(离散读)。每次多块读读
... ...
<阅读全文>
Posted by dbtan on 四月 10th, 2010 db file sequential read (数据文件顺序读取):
db file sequential read是个非常常见的I/O相关的等待事件,通常显示与单个数据块相关的读取操作,在大多数的情况下,读取一个索引块或者通过索引读取一个数据块时,都会记录这个等待。
这个等待事件有3个参数P1,P2,P3,其中P1代表Oracle要读取的文件的绝对文件号,P2代表Oracle从这个文件中开始读取的起始数据块号,P3代表读取的BLOCK数量,通常这个值为1,表明是道单个BLOCK被读取。
sys@CCDB> select name,parameter1,parameter2,parameter3
2 from v$event_name
3 where name
... ...
<阅读全文>
Posted by dbtan on 四月 10th, 2010 顶级等待事件:
前文还提到另外一个重要视图v$system_event,该视图记录的是数据库自启动以来等待事件的汇总。通过查询该视图,就可以快速获得数据库等待事件的总体概况,了解数据库运行的基本状态:
sys@CCDB> select *
2 from (select event,time_waited
3 from v$system_event
4 order by time_waited desc)
5 where rownum < 11;
EVENT  
... ...
<阅读全文>
Recent Comments