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)的更多相关文章

  1. (转)oracle 数据库性能健康检查脚本

    转至:https://blog.csdn.net/cm_0205/article/details/100210526?utm_medium=distribute.pc_relevant_downloa ...

  2. ORACLE数据库管理员的职责

    ORACLE数据库管理员的职责 一.概述 ORACLE数据库管理员应按如下方式对ORACLE数据库系统做定期监控: (1). 每天对ORACLE数据库的运行状态,日志文件,备份情况,数据库的空间使用情 ...

  3. 关于Oracle数据库故障诊断基础架构

    本节包含有关Oracle数据库故障诊断基础结构的背景信息.它包含以下主题: 故障诊断基础架构概述 关于事件和问题 故障诊断基础设施组件 自动诊断信息库的结构,内容和位置 故障诊断基础架构概述 故障诊断 ...

  4. ORACLE数据库AWR工具学习

    AWR(Automatic Workload Repository)即工作负载信息库,主要用于收集数据库运行状态的资料库,通过AWR报告可以分析ORACLE数据库的性能,从而给出优化策略. 图一:此图 ...

  5. 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 重点: 实现多级子目录的压缩, ...

  6. 13 oracle数据库坏块-逻辑坏块(模拟/修复)

    13 oracle数据库坏块-逻辑坏块 逻辑数据坏块的场景1)oracle bug也可能导致逻辑坏块的产生. 特别是parallel dml. 例如:Bug 5621677 Logical corru ...

  7. 查看Oracle数据库中的执行计划

    1.set autotrace traceonly命令 2.explain plan for命令 1)explain plan for select * from dual; 2)select * f ...

  8. 数栈运维实例:Oracle数据库运维场景下,智能运维如何落地生根?

    从马车到汽车是为了提升运输效率,而随着时代的发展,如今我们又希望用自动驾驶把驾驶员从开车这项体力劳动中解放出来,增加运行效率,同时也可减少交通事故发生率,这也是企业对于智能运维的诉求. 从人工运维到自 ...

  9. Oracle数据库该如何着手优化一个SQL

    这是个终极问题,因为优化本身的复杂性实在是难以总结的,很多时候优化的方法并不是用到了什么高深莫测的技术,而只是一个思想意识层面的差异,而这些都很可能连带导致性能表现上的巨大差异. 所以有时候我们应该先 ...

随机推荐

  1. Python Web学习笔记之GIL机制下的鸡肋多线程

    为什么有人会说 Python 多线程是鸡肋?知乎上有人提出这样一个问题,在我们常识中,多进程.多线程都是通过并发的方式充分利用硬件资源提高程序的运行效率,怎么在 Python 中反而成了鸡肋? 有同学 ...

  2. pythoy的configparser模块

    生成配置文件的模块 DEFAULT块,在以块为单位取块的值时,都会出现 import configparser config = configparser.ConfigParser() #相当于生成了 ...

  3. Android项目开发一

    Android项目开发一   进度计划 1.第一周 开源中国注册账号:http://my.oschina.net/u/2511208,并上传Android HelloWorld程序代码 搭建Andro ...

  4. Visual Leak Detector简明使用教程

    Visual Leak Detector是一款内存泄漏检测软件,主要的作用就是检测可能或者是存在内存泄露的地方,具体的功能的话,可以百度下,今天主要简单介绍下怎么使用 首先下载Visual Leak ...

  5. ubuntu16.04下无线网卡无法正常连网

    背景:无线网卡初次连接可以正常上网,但是用了一会儿就会出现无法上网的情况 版本: Ubuntu 16.04 一.分析: 1.使用ifconfig命令发现不会显示无线网卡,说明无线网卡被关闭,笔者输出的 ...

  6. bootstrap5

    列表组的使用 ul.list-group > li.list-group-item *5... 列表组中可以放置徽标: 在li中放置 span.badge. bootstrap中的情景类: 实际 ...

  7. Pandas fillna('Missing')

    https://blog.csdn.net/donghf1989/article/details/51167083/ .使用0替代缺失值(当然你可以用任意一个数字代替NaN) df.fillna(0) ...

  8. BZOJ4415: [Shoi2013]发牌 树状数组+二分

    Description 假设一开始,荷官拿出了一副新牌,这副牌有N张不同的牌,编号依次为1到N.由于是新牌,所以牌是按照顺序排好的,从牌库顶开始,依次为1, 2,……直到N,N号牌在牌库底.为了发完所 ...

  9. UVa 10570 外星人聚会

    https://vjudge.net/problem/UVA-10570 题意:输入1~n的排列,每次可以交换两个整数,求出最少交换次数使之变成有序的环状序列. 思路:主要的解题方法就是寻找置换环,举 ...

  10. python打包到pypi小结

       如果你写了一个python库,想让别人快速使用你的库,最简单的方式就是使用python官方出品的库托管网站pypi了.    pypi的全称是Python Package Index,是pyth ...