Oracle数据库的“健康指示器”——事件(events)
Oracle数据库“赢在”在架构,这话还是有道理的,除了锁(lock)这个最大的架构上的“赢点”之外,Oracle事件(event)也是另外一个很重要的架构上的“赢点”,因为当今的Oracle数据库,无论日常运维,还是故障分析、诊断、排查和解决,还是性能调整。。。,都离不开事件(event),Oracle提供了很多关于事件(event)的视图,通过这些视图,用户可以获取到系统中的事件信息,通过这些事件信息,专业DBA就可以了解数据库当前,或者某个时间段内的状况,可见事件对Oracle的使用是多么重要,目前,Oracle11g上总共有不到900个事件,针对这些事件的详细说明,至今也没能发现一个非常权威、全面、详细、准确的资料,不过,倒也不是无迹可寻,还是有几个途径可以去了解Oracle的事件的,首先,大家可以去看Oracle官方的资料,其中对事件介绍较多、较详尽的是Oracle参考(Oracle reference),这本书里比较全面、详尽的介绍了常见事件;此外,我们还可以到网上去收集一些相关的资料;最后,我们也可以通过Oracle自身的视图(v$event_name)去了解这些事件,v$event_name虽然列出了所有的事件,但对事件并没有一个说明(Oracle新发布的版本12c对这方面有所改善),我们只能根据事件的名字来猜测事件的用途或作用,除了事件名字,还有几个字段对每个事件进行说明,例如:事件参数,事件类别等,我们可以通过desc v$event_name来列出该视图的字段项,我们不可能对所有的900个事件进行一一详细说明,我们可以在日常的应用中去逐渐学习和积累这些事件的知识,但我们可以看看Oracle11g中所有的事件类别,由此,我们可以看出Oracle在最近的版本里,对事件的重视及这方面的完善程度,通过如下命令,可获取所有的事件类别:
select distinct event_class from v$event_name order by event_class;
事件类别如下:
1、Administrative: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:Waits related to Real Application Clusters resources (for example, global cache resources such as 'gc cr block busy')
4、Commit: 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:Waits that signify the session is inactive, waiting for work (for example, 'SQL*Net message from client')
8、Network: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:Waits for background process I/O (for example, DBWR wait for 'db file parallel write')
12、User I/O:Waits for user I/O (for example 'db file sequential read')
目前,Oracle在事件方面已经做的相对比较完善,在使用时也极大的方便了用户,在提高产品质量和可用性的同时,也极大的提高了用户的满意度和认可度,其他数据库厂商也已经开始支持和不断完善数据库事件方面的支持和功能,本人将来也许会发文逐一探讨其他商用数据库这方面的内容,禁止转载。
Oracle数据库的“健康指示器”——事件(events)的更多相关文章
- (转)oracle 数据库性能健康检查脚本
转至:https://blog.csdn.net/cm_0205/article/details/100210526?utm_medium=distribute.pc_relevant_downloa ...
- ORACLE数据库管理员的职责
ORACLE数据库管理员的职责 一.概述 ORACLE数据库管理员应按如下方式对ORACLE数据库系统做定期监控: (1). 每天对ORACLE数据库的运行状态,日志文件,备份情况,数据库的空间使用情 ...
- 关于Oracle数据库故障诊断基础架构
本节包含有关Oracle数据库故障诊断基础结构的背景信息.它包含以下主题: 故障诊断基础架构概述 关于事件和问题 故障诊断基础设施组件 自动诊断信息库的结构,内容和位置 故障诊断基础架构概述 故障诊断 ...
- ORACLE数据库AWR工具学习
AWR(Automatic Workload Repository)即工作负载信息库,主要用于收集数据库运行状态的资料库,通过AWR报告可以分析ORACLE数据库的性能,从而给出优化策略. 图一:此图 ...
- C#实现多级子目录Zip压缩解压实例 NET4.6下的UTC时间转换 [译]ASP.NET Core Web API 中使用Oracle数据库和Dapper看这篇就够了 asp.Net Core免费开源分布式异常日志收集框架Exceptionless安装配置以及简单使用图文教程 asp.net core异步进行新增操作并且需要判断某些字段是否重复的三种解决方案 .NET Core开发日志
C#实现多级子目录Zip压缩解压实例 参考 https://blog.csdn.net/lki_suidongdong/article/details/20942977 重点: 实现多级子目录的压缩, ...
- 13 oracle数据库坏块-逻辑坏块(模拟/修复)
13 oracle数据库坏块-逻辑坏块 逻辑数据坏块的场景1)oracle bug也可能导致逻辑坏块的产生. 特别是parallel dml. 例如:Bug 5621677 Logical corru ...
- 查看Oracle数据库中的执行计划
1.set autotrace traceonly命令 2.explain plan for命令 1)explain plan for select * from dual; 2)select * f ...
- 数栈运维实例:Oracle数据库运维场景下,智能运维如何落地生根?
从马车到汽车是为了提升运输效率,而随着时代的发展,如今我们又希望用自动驾驶把驾驶员从开车这项体力劳动中解放出来,增加运行效率,同时也可减少交通事故发生率,这也是企业对于智能运维的诉求. 从人工运维到自 ...
- Oracle数据库该如何着手优化一个SQL
这是个终极问题,因为优化本身的复杂性实在是难以总结的,很多时候优化的方法并不是用到了什么高深莫测的技术,而只是一个思想意识层面的差异,而这些都很可能连带导致性能表现上的巨大差异. 所以有时候我们应该先 ...
随机推荐
- 03: 自定义异步非阻塞tornado框架
目录:Tornado其他篇 01: tornado基础篇 02: tornado进阶篇 03: 自定义异步非阻塞tornado框架 04: 打开tornado源码剖析处理过程 目录: 1.1 源码 1 ...
- Duilib 实现开关按钮
转载:http://blog.csdn.net/wuan584974722/article/details/25045737 我们在做MFC程序时候经常会一个切换式的按钮,之前我的做法是利用butti ...
- Python3基础 __getattr__ 访问不存在的属性时,新增提示功能
Python : 3.7.0 OS : Ubuntu 18.04.1 LTS IDE : PyCharm 2018.2.4 Conda ...
- Linux多线程--使用互斥量同步线程【转】
本文转载自:http://blog.csdn.net/ljianhui/article/details/10875883 前文再续,书接上一回,在上一篇文章:Linux多线程——使用信号量同步线程中, ...
- C#学习笔记(十九):字典
自定义泛型 泛型类,第一替代符T,第二替代符U using System; using System.Collections.Generic; using System.Linq; using Sys ...
- socket编程时使用了inet_ntoa函数,存储到链表中的数据总是自动改变
这和inet_ntoa的返回值有关系: 函数声明:char *inet_ntoa (struct in_addr); 返回点分十进制的字符串在静态内存中的指针. 所在头文件:<arpa/inet ...
- NOI 16 买房子
买房子(NOI 16) 总时间限制: 1000ms 内存限制: 65536kB 描述 某程序员开始工作,年薪N万,他希望在中关村公馆买一套60平米的房子,现在价格是200万,假设房子价格以每年百分之K ...
- SVN基本命令总结
1.svn add [path] 预定添加文件或者目录到版本库,这些add的文件会在下一次提交文件时同步到版本服务器. 2.svn commit [path] 提交文件到版本服务器. 3.svn co ...
- VC动态调用DLL
1. //函数指针声明 typedef int (_stdcall MYDLLFUN)(char* _pcOut, /*INOUT*/int *_piOutBufLen, char* _pcIn, i ...
- 【备档】客户端自动化(主Android Appium + python
之前做分享写的文档,备档~ 0.移动客户端自动化简介 客户端自动化测试的本质 定位对象 · 操作对象 · 校验对象 对象的定位应该是自动化测试的核心,要想操作.校验一个对象,首先应该识别这个对象. 一 ...