千家信息网

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

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,Oracle Study之--Oracle等待事件(5)Db file single write这个等待事件通常只发生在一种情况下,就是Oracle 更新数据文件头信息时(比如发生Checkpoint
千家信息网最后更新 2026年11月01日Oracle Study之--Oracle等待事件(5)

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

Db file single write
这个等待事件通常只发生在一种情况下,就是Oracle 更新数据文件头信息时(比如发生Checkpoint)。
当这个等待事件很明显时,需要考虑是不是数据库中的数据文件数量太大,导致Oracle 需要花较长的时间来做所有文件头的更新操作(checkpoint)。
这个等待事件有三个参数:
File#: 需要更新的数据块所在的数据文件的文件号。
Block#: 需要更新的数据块号。
Blocks: 需要更新的数据块数目(通常来说应该等于1)。

案例分析:

15:03:26 SYS@ prod>select event,TOTAL_WAITS,AVERAGE_WAIT from v$system_event15:03:31   2  where upper(event) like 'DB FILE%';EVENT                                                            TOTAL_WAITS AVERAGE_WAIT---------------------------------------------------------------- ----------- ------------db file sequential read                                                 2093          .01db file scattered read                                                   833          .02db file single write                                                      27          .28db file parallel write                                                     5        17.4815:03:51 SYS@ prod>alter system checkpoint;System altered.15:03:35 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                                                 2673          .01db file scattered read                                                   833          .02db file single write                                                      36          .55db file parallel write                                                     7        14.73Elapsed: 00:00:00.01

Direct path read
这个等待事件发生在会话将数据块直接读取到PGA当中而不是SGA中的情况,这些被读取的数据通常是这个会话私有的数据,所以不需要放到SGA作为共享数据,因为这样做没有意义。这些数据通常是来自于临时段上的数据,比如一个会话中SQL的排序数据,并行执行过程中间产生的数据,以及Hash Join,merge join产生的排序数据,因为这些数据只对当前的会话的SQL操作有意义,所以不需要放到SGA当中。
当发生direct path read等待事件时,意味着磁盘上有大量的临时数据产生,比如排序,并行执行等操作。或者意味着PGA中空闲空间不足。
这个等待事件有三个参数:
Descriptor address: 一个指针,指向当前会话正在等待的一个direct read I/O。
First dba: descriptor address 中最旧的一个I/O数据块地址。
Block cnt: descriptor address上下文中涉及的有效的buffer 数量。


Direct path write
这个等待事件和direct path read 正好相反,是会话将一些数据从PGA中直接写入到磁盘文件上,而不经过SGA。
这种情况通常发生在:
使用临时表空间排序(内存不足)
数据的直接加载(使用append方式加载数据)
并行DML操作。
这个等待事件有三个参数:
Descriptor address: 一个指针,指向当前会话正在等待的一个direct I/O.
First dba: descriptor address 中最旧的一个I/O数据块地址。
Block cnt: descriptor address 上下文中涉及的有效地 buffer 数量。

案例分析:

15:37:17 SCOTT@ prod>  1* select * from t1 order by 1600000 rows selected.Elapsed: 00:00:04.35Execution Plan----------------------------------------------------------Plan hash value: 2148421099-----------------------------------------------------------------------------------| Id  | Operation          | Name | Rows  | Bytes |TempSpc| Cost (%CPU)| Time     |-----------------------------------------------------------------------------------|   0 | SELECT STATEMENT   |      |   838K|    10M|       |  4260   (1)| 00:00:52 ||   1 |  SORT ORDER BY     |      |   838K|    10M|    16M|  4260   (1)| 00:00:52 ||   2 |   TABLE ACCESS FULL| T1   |   838K|    10M|       |   276   (2)| 00:00:04 |-----------------------------------------------------------------------------------Note-----   - dynamic sampling used for this statement (level=2)Statistics----------------------------------------------------------          7  recursive calls          3  db block gets       1355  consistent gets       1823  physical reads          0  redo size   10809270  bytes sent via SQL*Net to client     440512  bytes received via SQL*Net from client      40001  SQL*Net roundtrips to/from client          0  sorts (memory)          1  sorts (disk)     600000  rows processed     15:36:39 SYS@ prod>select event,TOTAL_WAITS,AVERAGE_WAIT from v$system_event  2* where upper(event) like 'DIRECT%'EVENT                                                            TOTAL_WAITS AVERAGE_WAIT---------------------------------------------------------------- ----------- ------------direct path read                                                         154          .03direct path read temp                                                   1746            0direct path write temp                                                    63          .98Elapsed: 00:00:00.0415:37:31 SYS@ prod>


数据 事件 文件 更新 排序 三个 参数 情况 数量 有效 上下 上下文 地址 意味 指向 指针 案例 案例分析 正在 磁盘 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 疫情对互联网科技公司影响 港股互联网科技股 北京互联网科技公司 紫鲸互联网科技 国外互联网科技网站 互联网科技类展会 盛创互联网科技有限公司 互联网 科技馆 福州新华互联网科技学校 知乎 中化能源互联网科技招聘 天津腾达互联网科技有限公司 深圳市罗太互联网科技有限公司 中天科技中国工业互联网 艺电能源互联网科技有限公司招聘 中国科技和美国互联网 西安左小互联网科技有限公司 互联网科技职业技能培训学校 盐城市攀科互联网科技有限公司 青岛互联网科技园 互联网大会出现的黑科技 新华互联网科技学校 互联网科技股票 极限挑战互联网科技 广州互联网络科技有限公司 电子科技大学互联网 互联网科技宣传片 重庆互联网医院沙龙医盟信息科技 昊天互联网科技有限公司 本届互联网博览会上的黑科技 互联网科技创业计划的风险分析
0