Oracle Study之--Oracle等待事件(3)
admin
2023-05-14 03:02:07
0

Oracle Study之--Oracle等待事件(3)

Db file parallel read
这是一个很容易引起误导的等待事件,实际上这个等待事件和并行操作(比如并行查询,并行DML)没有关系。 这个事件发生在数据库恢复的时候,当有一些数据块需要恢复的时候,Oracle会以并行的方式把他们从数据文件中读入到内存中进行恢复操作。
这个等待事件包含三个参数:
Files: 操作需要读取的文件个数。
Blocks: 操作需要读取的数据块个数。
Requests: 操作需要执行的I/O次数。

案例分析:

11:06:16 SYS@ prod>conn scott/tiger
Connected.
11:06:19 SCOTT@ prod>insert into emp1 select * from emp1;
286720 rows created.
Elapsed: 00:00:02.04
11:07:22 SCOTT@ prod>/
573440 rows created.
11:08:07 SYS@ prod>r
  1  select event,TOTAL_WAITS,AVERAGE_WAIT from v$system_event
  2* where upper(event) like 'DB FILE%'
EVENT                                                            TOTAL_WAITS AVERAGE_WAIT
---------------------------------------------------------------- ----------- ------------
db file sequential read                                                 4449          .04
db file scattered read                                                  1650          .02
db file single write                                                      36          .39
db file async I/O submit                                                 133         8.69
db file parallel read                                                     37          .19
Elapsed: 00:00:00.02
11:08:20 SYS@ prod>r
  1  select event,TOTAL_WAITS,AVERAGE_WAIT from v$system_event
  2* where upper(event) like 'DB FILE%'
EVENT                                                            TOTAL_WAITS AVERAGE_WAIT
---------------------------------------------------------------- ----------- ------------
db file sequential read                                                 7561          .03
db file scattered read                                                  1785          .02
db file single write                                                      36          .39
db file async I/O submit                                                 160        10.29
db file parallel read                                                     39          .19
Elapsed: 00:00:00.02

Db file parallel write
这是一个后台等待事件,它同样和用户的并行操作没有关系,它是由后台进程DBWR产生的,当后台进程DBWR向磁盘上写入脏数据时,会发生这个等待。
DBWR会批量地将脏数据并行地写入到磁盘上相应的数据文件中,在这个批次作业完成之前,DBWR将出现这个等待事件。如果仅仅是这一个等待事件,对用户的操作并没有太大的影响,当伴随着出现free buffer waits等待事件时,说明此时内存中可用的空间不足,这时候会影响到用户的操作,比如影响到用户将脏数据块读入到内存中。
当出现db file parallel write等待事件时,可以通过启用操作系统的异步I/O的方式来缓解这个等待。当使用异步I/O时,DBWR不再需要一直等到所有数据块全部写入到磁盘上,它只需要等到这个数据写入到一个百分比之后,就可以继续进行后续的操作。
这个等待事件有两个参数:
Requests: 操作需要执行的I/O次数。
Timeouts: 等待的超时时间。

案例分析:

1、关闭ASYNC I/O:
11:25:47 SYS@ prod>show parameter sync
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
disk_asynch_io                       boolean     FALSE
tape_asynch_io                       boolean     TRUE
11:25:53 SYS@ prod>select event,TOTAL_WAITS,AVERAGE_WAIT from v$system_event
11:25:58   2  where upper(event) like 'DB FILE%';
EVENT                                                            TOTAL_WAITS AVERAGE_WAIT
---------------------------------------------------------------- ----------- ------------
db file sequential read                                                 2036          .02
db file scattered read                                                   844          .01
db file single write                                                      27          .69
db file parallel write                                                    38         1.69
2、用户进行事务操作
11:24:02 SCOTT@ prod>conn scott/tiger
Connected.
11:26:19 SCOTT@ prod>begin
11:26:38   2    for i in 1..100000 loop
11:26:38   3    execute immediate 'insert into t1 values ('||i||')';
11:26:38   4    end loop;
11:26:38   5    end;
11:26:38   6    /
11:24:06 TOM@ prod>conn tom/tom
Connected.
11:26:47 TOM@ prod>begin
11:26:57   2    for i in 1..100000 loop
11:26:57   3    execute immediate 'insert into scott.t1 values ('||i||')' ;
11:26:57   4    end loop;
11:26:57   5    end;
11:26:57   6    /
11:22:41 SYS@ prod>select event,TOTAL_WAITS,AVERAGE_WAIT from v$system_event
  2* where upper(event) like 'DB FILE%'
EVENT                                                            TOTAL_WAITS AVERAGE_WAIT
---------------------------------------------------------------- ----------- ------------
db file sequential read                                                 3216          .02
db file scattered read                                                   846          .01
db file single write                                                      27          .69
db file parallel write                                                    67         2.78
Elapsed: 00:00:00.02
3、解决方法
11:22:42 SYS@ prod>show parameter sync
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
disk_asynch_io                       boolean     TRUE
tape_asynch_io                       boolean     TRUE
11:22:43 SYS@ prod>select event,TOTAL_WAITS,AVERAGE_WAIT from v$system_event
  2* where upper(event) like 'DB FILE%'
EVENT                                                            TOTAL_WAITS AVERAGE_WAIT
---------------------------------------------------------------- ----------- ------------
db file sequential read                                                11801          .05
db file scattered read                                                  1920          .03
db file single write                                                      54          .35
db file async I/O submit                                                 266         7.78
db file parallel read                                                     39          .19
'db file parallel write ' 等待事件消失 !


相关内容

热门资讯

以军士兵集体丢掉武器抗命,大喊... 据凤凰卫视报道,以色列国防军一军事基地7月30日发生士兵抗命事件,约120名士兵抗议指挥官做法,将武...
蒋成华任商务部副部长 国务院任免国家工作人员。任命蒋成华为商务部副部长。免去蒋成华的商务部国际贸易谈判副代表职务。
伊朗驻华大使:在军事威胁下,不... 新华社北京7月31日电(记者刁慧琳) 伊朗驻华大使法兹里7月28日表示,伊美回到谈判桌的前提是美国必...
伊朗革命卫队在霍尔木兹海峡击中... 当地时间31日,伊朗伊斯兰革命卫队发布声明称,革命卫队海军当天在霍尔木兹海峡击中并扣留了两艘违反禁令...
美媒:特朗普,遇到了一个更强硬... 据《纽约时报》7月29日报道,就在特朗普总统看似放弃战事升级计划几天后,美国再次与伊朗交火。上周末,...
女子做气管镜时不幸身亡,丈夫称... 7月29日,西安刘先生反映妻子在当地医院做支气管镜检查时死亡,看监控时发现医生疑有违规操作。刘先生表...
全网“帮卖西瓜”,然后呢? 近日,河南部分地区西瓜滞销的消息在网上热度很高。很多地方也伸出援手:有景区收购千斤西瓜、免费赠予游客...
美媒:乌克兰袭击伊朗船只,险引... 据《纽约时报》7月28日报道,据伊朗和西方官员称,伊朗曾考虑攻击乌克兰的一个港口,以报复乌克兰对一艘...
20年里,他只画美女,用东方风... 迈进KIM在上海的工作室,迎面是一整墙的美女们。她们像是刚从一场时髦的沙龙里退场,或倚或立,眉宇间是...
Google在港推出AI代理G... 观点网讯:7月29日,Google在香港推出AI代理Gemini Spark,该代理可全天候在后台运...