千家信息网

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

发表于:2025-11-08 作者:千家信息网编辑
千家信息网最后更新 2025年11月08日,Oracle Study之--Oracle等待事件(5)Db file single write这个等待事件通常只发生在一种情况下,就是Oracle 更新数据文件头信息时(比如发生Checkpoint
千家信息网最后更新 2025年11月08日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安全错误 数据库的锁怎样保障安全 电脑做个服务器 ftp服务器做视频播放器 数据库改单用户后出错 陕西创新网络技术服务信息中心 界首公安dna数据库 腾讯云服务器可以搭梯子吗 十四五网络安全规划发言稿 西安应用软件开发平台 智能交通数据库规范 联想t168服务器 国家网络安全学院网官网 网络安全侦查局管辖案件 软件开发 软件技术规范 抓包软件怎么能看到服务器跳转 难度非常高的我的世界服务器 中国商品诚信数据库真品卫士zc 教师涉及违反网络安全相关规定 浙江省辐射安全数据库 开展网络安全教的必要性 什么是注册服务器 数据库详细 青岛用什么软件开发 有多少根服务器在中国 没有专利申请权的软件开发 深圳专业软件开发价格表 虚拟网络技术造句 消防物联网大数据平台软件开发 防网络安全的手抄报内容 哪有软件开发基础培训课 安徽北斗授时模块服务器云服务器
0