11.2数据库等待事件(一)

一 描述

一直想写一篇关于oracle database等待事件的文档,从11年考ocm开始前就有这打算,到了13年开始,也并没有实际的落实一下。12年给学生讲课时也没有好好把等待事件通篇的梳理。这个预想中的工程不能等着一起全部投入精力来完成了,一点一点的凑着把等待事件完成吧。不知道个人能持续到什么时候,此为第一篇。

二 操作环境

OS info

lsb_release -a
uname -a

DB info

export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
sqlplus / as sysdba <

set lines 150
COL PRODUCT FORMAT A55

COL VERSION FORMAT A15

COL STATUS FORMAT A15

SELECT * FROM PRODUCT_COMPONENT_VERSION;
col value for a50
set pages 50
select * from nls_database_parameters;

archive log list;
EOF

other


三 过程设计

按照Oracle® Database Reference 11g Release 2 (11.2) Part Number E17110-05 C Oracle Wait Events 官档的大纲内容进行整理。纲要内容如下:

Classes of Wait Events

Descriptions of Common Wait Event Parameters

Descriptions of Wait Events

关于等待事件的信息可以在三个动态性能视图中显示出来:

v$session_wait sessions正在进行或者已经完成的events

v$system_event 所有每个sessions已经完成的某个等待事件的总共等待次数 (翻不明白了,原文这样的:displays the total number of times all the sessions have waited for the events in that view.

v$session_event v$system_event相似,但是只显示当前session的所有每一个等待事件的总共等待次数。

下面的sql语句列出所有wait events 及其wait class .

SQL> SELECT name, wait_class FROM V$EVENT_NAME ORDER BY name;

此篇文档先介绍Classes of Wait Events .

四 详细内容

Oracle 11.2 数据库提供如下 wait class

1. Administrative

此类等待事件是由于DBA的管理命令引起的,这些命令要求用户处于等待状态,比如,重建索引。【Waits resulting from DBA

commands that cause users to wait (for example, an index rebuild)

2. Application

此类等待事件是由于用户应用程序的代码引起的(比如:锁等待)【Waits resulting from user application code (for example,

lock waits caused by row level locking or explicit lock commands)

3. Cluster

此类等待事件和真正应用群集RAC的资源有关。(比如:gc cr block busy等待事件)【Waits related to Real Application Cluster

resources (for example, global cache resources such as 'gc cr block busy'

4. Commit

此类等待事件只包含一种等待事件--在执行了一个commit命令后,等待一个重做日志写确认(也就是log file sync)【This wait class

only comprises one wait event - wait for redo log write confirmation after a commit (that is, 'log file sync')

5. Concurrency

此类等待事件是由内部数据库资源引起的,比如闩锁。【Waits for internal database resources (for example, latches)

6. Configuration

此类等待事件是由数据库或实例的不当配置造成的,比如,重做日志文件尺寸太小,共享池的大小等。【Waits caused by inadequate

configuration of database or instance resources (for example, undersized log file sizes, shared pool size)

7. Idle

此类等待事件意味着会话不活跃,等待工作。比如,sql * net messages from client。【Waits that signify the session is inactive,waiting for work (for example, 'SQL*Net message from client')

8. Network

和网络环境相关的一些等待事件,比如sql* net more data to dblink。【Waits related to network messaging (for example,

'SQL*Net more data to dblink')

9. Other

此类等待事件通常比较少见。【Waits which should not typically occur on a system (for example,

'wait for EMON to spawn')

10.Scheduler

Resource Manager related waits (for example, 'resmgr: become active')

11.System I/O

此类等待事件通过是由后台进程的I/O操作引起的,比如DBWR等待,db file paralle write。【Waits for background process IO

(for example, DBWR wait for 'db file parallel write')

12.User I/O

此类等待事件通常是由用户I/O操作引起的,比如db file sequential read。【Waits for user IO (for example 'db file sequential read')

13.Queue  (较引文中官档添加的等待事件类)

pipelined环境下明显延迟的等待事件,这些花销大的时间可以显著表明低效率或者pipleline的其他问题。像streams,parallel queries或才dbms_piple包等。

Contains events that signify delays in obtaining additional data in a pipelined environment. The time spent on these wait events indicates inefficiency or other problems in the pipeline. It affects features such as Oracle Streams, parallel queries, or DBMS_PIPE PL/SQL packages.

五 个人总结

为避免重复发明轮子,所以引用了其他人博客中的内容。改变了些内容,以自己的理解的方式展示出来。个人认为专业术语还是用原汗原味的好。(另一个原因是本人翻译水平实在有限)

文档中多出一的wait classQueue,具体还不明白实际发生的情况,这里注明。

六 资料参考引用

Oracle® Database Reference 11g Release 2 (11.2) Part Number E17110-05

http://blog.csdn.net/wyzxg/article/details/4827434

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/11780477/viewspace-753213/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/11780477/viewspace-753213/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值