分享更有价值
被信任是一种快乐

怎么理解ORACLE事件跟踪

文章页正文上

这期内容当中小编将会给大家带来有关怎么理解ORACLE事件跟踪,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。ORACLE事件跟踪 Oracle跟踪文件分为三种类型: 1:警告日志文件。记录了数据库启动、运行、关闭时的活动情况。当数据库出现问题时,首先要查看该文件,文件名为alert_sid.log 2:后台跟踪文件。记录了oracle后台进程的运行状况,名称为sid_processname_processid.trc,存储目录为BACKGROUND_dump_dest 3:用户跟踪文件。记录了连接到数据库的用户进程的运行信息,名称为SID_ORA_PROCESSID.TRC,存储目录为USER_DUMP_DEST. 在oracle11g中,这三种文件位于同一目录下:跟踪事件 设置跟踪事件,会导致oracle将与该事件有关的信息转储到跟踪文件中。依据设置事件的方式,可以将跟踪事件分为2类:PROCESS-EVENT(通过初始化参数文件设置的事件)、SESSION-EVENT(通过alter session set events或者alter system set events设置的时间)。要使PROCESS-EVENT事件生效,必须重新启动数据库实例,PROCESS-EVENT事件会影响连接到数据库的每一个用户进程。在参数文件中设置多个事件可以采用“:”分隔符,如event=”event1:event2:event3″。也可以依次设置多个event,如:event=”event1″event=”event2″(注意,在event1和event2之间不要存在其他参数,否则只有最后的event即event2生效)。 对不同的跟踪事件,oracle会产生不同的行为,根据行为的不同,我们大致可以将跟踪事件分为4类: 1.转储oracle中的某部分内容,如数据块、控制文件内容等。转储活动会在收到跟踪事件命令的同时执行。这类事件不可以通过参数文件进行设置。 2.跟踪错误信息。设置这类事件,oracle会将特定错误的堆栈信息转储到跟踪文件中。 3.更改oracle的执行路径。这类事件会影响oracle代码段的执行路径,例如10269事件,会促使smon进程停止对free-space的合并操作。 4.跟踪进程的相关信息。例如10046事件和10053事件。该类事件会将进程上下文中的特定信息转储到跟踪文件中。语法格式 alter system|session set events ‘[eventnumber|immediate]trace nameeventname[forever][, level levelnumber] : …….’ 通过:符号,可以连续设置多个事件,也可以通过连续使用alter session set events来设置多个事件。 格式说明:eventnumber指触发dump的事件号,事件号可以是Oracle错误号或oralce内部事件号,内部事件号在10000到10999之间,不能与immediate关键字同用;immediate关键字表示命令发出后,立即将指定的结构dump到跟踪文件中,这个关键字只用在alter session语句中,并且不能与eventnumber、forever关键字同用。trace name是关键字。eventname指事件名称(见后面),即要进行dump的实际结构名。若eventname为context,则指根据内部事件号进行跟踪。forever关键字表示事件在实例或会话的周期内保持有效状态,不能与immediate同用。level为事件级别关键字。但在dump错误栈(errorstack)时不存在级别。levelnumber表示事件级别号,一般从1到10,1表示只dump结构头部信息,10表示dump结构的所有信息。 对于alter session设置的事件,仅仅只对当前session有效。对于alter system 设置的事件,除对当前session有效外,对新登录的session同样有效,但是对于alter system命令执行之前打开的session是无效的。IMMEDIATE相关的事件一.Memory Dumps1).Global AreaAlter SESSION SET EVENTS ‘immediate trace name global_area level n’;1 包含PGA2 包含SGA4 包含UGA8 包含indrect memory2).Library CacheAlter SESSION SET EVENTS ‘immediate trace name library_cache level n’;1 library cache统计信息2 包含hash table histogram3 包含object handle4 包含object结构(Heap 0)3).Row CacheAlter SESSION SET EVENTS ‘immediate trace name row_cache level n’;1 row cache统计信息2 包含hash table histogram8 包含object结构4).BuffersAlter SESSION SET EVENTS ‘immediate trace name buffers level n’;1 buffer header2 level 1 + block header3 level 2 + block contents4 level 1 + hash chain5 level 2 + hash chain6 level 3 + hash chain8 level 4 + users/waiters9 level 5 + users/waiters10 level 6 + users/waiters5).BufferAlter SESSION SET EVENTS ‘immediate trace name buffer level n’;n为某个指定block的rdba,该命令可以转储某个block在buffer中的所有版本。6).HeapAlter SESSION SET EVENTS ‘immediate trace name heapdump level level’;1 PGA摘要2 SGA摘要4 UGA摘要8 Current call(CGA)摘要16 User call(CGA)摘要32 Large call(LGA)摘要1025 PGA内容2050 SGA内容4100 UGA内容8200 Current call内容16400 User call内容32800 Large call内容7).Sub Heaporacle 9.0.1版本之前Alter SESSION SET EVENTS ‘immediate trace name heapdump_addr level n’;若n为subheap的地址,转储的是subheap的摘要信免费主机域名息若n为subheap的地址+1,转储的则是subheap的内容oracle 9.2.0版本之后Alter SESSION SET EVENTS ‘immediate trace name heapdump_addr level n, addr m’;其中m为subheap的地址n为1转储subheap的摘要,n为2转储subheap的内容8).Process StateAlter SESSION SET EVENTS ‘immediate trace name processstate level n’;9).System StateAlter SESSION SET EVENTS ‘immediate trace name systemstate level n’;10).Error StateAlter SESSION SET EVENTS ‘immediate trace name errorstack level n’;0 Error stack1 level 0 + function call stack2 level 1 + process state3 level 2 + context area11).Hang AnalysisAlter SESSION SET EVENTS ‘immediate trace name hanganalyze level n’;12).Work AreaAlter SESSION SET EVENTS ‘immediate trace name workareatab_dump level n’;1 SGA信息2 Workarea Table摘要信息3 Workarea Table详细信息13).LatchesAlter SESSION SET EVENTS ‘immediate trace name latches level n’;1 latch信息2 统计信息14).EventsAlter SESSION SET EVENTS ‘immediate trace name events level n’;1 session2 process3 system15).LocksAlter SESSION SET EVENTS ‘immediate trace name locks level n’;16).Shared Server ProcessAlter SESSION SET EVENTS ‘immediate trace name shared_server_state level n’;n取值为1~1417).Background MessagesAlter SESSION SET EVENTS ‘immediate trace name bg_messages level n’;n为pid+1二.File Dumps1).Blockoracle 7之前Alter SESSION SET EVENTS ‘immediate trace name blockdump level n’;n为block的rdbaoracle8以后Alter SYSTEM DUMP DATAFILE file# BLOCK block#;Alter SYSTEM DUMP DATAFILE file#BLOCK MIN minimum_block#BLOCK MAX maximum_block#2).Tree Dump 查看索引的结构Alter SESSION SET EVENTS ‘immediate trace name treedump level n’;n为object_idobject_id可以从select object_id from user_objects where object_name = ‘索引的名字’得到。3).Undo Segment Header 查看回滚段头部信息Alter SYSTEM DUMP UNDO_HEADER ‘segment_name’;4).Undo for a TransactionAlter SYSTEM DUMP UNDO BLOCK ‘segment_name’ XID xidusn xidslot xidsqn;5).File HeaderAlter SESSION SET EVENTS ‘immediate trace name file_hdrs level n’;1 控制文件中的文件头信息2 level 1 + 通用文件头信息3 level 2 + 数据完整文件头信息10 level 36).Control fileAlter SESSION SET EVENTS ‘immediate trace name controlf level n’;1 控制文件中的文件头信息2 level 1 + 数据库信息 + 检查点信息3 level 2 + 可重用节信息10 level 37).Redo log HeaderAlter SESSION SET EVENTS ‘immediate trace name redohdr level n’;1 控制文件中的redo log信息2 level 1 + 通用文件头信息3 level 2 + 完整日志文件头信息10 level 38).Redo logAlter SYSTEM DUMP LOGFILE ‘FileName’;Alter SYSTEM DUMP LOGFILE ‘FileName’SCN MIN MinimumSCNSCN MAX MaximumSCNTIME MIN MinimumTimeTIME MAX MaximumTimeLAYER LayerOPCODE OpcodeDBA MIN FileNumber . BlockNumberDBA MAX FileNumber . BlockNumberRBA MIN LogFileSequenceNumber . BlockNumberRBA MAX LogFileSequenceNumber . BlockNumber;其中time = (((((yyyy – 1988)) * 12 + mm – 1) * 31 + dd – 1) * 24 + hh) * 60 + mi) * 60 + ss;详细内容请看:http://blog.csdn.net/yidian815/article/details/125680279).LoghistAlter SESSION SET EVENTS ‘immediate trace name loghist level n’;n=1 dump控制文件中最早和最迟的日志历史项n>1 dump 2^n个日志历史项获取诊断事件号 大部分的诊断事件的数值都是在10000至10999范围内,使用如下的脚本可以查看到所有的诊断事件:[sql]SET SERVEROUTPUT ON DECLARE err_msg VARCHAR2(120); BEGIN dbms_output.enable (1000000); FOR err_num IN 10000..10999 LOOP err_msg := SQLERRM (-err_num); IF err_msg NOT LIKE ‘%Message ‘||err_num||’ not found%’ THEN dbms_output.put_line (err_msg); END IF; END LOOP; END; /上述就是小编为大家分享的怎么理免费主机域名解ORACLE事件跟踪了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注云技术行业资讯频道。

相关推荐: Oracle ASM Rebalance执行过程是怎样的

这篇文章主要讲解了“Oracle ASM Rebalance执行过程是怎样的”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Oracle ASM Rebalance执行过程是怎样的”吧!磁盘组的rebalance…

文章页内容下
赞(0) 打赏
版权声明:本站采用知识共享、学习交流,不允许用于商业用途;文章由发布者自行承担一切责任,与本站无关。
文章页正文下
文章页评论上

云服务器、web空间可免费试用

宝塔面板主机、支持php,mysql等,SSL部署;安全高速企业专供99.999%稳定,另有高防主机、不限制内容等类型,具体可咨询QQ:360163164,Tel同微信:18905205712

主机选购导航云服务器试用

登录

找回密码

注册