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. mysql免安装版本(用批处理安装和启动)

    参考文章: http://www.cnblogs.com/niuniutry/p/3555778.html http://wenku.baidu.com/link?url=WI9Cyl5AMHOlps ...

  2. Android实践项目汇报(四)

    全国天气客户端 本周学习计划 添加修改功能,完成项目 实际完成情况 1.成功显示当天及后几天的天气信息 通过修改chaxun.java程序,比较JSON数据格式中JSONObject("to ...

  3. tensorflow mnist 给一张手写字辨别

    https://www.jianshu.com/p/db2afc0b0334 https://blog.csdn.net/xxzhangx/article/details/54563574

  4. tf.placeholder使用说明

    tf.placeholder(dtype, shape=None, name=None) placeholder,占位符,在tensorflow中类似于函数参数,运行时必须传入值. dtype:数据类 ...

  5. JAVA I/O(四)网络Socket和ServerSocket

    <Thinking in Enterprise Java>中第一章描述了用Socket和Channel的网络编程,核心即为Socket和Channel,本文简单讲述Socket的应用. S ...

  6. Spring Aop的理解和简单实现

    1.AOP概念 所说的面向切面编程其实就是在处理一系列业务逻辑的时候这一系列动作看成一个动作集合.比如连接数据库来说: 加载驱动-----获取class--------获取连接对象-------访问数 ...

  7. Nginx 负载均衡的几种方式

    如果Nginx没有仅仅只能代理一台服务器的话,那它也不可能像今天这么火,Nginx可以配置代理多台服务器,当一台服务器宕机之后,仍能保持系统可用.具体配置过程如下: 1. 在http节点下,添加ups ...

  8. 对某项目中Vuex用法的分析

    上周五刚发布一个线上版本,趁着新的需求和bug还没到来,决定分析一下正在维护的一个使用Vue 2.0 开发的后台管理系统中Vuex部分代码.这部分代码不是我写的,加上我一直在“使用”现成的而不是“搭建 ...

  9. linux中C语言发送广播报文

    2. 指令的解决方法: oute add -net 255.255.255.255 netmask 255.255.255.255 dev eth0 metric 1 或者 route add -ho ...

  10. js清除未知定时器的方法

    js清除未知定时器的方法 在需要有实时性更新数据的项目中,我们经常会用到很多定时器,我们可能需要一个可以一次性清除所有定时器的方法,并且不通过指定ID一个一个去清除,以下提供两种解决方案:   1.定 ...