oracle等待事件类型wait_class的分析,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
Oracle 的等待事件是衡量数据库运行状况的重要依据及指标。
主要有两种类别的等待事件,即空闲( idle )等待事件和非空闲( non-idle )等待事件。
1,空闲等待事件
是指 Oracle 正等待某种工作 , 比如用 sqlplus 登录之后,但没有进一步发出任何命令,此时该 session 就处于 SQL*Net message from/to client 等待事件状态,等待用户发出命令,任何的在诊断和优化数据库的时候 , 我们不用过多注意这部分事件。
2,非空闲等待事件
专门针对 Oracle 的活动 , 指数据库任务或应用运行过程中发生的等待,这些等待事件是我们在调整数据库的时候应该关注与研究的。
每一个等待事件都属于某一类,下面给出了每一类等待事件的描述。
管理类:Administrative
此类等待事件是由于DBA的管理命令引起的,这些命令要求用户处于等待状态,比如,重建索引。【Waits resulting from DBA commands that cause users to wait (for example, an index rebuild)】
应用程序类:Application
此类等待事件是由于用户应用程序的代码引起的(比如:锁等待)【Waits resulting from user application code (for example, lock waits caused by row level locking or explicit lock commands)】
群集类:Cluster
此类等待事件和真正应用群集RAC的资源有关。(比如:gc cr block busy等待事件)【Waits related to Real Application Cluster resources (for example, global cache resources such as 'gc cr block busy'】
提交确认类: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')】
并发类:Concurrency
此类等待事件是由内部数据库资源引起的,比如闩锁。【Waits for internal database resources (for example, latches)】
配置类:Configuration
此类等待事件是由数据库或实例的不当配置造成的,比如,重做日志文件尺寸太小,共享池的大小等。【Waits caused by inadequate configuration of database or instance resources (for example, undersized log file sizes, shared pool size)】
空闲类:Idle
此类等待事件意味着会话不活跃,等待工作。比如,sql * net messages from client。【Waits that signify the session is inactive, waiting for work (for example, 'SQL*Net message from client')】
网络类:Network
和网络环境相关的一些等待事件,比如sql* net more data to dblink。【Waits related to network messaging (for example, 'SQL*Net more data to dblink')】
其它类:Other
此类等待事件通常比较少见。【Waits which should not typically occur on a system (for example, 'wait for EMON to spawn')】
调度类:Scheduler
Resource Manager related waits (for example, 'resmgr: become active')
系统I/O类:System I/O
此类等待事件通过是由后台进程的I/O操作引起的,比如DBWR等待,db file paralle write。【Waits for background process IO (for example, DBWR wait for 'db file parallel write')】
用户I/O类:User I/O
此类等待事件通常是由用户I/O操作引起的,比如db file sequential read。【Waits for user IO (for example 'db file sequential read')】
看完上述内容,你们掌握oracle等待事件类型wait_class的分析的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!