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

上传人:新** 文档编号:488831214 上传时间:2023-09-22 格式:DOCX 页数:73 大小:120.71KB
返回 下载 相关 举报
XXXX1012-Oracle数据库诊断事件详解(如何获取所有内部事件号)_第1页
第1页 / 共73页
XXXX1012-Oracle数据库诊断事件详解(如何获取所有内部事件号)_第2页
第2页 / 共73页
XXXX1012-Oracle数据库诊断事件详解(如何获取所有内部事件号)_第3页
第3页 / 共73页
XXXX1012-Oracle数据库诊断事件详解(如何获取所有内部事件号)_第4页
第4页 / 共73页
XXXX1012-Oracle数据库诊断事件详解(如何获取所有内部事件号)_第5页
第5页 / 共73页
点击查看更多>>
资源描述

《XXXX1012-Oracle数据库诊断事件详解(如何获取所有内部事件号)》由会员分享,可在线阅读,更多相关《XXXX1012-Oracle数据库诊断事件详解(如何获取所有内部事件号)(73页珍藏版)》请在金锄头文库上搜索。

1、Oracle数据库诊断事件详解什么是Oracle数据库的诊断事件呢?简而言之的来说Oracle的诊断事件就是Oracle数据库中用于实现一些特殊功用的类别,一般主要用于实现以下几个方面的功用: 改变Oracle数据库的行为 启用收集Oraacle数据据库的跟踪或或者调试信息息 启用对Oraccle数据库库的额外的错错误检测4 5r/Rd0一、 Oraccle数据库库诊断事件简简介ITPUUB个人空间间K$g,rr aNVkeCG什么是OOraclee数据库的诊诊断事件呢?简而言之的的来说Oraacle的诊诊断事件就是是Oraclle数据库中中用于实现一一些特殊功用用的类别,一一般主要用于于实现

2、以下几几个方面的功功用:p LL8z%I66?&djZ$Z3FF0 改变Orracle数数据库的行为为u R.|5d;+_V4f*OUD0 启用收集集Oraclle数据库的的跟踪或者调调试信息ITTPUB个人人空间,.A%cct8mh4b 启用对OOraclee数据库的额额外的错误检检测如何去设置Orracle数数据库的各种种诊断事件呢呢?我们首先先来给设置诊诊断事件下一一个简单的定定义,就是让让Oraclle数据库产产生跟踪信息息日志文件。设设置诊断事件件有如下的四四种方法:IITPUB个个人空间t)RR$l 在INIIT或者SPPFILE初初始化文件中中设置ITPPUB个人空空间sv8ON

3、y1SS6K这种设设置的诊断事事件都是针对对于整个实例例的:ITPPUB个人空空间X:O/A4a| s&yevvent=eventt tracce namme conntext forevver, llevel levell;ITPPUB个人空空间ZJy+xF!A如果需需要设置多个个诊断事件,可可以通过以下下两种方法:ITPUBB个人空间g X|)O,Q*HH方法一:使使用冒号分隔隔开两个诊断断事件Annj8F00eventt = 110248 tracee namee conttext fforeveer, leevel 110:102249 trrace nname ccontexxt f

4、orrever, leveel 104+NQc7l0mmO-p0方方法二:使用用连续的行设设置诊断事件件ITPUBB个人空间vvA,dWW ;A55E!ZWeevent = 100248 ttrace name conteext fooreverr, levvel 100ITPUUB个人空间间!BQvmmGmeveent = 102449 traace naame coontextt foreever, levell 10IITPUB个个人空间 pp#|W(II/nQC0F,afY z 在当前SSQL会话中中设置N88l#q*SBT&F0针对对整个实例的的诊断事件的的设置:%?kEX.?zHn

5、0ALTTER SYYSTEM SET EEVENTSS eveent trrace nname ccontexxt forrever, leveel levvel;IITPUB个个人空间W2Ez*y3A5UU禁用设置的的诊断事件:ITPUBB个人空间44dwbnFSSrALTEER SYSSTEM SSET EVVENTS evennt traace naame coontextt off;f M-s6TI66nY0针对对当前会话的的诊断事件的的设置:_551K t!vrr0ALTEER SESSSION SET EEVENTSS eveent trrace nname ccontexxt

6、forrever, leveel levvel;IITPUB个个人空间z:y)s&TJ禁用设设置的诊断事事件:$QZ Zq0ALTTER SEESSIONN SET EVENTTS evvent ttrace name conteext offf;ITTPUB个人人空间T4yy;l;BUU8b| 在另外一一个SQL会会话中使用DDBMS_SSYSTEMM.SETEEV存储过程程设置ITPPUB个人空空间c9k:h%ox.H.KKFEXECUUTE syys.dbmms_sysstem.sset_evv(sid, seriial#, , , )ITPPUB个人空空间k&GG#mIQ其中的SSID

7、,SEERIAL#都是从视图图V$SESSSION中中获得的。GG4tMunnkQ)S0 在另外一一个会话中使使用debuug工具设置置cR DD5T7J&JW0对一一个进程设置置诊断事件:8%Tvv &qCCQ/R+3g4B#xR0OORADEBBUG EVVENT eevent TRACEE NAMEE CONTTEXT FFOREVEER, LEEVEL llevelIITPUB个个人空间%nnN-j;hh!cbL$?禁用设置置的诊断事件件:ITPUUB个人空间间iTIM3hhfORADEEBUG EEVENT eventt TRACCE NAMME CONNTEXT OFFITTPUB

8、个人人空间&h s/oww$B9wYYM对一个个会话设置诊诊断事件:IITPUB个个人空间xz*WWRORADEEBUG SSESSIOON_EVEENT evvent TTRACE NAME CONTEEXT FOOREVERR, LEVVEL leevel0XXs;qyb0禁用设置置的诊断事件件:)nnff4ct r0ORRADEBUUG SESSSION_EVENTT evennt TRAACE NAAME COONTEXTT OFF注: 在Oraacle8ii以上的版本本中,是使用用sysdbba权限的用用户登陆sqqlpluss后执行ORRADEBUUG命令;在在Oraclle7.3

9、/8.0的版版本中, 是是使用intternall用户登陆ssvrmgrrl后执行OORADEBBUG命令;在更早的OOraclee版本中使用用ORADBBX (ORRAMBX在在VMS系统统上)。因为为oradeebug允许许在另外的会会话中设置诊诊断事件,这这样就可以跟跟踪一些平时时不太traace的会话话,例如对 exporrt工具的诊诊断。诊断事事件可以分成成会话级的诊诊断事件和进进程级的诊断断事件,进程程级的诊断事事件是可以在在INIT初初始化参数文文件中设定,会会话级的诊断断事 件则可可以使用aalter sessiion.或者aalter systeem .命令来设设定。Oraa

10、cle数据据库在检测诊诊断事件的时时候都是先检检测会话级的的诊断事件,然然后再检测进进程级的诊断断事件。对于设置Oraacle数据据库的诊断事事件都必须遵遵循一定的语语法,例如在在会话级别上上设置诊断事事件可以按照照以下的语法法来设置:;)JKkk4Yt0aalter sessiion seet eveents 101811 tracce namme conntext forevver, llevel 1000;ITPUUB个人空间间7uD4qq*s;y66q而同样的的诊断事件在在INIT初初始化参数文文件中就应该该按照以下语语法设置:44NS, zCr9k00eventt=101181 tr

11、race nname ccontexxt forrever, leveel 10000ITPPUB个人空空间y$rz66Jz*Z|e在INIIT初始化参参数文件中设设置诊断事件件的时候,一一般来说最好好在诊断事件件后加上相关关的注释,注注释的内容一一般来说应该该包括诊断事事件的作用、为为什么要使用用这个诊断事事件以及设置置诊断事件的的时间。ITTPUB个人人空间&Ls.n2eeT9Rr?Nx-X2#kk下面这个图图是关于设置置诊断事件的的语法表:IITPUB个个人空间#DD8V8M-v,TbbxJO E*M!i*ppj0诊断事事件规定的语语法为:ITTPUB个人人空间fD_)FFwB:*qqo

12、h0VXX%0Evvent NName:它它代表关联事事件的符号名名或者是一个个事件号。如如果是immmediatte,代表是是一个立即无无条件的诊断断事件,不用用去等待任何何人发布它;也可以是指指定的Oraacle错误误号码,还可可以是具体的的事件名。RvI_#iie4?4U PP0Actiion:分为为和。Acttion KKey Woord的值可可以是traace、deebuggeer、craash,而qqualiffiers的的语法则是依依赖于具体的的Actioon。ITPPUB个人空空间qe2ff t:T,P 当为crrash的时时候,语法为为:ITPUUB个人空间间y2|nYY)_

13、?S;f_ (默默认为空)|off (在等待待事件中禁用用crashh)| aafterttimes (发生此此事件N次后后crashh)N/uhhi;As0 当为deebuggeer的时候,语语法为:rOO6O)Nxx!G0 (默认为为空)| off (在等待事事件中禁用ddebuggger)| afteertimees (发发生此事件NN次后debbuggerr)| fforeveer (一一旦开始deebuggeer,以后每每次发生事件件时都要deebuggeer)| lifettime (一旦开开始debuugger,以后N次发发生事件时都都要debuugger,然然后在此诊断断事件中

14、禁用用debuggger)bb#DXHHrH0 当为trrace的时时候,语法为为:L7mWA4T&q5sH00namee ,*ITPUUB个人空间间K6A8VVk T9ppTracee Namee:是关联内内部tracce号的符号号名。其中,ccontexxt是一种特特殊的traace naame,它不不会去调用调调试dumpp操作,但是是却会返回给给发起诊断事事件者是否ccontexxt跟踪被激激活,跟踪是是什么级别的的。跟踪的级级别是指duump程序内内 部使用来来控制dummp出来详细细信息的级别别,通常来说说,级别越高高,dumpp出来的信息息就会越详细细,最低级别别是1。Alll是

15、另外一一种特殊的ttrace name,它它意味着通过过ksdttradv宏在编译的的时候声明所所有的traace naames。如如果在诊断事事件中关联多多余一个以上上的tracce,至少有有一个应该是是conteext,相应应的,诊断事事件中最后一一个关联的动动作将返回跟跟踪的级别, 而且在不同同的调用中诊诊断事件号最最好唯一。IITPUB个个人空间!4Vp L2kWttrace qualiifier的的语法为:IITPUB个个人空间,ttz;K-LL R*BB4DWq(默认认为空)|off(在等待事件件中禁用这个个tracee)| aafter timess (发生生此事件N次次后开始trrace)|foreever (一旦激活活tracee,以后每次次发生事件时时都要traace)| lifeetime

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 市场营销

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号