网站大量收购独家精品文档,联系QQ:2885784924

XXXX1012-Oracle数据库诊断事件详解(如何获取所有内部事件号).doc

XXXX1012-Oracle数据库诊断事件详解(如何获取所有内部事件号).doc

  1. 1、本文档共22页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
……………………………………………………………精品资料推荐………………………………………………… PAGE PAGE 1 Oracle数据库诊断事件详解 什么是Oracle数据库的诊断事件呢?简而言之的来说Oracle的诊断事件就是Oracle数据库中用于实现一些特殊功用的类别,一般主要用于实现以下几个方面的功用: ??改变Oracle数据库的行为 ??启用收集Oracle数据库的跟踪或者调试信息 ??启用对Oracle数据库的额外的错误检测 一、 Oracle数据库诊断事件简介 什么是Oracle数据库的诊断事件呢?简而言之的来说Oracle的诊断事件就是Oracle数据库中用于实现一些特殊功用的类别,一般主要用于实现以下几个方面的功用: ? 改变Oracle数据库的行为 ? 启用收集Oracle数据库的跟踪或者调试信息 ? 启用对Oracle数据库的额外的错误检测 如何去设置Oracle数据库的各种诊断事件呢?我们首先来给设置诊断事件下一个简单的定义,就是让Oracle数据库产生跟踪信息日志文件。设置诊断事件有如下的四种方法: ? 在INIT或者SPFILE初始化文件中设置 这种设置的诊断事件都是针对于整个实例的: event=event trace name context forever, level level; 如果需要设置多个诊断事件,可以通过以下两种方法: 方法一:使用冒号分隔开两个诊断事件 event = 10248 trace name context forever, level 10:10249 trace name context forever, level 10 方法二:使用连续的行设置诊断事件 event = 10248 trace name context forever, level 10 event = 10249 trace name context forever, level 10 ? 在当前SQL会话中设置 针对整个实例的诊断事件的设置: ALTER SYSTEM SET EVENTS event trace name context forever, level level; 禁用设置的诊断事件: ALTER SYSTEM SET EVENTS event trace name context off; 针对当前会话的诊断事件的设置: ALTER SESSION SET EVENTS event trace name context forever, level level; 禁用设置的诊断事件: ALTER SESSION SET EVENTS event trace name context off; ? 在另外一个SQL会话中使用DBMS_SYSTEM.SETEV存储过程设置 EXECUTE sys.dbms_system.set_ev(sid, serial#, , , ) 其中的SID,SERIAL#都是从视图V$SESSION中获得的。 ? 在另外一个会话中使用debug工具设置 对一个进程设置诊断事件: ORADEBUG EVENT event TRACE NAME CONTEXT FOREVER, LEVEL level 禁用设置的诊断事件: ORADEBUG EVENT event TRACE NAME CONTEXT OFF 对一个会话设置诊断事件: ORADEBUG SESSION_EVENT event TRACE NAME CONTEXT FOREVER, LEVEL level 禁用设置的诊断事件: ORADEBUG SESSION_EVENT event TRACE NAME CONTEXT OFF 注: 在Oracle8i以上的版本中,是使用sysdba权限的用户登陆sqlplus后执行ORADEBUG命令;在Oracle7.3/8.0的版本中, 是使用internal用户登陆svrmgrl后执行ORADEBUG命令;在更早的Oracle版本中使用ORADBX (ORAMBX在VMS系统上)。因为oradebug允许在另外的会话中设置诊断事件,这样就可以跟踪一些平时不太trace的会话,例如对 export工具的诊断。诊断事件可以分成会话级的诊断事件和进程级的诊断事件,进程级的诊断事件是可以在INIT初始化参数文件中设定,会话级的诊断事 件则可以使用alter session...或者alter system ...命令来设定。Oracle数据库在检测诊断事件的时候都是先检测会话级的诊断事件,然后再检测进程级的诊断事件。 对于设置Oracle数据库的诊断事件都必须遵循一定的语法,例如在会话级别上设置诊断事件可以按照以下的语法来设置: a

文档评论(0)

ayangjiayu3 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档