Oracle常用dump命令

来源:互联网 发布:linux延时命令 sleep 编辑:程序博客网 时间:2024/06/02 00:58

Oracle常用dump命令

 

 Memory Dumps

1).Global Area

ALTER SESSION SET EVENTS 'immediatetrace name global_area level n';

1 包含PGA      2包含SGA         4包含UGA         8 包含indrect memory

2).Library Cache

ALTER SESSION SET EVENTS 'immediatetrace name library_cache level n';

1 library cache统计信息       2包含hash table histogram

3 包含object handle            4包含object结构(Heap 0

3).Row Cache

ALTER SESSION SET EVENTS 'immediatetrace name row_cache level n';

1 row cache统计信息      2包含hash table histogram         8包含object结构

4).Buffers

ALTER SESSION SET EVENTS 'immediatetrace name buffers level n';

1 buffer header                      2level 1 + block header

3 level 2 + block contents        4level 1 + hash chain

5 level 2 + hash chain             6level 3 + hash chain

8 level 4 + users/waiters          9 level 5 + users/waiters

10 level 6 + users/waiters

5).Buffer

ALTER SESSION SET EVENTS 'immediatetrace name buffer level n';

n为某个指定blockrdba,该命令可以转储某个blockbuffer中的所有版本。

6).Heap

ALTER SESSION SET EVENTS 'immediatetrace name heapdump level level';

1 PGA摘要                         2SGA摘要                            4 UGA摘要

8 Current call(CGA)摘要       16User call(CGA)摘要        32Large call(LGA)摘要

1025 PGA内容                    2050SGA内容                  4100 UGA内容

8200 Current call内容          16400User call内容          32800Large call内容

7).Sub Heap

Oracle 9.0.1版本之前

ALTER SESSION SET EVENTS 'immediatetrace name heapdump_addr level n';

nsubheap的地址,转储的是subheap的摘要信息

nsubheap的地址+1,转储的则是subheap的内容

Oracle 9.2.0版本之后

ALTER SESSION SET EVENTS 'immediatetrace name heapdump_addr level n, addr m';

其中msubheap的地址,n1转储subheap的摘要,n2转储subheap的内容

8).Process State

ALTER SESSION SET EVENTS 'immediatetrace name processstate level n';

9).System State

ALTER SESSION SET EVENTS 'immediatetrace name systemstate level n';

10).Error State

ALTER SESSION SET EVENTS 'immediatetrace name errorstack level n';

0 Error stack                     1level 0 + function call stack

2 level 1 + process state     3level 2 + context area

11).Hang Analysis

ALTER SESSION SET EVENTS 'immediatetrace name hanganalyze level n';

12).Work Area

ALTER SESSION SET EVENTS 'immediatetrace name workareatab_dump level n';

1 SGA信息      2Workarea Table摘要信息       3Workarea Table详细信息

13).Latches

ALTER SESSION SET EVENTS 'immediatetrace name latches level n';

1 latch信息     2统计信息

14).Events

ALTER SESSION SET EVENTS 'immediatetrace name events level n';

1 session        2process      3 system

15).Locks

ALTER SESSION SET EVENTS 'immediatetrace name locks level n';

16).Shared Server Process

ALTER SESSION SET EVENTS 'immediatetrace name shared_server_state level n';

n取值为1~14

17).Background Messages

ALTER SESSION SET EVENTS 'immediatetrace name bg_messages level (pid+1)';

 

 

 

FileDumps

1).Block

ALTER SYSTEM DUMP DATAFILE file#BLOCK block#;

ALTER SYSTEM DUMP DATAFILE file# BLOCKMIN min# BLOCK MAX max#;

2).Tree Dump

ALTER SESSION SET EVENTS 'immediatetrace name treedump level object_id';

3).Undo Segment Header

ALTER SYSTEM DUMP UNDO_HEADER'segment_name';

4).Undo for a Transaction

ALTER SYSTEM DUMP UNDO BLOCK'segment_name' XID xidusnxidslotxidsqn;

5).File Header

ALTER SESSION SET EVENTS 'immediatetrace name file_hdrs level n';

1 控制文件中的文件头信息       2level 1 +文件头信息

3 level 2 + 数据文件头信息         10level 3

6).Control file

ALTER SESSION SET EVENTS 'immediatetrace name controlf level n';

1 文件头信息                       2level 1 +数据库信息 + 检查点信息

3 level 2 + 可重用节信息  10level 3

7).Redo log Header

ALTER SESSION SET EVENTS 'immediatetrace name redohdr level n';

1 控制文件中的redo log信息       2 level 1 +文件头信息

3 level 2 + 日志文件头信息             10level 3

8).Redo log

ALTER SYSTEM DUMP LOGFILE'FileName';

ALTER SYSTEM DUMP LOGFILE 'FileName'

SCN MIN MinSCNSCN MAX MaxSCNTIME MINMinTimeTIME MAX MaxTime

LAYER LayerOPCODE Opcode

DBA MIN File#.Block# DBA MAX File#.Block#

RBA MIN LogFileSequence#.Block# RBA MAXLogFileSequence#.Block#;

其中time = ((((yyyy - 1988) * 12 + mm -1) * 31 + dd - 1) * 24 + hh) * 60 + mi) * 60 + ss;

9).Loghist

ALTER SESSION SET EVENTS 'immediatetrace name loghist level n';

1 dump控制文件中最早和最迟的日志历史项         >1dump 2^n个日志历史项

Oracle跟踪文件分为三种类型,一种是后台报警日志文件,记录数据库在启动、关闭和运行期间后

台进程的活动情况,如表空间创建、回滚段创建、某些alter命令、日志切换、错误消息等。在数据库出现故障时,应首先查看该文件,但文件中的信息与任何错误状态没有必然的联系。后台报警日志

文件保存BACKGROUND_DUMP_DEST参数指定的目录中,文件格式为SIDALRT.LOG。另一种类型是DBWRLGWRSMON等后台进程创建的后台跟踪文件。后台跟踪文件根据后台进程运行情况产生,后台跟踪文件也保存在BACKGROUND_DUMP_DEST参数指定的目录中,文件格式为siddbwr.trcsidsmon.trc等。还有一种类型是由连接到Oracle的用户进程(Server Processes)生成的用户跟踪文件。这些文件仅在用户会话期间遇到错误时产生。此外,用户可以通过执行oracle跟踪事件(见后面)来生成该类文件,用户跟踪文件保存在USER_DUMP_DEST参数指定的目录中,文件格式为oraxxxxx.trcxxxxx为创建文件的进程号(或线程号)。

Oracle跟踪事件

Oracle提供了一类命令,可以将Oracle各类内部结构中所包含的信息转储(dump)到跟踪文件中,以便用户能根据文件内容来解决各种故障。设置跟踪事件有两种方法,一种是在init.ora文件中设置事件,这样open数据库后,将影响到所有的会话。设置格式如下:

EVENT="eventnumber trace name eventname[forever,] [level lv#] : ......."

通过:符号,可以连续设置多个事件,也可以通过连续使用event来设置多个事件。

另一种方法是在会话过程中使用altersession set events命令,只对当前会话有影响。设置格式如下:

alter session set events '[event# |immediate]trace name eventname [forever] [, level levelnumber] : .......'

通过:符号,可以连续设置多个事件,也可以通过连续使用altersession set events来设置多个事件。

格式说明:

event#           指触发dump的事件号,事件号可以是Oracle错误号(出现相应错误时跟踪指定的事件)或oralce内部事件号,内部事件号在1000010999之间,不能与immediate关键字同用。

immediate      关键字表示命令发出后,立即将指定的结构dump到跟踪文件中,这个关键字只用在altersession语句中,并且不能与eventnumberforever关键字同用。

trace name   是关键字。

eventname        指事件名称(见后面),即要进行dump的实际结构名。若eventnamecontext,则指根据内部事件号进行跟踪。

forever         关键字表示事件在实例或会话的周期内保持有效状态,不能与immediate同用。

level            为事件级别关键字。但在dump错误栈(errorstack)时不存在级别。

levelnumber       表示事件级别号,一般从1101表示只dump结构头部信息,10表示dump结构的所有信息。

blockdump事件dump数据文件、索引文件、回滚段文件结构

alter session set events 'immediate trace name blockdumplevel 66666'; --表示dump块地址为6666的数据块。

Oracle 8以后该命令已改为:

alter system dump datafile 11 block 9; --表示dump数据文件号为11中的第9个数据块。

controlf事件dump控制文件结构

alter session set events 'immediate trace name controlf level10'; --表示dump控制文件的所有内容。

redohdr事件dump redo日志的头部信息

alter session set events 'immediate trace name redohdr level1'; --表示dump redo日志头部的控制文件项。

alter session set events 'immediate trace name redohdr level2'; --表示dump redo日志的通用文件头。

alter session set events 'immediate trace name redohdr level10'; --表示dump redo日志的完整文件头。

注意:redo日志的内容dump可以采用下面的语句:

alter system dump logfile 'logfilename';

loghist事件dump控制文件中的日志历史项

alter session set events 'immediate trace name loghist level1'; --表示只dump最早和最迟的日志历史项。

levelnumber大于等于2时,表示2levelnumber次方个日志历史项。

alter session set events 'immediate trace name loghist level4'; --表示dump 16个日志历史项。

file_hdrs事件dump所有数据文件的头部信息

alter session set events 'immediate trace name file_hdrslevel 1'; --表示dump所有数据文件头部的控制文件项。

alter session set events 'immediate trace name file_hdrslevel 2'; --表示dump所有数据文件的通用文件头。

alter session set events 'immediate trace name file_hdrslevel 10'; --表示dump所有数据文件的完整文件头。

errorstack事件:dump错误栈信息

通常Oracle发生错误时前台进程将得到一条错误信息,但某些情况下得不到错误信息,可以采用这种方式得到Oracle错误。

alter session set events '604 trace name errorstack forever';--表示当出现604错误时,dump错误栈和进程栈。

systemstate事件dump所有系统状态和进程状态

alter session set events 'immediate trace name systemstatelevel 10'; --表示dump所有系统状态和进程状态。

coalesec事件dump指定表空间中的自由区间

levelnumber以十六进制表示时,两个高位字节表示自由区间数目,两个低位字节表示表空间号,如0x00050000表示dump系统表空间中的5个自由区间,转换成十进制就是327680,即:

alter session set events 'immediate trace name coalesec level327680';

processsate事件dump进程状态

alter session set events 'immediate trace name processsatelevel 10';

library_cache事件dump library cache信息

alter session set events 'immediate trace name library_cachelevel 10';

heapdump事件dump PGASGAUGA中的信息

alter session set events 'immediate trace name heapdump level1';

row_cache事件dump数据字典缓冲区中的信息

alter session set events 'immediate trace name row_cachelevel 1';

 

内部事件号

110013:用于监视事务恢复               

210015:转储UNDO SEGMENT头部

310029:用于给出会话期间的登陆信息  

410030:用于给出会话期间的注销信息

510032:转储排序的统计信息                 

610033:转储排序增长的统计信息

710045:跟踪Freelist管理操作          

810046:跟踪SQL语句

910053:转储优化策略                     

1010059:模拟redo日志中的创建和清除错误

1110061:阻止SMON在启动时清除临时段     

1210079:转储 SQL*NET统计信息

1310081:转储高水标记变化              

1410104:转储Hash连接统计信息

1510128:转储分区休整信息              

1610200:转储一致性读信息

1710201:转储一致性读中Undo应用   

1810209:允许在控制文件中模拟错误

1910210:触发数据块检查事件           

2010211:触发索引检查事件

2110213:模拟在写控制文件后崩溃

2210214:模拟在控制文件中的写错误,lv#1-9表示产生错误的块号,否则则每个控制文件将出错

2310215:模拟在控制文件中的读错误        

2410220:转储Undo头部变化

2510221;转储Undo变化                

2610224:转储索引的分隔与删除

2710225:转储基于字典管理的区间的变化       

2810229:模拟在数据文件上的I/O错误

2910231:设置在全表扫描时忽略损坏的数据块

alter session set events '10231 trace name context off';

event = "10231 trace name context forever, level10";

3010232:将设置为软损坏(DBMS_REPAIR包设置或DB_BLOCK_CHECKINGTRUE时设置)

数据块dump到跟踪文件

3110235:用于内存堆检查

alter session set events '10235 trace name context forever,level 1';

3210241:转储远程SQL执行            

3310246:跟踪PMON进程

3410248:跟踪dispatch进程            

3510249:跟踪MTS进程

3610252:模拟写数据文件头部错误      

3710253:模拟写redo日志文件错误

3810262:允许连接时存在内存泄漏

alter session set events '10262 trace name context forever,level 300';

3910270:转储共享游标                   

4010285:模拟控制文件头部损坏

4110286:模拟控制文件打开错误             

4210287:模拟归档出错

4310357:调试直接路径机制              

4410500:跟踪SMON进程

4510608:跟踪位图索引的创建           

4610704:跟踪enqueues

4710706:跟踪全局enqueues           

4810708:跟踪RACbuffer cache

4910710:跟踪对位图索引的访问             

5010711:跟踪位图索引合并操作

5110712:跟踪位图索引OR操作             

5210713:跟踪位图索引AND操作

5310714:跟踪位图索引MINUS操作   

5410715:跟踪位图索引向ROWID的转化

5510716:跟踪位图索引的压缩与解压        

5610719:跟踪位图索引的修改

5710731:跟踪游标声明                   

5810928:跟踪PL/SQL执行

5910938:转储PL/SQL执行统计信息

最后要说明的是,由于版本不同以上语法可能有些变化,但大多数还是可用的。

附完整的跟踪事件列表,event No.10000to 10999

SET SERVEROUTPUT ON

DECLARE

err_msgVARCHAR2(120);

BEGIN

dbms_output.enable(1000000);

FORerr_num IN 10000..10999

LOOP

err_msg:= SQLERRM (-err_num);

IFerr_msg NOT LIKE '%Message '||err_num||' not found%' THEN

dbms_output.put_line(err_msg);

ENDIF;

ENDLOOP;

END;

/

 

 Event分类

诊断事件大体上可以分为四类:

转储类事件:它们主要用于转储Oracle的一些结构,例如转储一下控制文件、数据文件头等内容。

捕捉类事件:它们用于捕捉一些Error事件的发生,例如捕捉一下ORA-04031发生时一些Rdbms信息,以判断是Bug还是其它原因引起的这方面的问题。

改变执行途径类事件:它们用于改主一些Oracle内部代码的执行途径,例如设置10269将会使Smon进程不去合并那些Free的空间。

跟踪类事件:这们用于获取一些跟踪信息以用于Sql调优等方面,最典型的便是10046了,将会对Sql进行跟踪。

4、其它说明:

a.如果immediate放在第一个说明是无条件事件,即命令发出即转储到跟踪文件。

b trace name位于第二、三项,除它们外的其它限定词是供Oracle内部开发组用的。

c level通常位于1-10之间(10046有时用到12)10意味着转储事件所有的信息。例如当转储控制文件时,level1表示转储控制文件头,而level 10表明转储控制文件全部内容。

d.转储所生成的trace文件在user_dump_dest初始化参数指定的位置。

3、使用DBMS_SYSTEM.SET_EV的方法

a.过和定义如下

DBMS_SYSTEM.SET_EV( SIBinary_integer,SEBinary_integer,

EV Binary_integer,LEBinary_integer,

NM Binary_integer);

SI   :    v$session中的sid          

SE   :    v$session中的serial#

EV   :    要设置的事件      

LE   :    要设置事件的级别      

NM  :    名称

SQL> EXECUTESYS.DBMS_SYSTEM.SET_EV(sid,serial#,10046,12,'')

注意不要用oradug去跟踪oraclesmon,pmon等几个进程,操作不当可能会杀掉这几个后台进引起宕库。

1、我如何知道在系统中设置了哪些event?

回答:a.如果你的事件是在init.ora中设置的可以用show parameter event;来查看

b Michael R.Ault给的SQL

setserveroutput on size1000000

declareevent_levelnumber;

begin

fori in 10000..10999loop

sys.dbms_system.read_ev(i,event_level);

if (event_level> 0)then

dbms_output.put_line('Event'||to_char(i)||' set at level '||

to_char(event_level));

end if;

end loop;

end;

/

 

Appendix.

 

Event 10719 - Trace Bitmap Index DML

跟踪位图索引列的DML操作(引起位图索引改变的DML操作)

ALTER SESSION SET EVENTS '10719 trace name context forever,level 1';

Event 10730 - Trace Fine Grained Access Predicates

跟踪细粒度审计的断语

ALTER SESSION SET EVENTS '10730 trace name context forever,level 1';

Event 10731 - Trace CURSOR Statements

跟踪CURSOR的语句情况

ALTER SESSION SET EVENTS '10731 trace name context forever,level level';

LEVEL定义

1:Print parent query and subquery

2:Printsubquery only

Event 10928 - Trace PL/SQL Execution

跟踪PL/SQL执行情况

ALTER SESSION SET EVENTS '10928 trace name context forever,level 1';

Event 10938 - Dump PL/SQL Execution Statistics

跟踪PL/SQL执行状态,使用前需要执行rdbms/admin下的tracetab.sql

ALTER SESSION SET EVENTS '10938 trace name context forever,level 1';

flush_cache

刷新BUFFER CACHE

ALTER SESSION SET EVENTS 'immediate trace name flush_cache';

DROP_SEGMENTS

手工删除临时段。当这些临时段无法自动清除的时候可以手工清除

alter session set events 'immediate trace name DROP_SEGMENTSlevel ts#+1';

ts#是指要删除临时段的表空间的ts#

Event 10608 - Trace Bitmap Index Creation

跟踪BITMAP索引创建的详细过程

ALTER SESSION SET EVENTS '10608 trace name context forever,level 10';

Event 10704 - Trace Enqueues

跟踪锁的使用情况

ALTER SESSION SET EVENTS '10704 trace name context forever,level 1';

Event 10706 - Trace Global Enqueue Manipulation

跟踪全局锁的使用情况

ALTER SESSION SET EVENTS '10706 trace name context forever,level 1';

Event 10708 - Trace RAC Buffer Cache

跟踪RAC环境下的BUFFER CACHE

ALTER SESSION SET EVENTS '10708 trace name context forever,level 10';

Event 10710 - Trace Bitmap Index Access

跟踪位图索引的访问情况

ALTER SESSION SET EVENTS '10710 trace name context forever,level 1';

Event 10711 - Trace Bitmap Index Merge Operation

跟踪位图索引合并操作

ALTER SESSION SET EVENTS '10711 trace name context forever,level 1';

Event 10712 - Trace Bitmap Index OR Operation

跟踪位图索引或操作情况

ALTER SESSION SET EVENTS '10712 trace name context forever,level 1';

Event 10713 - Trace Bitmap Index AND Operation

跟踪位图索引与操作

ALTER SESSION SET EVENTS '10713 trace name context forever,level 1';

Event 10714 - Trace Bitmap Index MINUS Operation

跟踪位图索引minus操作

ALTER SESSION SET EVENTS '10714 trace name context forever,level 1';

Event 10715 - Trace Bitmap Index Conversion to ROWIDsOperation

跟踪位图索引转换ROWID操作

ALTER SESSION SET EVENTS '10715 trace name context forever,level 1';

Event 10716 - Trace Bitmap Index Compress/Decompress

跟踪位图索引压缩和解压缩情况

ALTER SESSION SET EVENTS '10716 trace name context forever,level 1';

Event 10717 - Trace Bitmap Index Compaction

ALTER SESSION SET EVENTS '10717 trace name context forever,level 1';

Event 10225 - Dump Changes to Dictionary Managed Extents

DUMP字段管理的扩展变化

ALTER SESSION SET EVENTS '10225 trace name context forever,level 1';

Event 10231

全表扫描时跳过坏块,在有坏块的情况下做数据拯救时很有用

ALTER SYSTEM SET EVENTS '10231 trace name contextforever,level 10';

Event 10241 - Dump Remote SQL Execution  远程SQL语句的执行信息

ALTER SESSION SET EVENTS '10241 trace name context forever,level 1';

Event 10246 - Trace PMON Process

跟踪PMON进程

只能修改参数,不能用ALTER SYSTEMset events "10246 trace name context forever, level 1";

Event 10248 - Trace Dispatcher Processes

跟踪DISPATCHER的工作情况

ALTER SYSTEM set events "10248 trace name contextforever, level 10";

Event 10249 - Trace Shared Server (MTS) Processes

跟踪共享服务器的工作情况

alter system set event "10249 trace name context forever,level 10";

Event 10270 - Debug Shared Cursors

跟踪共享CURSORS的情况

alter system set events "10270 trace name contextforever, level 10";

Event 10299 - Debug Prefetching   跟踪表数据块和索引数据块的PREFETCHING

alter system set events "10299 trace name contextforever, level 1"

Event 10357 - Debug Direct Path

ALTER SESSION SET EVENTS '10357 trace name context forever,level 1';

Event 10390 - Dump Parallel Execution Slave Statistics

跟踪并行操作中的SLAVE的状态

ALTER SESSION SET EVENTS '10390 trace name context forever,level 1;

Event 10391-Dump Parallel Execution Granule Allocation

跟踪并行操作的粒度

ALTER SESSION SET EVENTS '10391 trace name context forever,level 2';

Event 10393 - Dump Parallel Execution Statistics

跟踪并行操作的状态(每个SLAVE单独列出状态)

ALTER SESSION SET EVENTS '10393 trace name context forever,level 1';

Event 10500 - Trace SMON Process

跟踪SMON进程

event = "10500 trace name context forever, level 1"

Event 10065 - Restrict Library Cache Dump Output for StateObject Dumps

限制对象状态DUMP的时候LIBRARY CACHE信息的详细程度

ALTER SESSION SET EVENTS '10065 trace name context forever,level level';

LEVEL

1 Address of library object only

2 As level 1 plus library object lock details

3 As level 2 plus library object handle and library object

缺省是LEVEL 3

Event 10079 - Dump SQL*Net Statistics

Dump SQL*NeT的统计信息

ALTER SESSION SET EVENTS '10079 trace name context forever,level 2';

Event 10081 - Trace High Water Mark Changes

HWM的改变

ALTER SESSION SET EVENTS '10081 trace name context forever,level 1';

Event 10104 - Dump Hash Join Statistics

HASH JOIN的统计信息

ALTER SESSION SET EVENTS '10104 trace name context forever,level 10';

Event 10128 - Dump Partition Pruning Information

分区表调整信息

ALTER SESSION SET EVENTS '10128 trace name context forever,level level';

Level取值:

1:Dump pruning descriptor for each partitioned object

2:Dump partition iterators

4:Dump optimizer decisions about partition-wise joins

8:Dump ROWID range scan pruning information

9.0.1或者后面的版本,level 2后还需要建立如下的表:

CREATE TABLE kkpap_pruning(partition_count NUMBER, iteratorVARCHAR2(32),

partition_levelVARCHAR2(32),

order_ptVARCHAR2(12), call_time VARCHAR2(12),

part# NUMBER, subp# NUMBER, abs# NUMBER);

Event 10200 - Dump Consistent Reads

DUMP一致读的信息

ALTER SESSION SET EVENTS '10200 trace name context forever, level1';

Event 10201 - Dump Consistent Read Undo Application

DUMP一致性读涉及UNDO信息的内容

ALTER SESSION SET EVENTS '10201 trace name context forever,level 1';

Event 10220 - Dump Changes to Undo Header

DumpUndo头信息的改变

ALTER SESSION SET EVENTS '10220 trace name context forever,level 1';

Event 10221 - Dump Undo Changes

Dump Undo的改变

ALTER SESSION SET EVENTS '10221 trace name context forever,level 7';

Event 10224 - Dump Index Block Splits / Deletes

索引块的分裂和删除信息

ALTER SESSION SET EVENTS '10224 trace name context forever,level 1';

Event 10013 - Monitor Transaction Recovery

Startup时跟踪事务恢复

ALTER SESSION SET EVENTS '10013 trace name context forever,level 1';

Event 10015 - Dump Undo Segment Headers

在事务恢复后做Dump回退段头信息

ALTER SESSION SET EVENTS '10015 trace name context forever,level 1';

Event 10032 - Dump Sort Statistics

Dump排序的统计信息

ALTER SESSION SET EVENTS '10032 trace name context forever,level 10';

Event 10033 - Dump Sort Intermediate Run Statistics

排序过程中,内存排序区和临时表空间的交互情况

ALTER SESSION SET EVENTS '10033 trace name context forever,level 10';

Event 10045 - Trace Free List Management Operations

FREELIST的管理操作

ALTER SESSION SET EVENTS '10045 trace name context forever,level 1';

Event 10046 - Enable SQL Statement Trace

跟踪SQL,有执行计划,邦定变量和等待的统计信息,level12最详细

ALTER SESSION SET EVENTS '10046 trace name context forever,level 12';

LEVEL定义如下:

1:SQL 语句,执行计划和执行状态

4:1的内容加上绑定变量信息

8:1的信息加上等待事件信息

12:148

Event 10053 - Dump Optimizer Decisions

在分析SQL语句时,Dump出优化器所做的选择,级别level 1最详细

ALTER SESSION SET EVENTS '10053 trace name context forever,level 1';

LEVEL定义如下:

1:状态和估算信息

2:只显示估算信息

Event 10060 - Dump Predicates

DUMP SQL语句中的断语信息,需要在需要DUMP的用户下创建以下表

ALTER SESSION SET EVENTS '10060 trace name context forever,level 1';

CREATE TABLE kkoipt_table(c1 INTEGER, c2 VARCHAR2(80));

断语信息会写入该表

 

test

 

 

CHIEFTA-SQL>select header_file, header_block fromdba_segments where segment_name='TTB';

 

 

HEADER_FILE HEADER_BLOCK

----------- ------------

          4        15059

 

CHIEFTA-SQL>alter system dump datafile 4 block 15059;

 

System altered.

 

 

oracle@linux-znf9:/opt/u01/admin/DBNODE1/udump> catdbnode1_ora_7800.trc

/opt/u01/admin/DBNODE1/udump/dbnode1_ora_7800.trc

Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 -64bit Production

With the Partitioning, OLAP, Data Mining and Real ApplicationTesting options

ORACLE_HOME = /opt/oracle/product/10.2.0.4/db_1

System name:    Linux

Node name:     linux-znf9

Release:       2.6.16.60-0.54.5-smp

Version:        #1 SMPFri Sep 4 01:28:03 UTC 2009

Machine:        x86_64

Instance name: DBNODE1

Redo thread mounted by this instance: 1

Oracle process number: 30

Unix process pid: 7800, image: oracle@linux-znf9 (TNS V1-V3)

 

*** 2011-12-19 14:44:44.401

*** ACTION NAME:() 2011-12-19 14:44:44.401

*** MODULE NAME:(sqlplus@linux-znf9 (TNS V1-V3)) 2011-12-1914:44:44.401

*** SERVICE NAME:(SYS$USERS) 2011-12-19 14:44:44.401

*** SESSION ID:(66.20414) 2011-12-19 14:44:44.401

Start dump data blocks tsn: 4 file#: 4 minblk 15059 maxblk15059

buffertsn: 4 rdba: 0x01003ad3 (4/15059)

scn: 0x0000.18258a81 seq: 0x01 flg: 0x00 tail: 0x8a812301

frmt: 0x02 chkval: 0x0000 type: 0x23=PAGETABLE SEGMENT HEADER

Hex dump of block: st=0, typ_found=1

Dump of memory from 0x00000000066FD000 to 0x00000000066FF000

0066FD000 0000A223 01003AD3 18258A81 00010000  [#....:....%.....]

0066FD010 00000000 00000000 00000000 00000000  [................]

0066FD020 00000000 00000001 00000008 00000A9C  [................]

0066FD030 00000000 00000004 00000008 01003AD5  [.............:..]

0066FD040 00000000 00000000 00000000 00000004  [................]

0066FD050 00000000 00000000 00000000 00000000  [................]

0066FD060 00000004 00000008 01003AD5 00000000  [.........:......]

0066FD070 00000000 00000000 00000004 01003AD1  [.............:..]

0066FD080 01003AD1 00000000 00000000 00000000  [.:..............]

0066FD090 00000000 00000000 00000000 00000000  [................]

        Repeat 3 times

0066FD0D0 00000001 00002000 00000000 00001434  [..... ......4...]

0066FD0E0 00000000 01003AD2 00000001 01003AD1  [.....:.......:..]

0066FD0F0 01003AD2 00000000 00000000 00000000  [.:..............]

0066FD100 00000000 00000000 00000001 00000000  [................]

0066FD110 000071C3 10000000 01003AD1 00000008  [.q.......:......]

0066FD120 00000000 00000000 00000000 00000000  [................]

        Repeat 152times

0066FDAB0 01003AD1 01003AD4 00000000 00000000  [.:...:..........]

0066FDAC0 00000000 00000000 00000000 00000000  [................]

        Repeat 151times

0066FE440 00000000 00000000 01003AD2 00000000  [.........:......]

0066FE450 00000000 00000000 00000000 00000000  [................]

        Repeat 185times

0066FEFF0 00000000 00000000 00000000 8A812301  [.............#..]

  Extent Control Header

 -----------------------------------------------------------------

  Extent Header::spare1: 0      spare2: 0      #extents: 1      #blocks: 8    

last map 0x00000000  #maps: 0      offset: 2716 

Highwater:: 0x01003ad5ext#: 0      blk#:4      ext size: 8    

  #blocks in seg.hdr'sfreelists: 0    

  #blocks below: 4    

mapblk  0x00000000  offset: 0    

                  Unlocked

 --------------------------------------------------------

  Low HighWaterMark :

Highwater:: 0x01003ad5ext#: 0      blk#:4      ext size: 8    

  #blocks in seg.hdr'sfreelists: 0    

  #blocks below: 4    

mapblk  0x00000000  offset: 0    

  Level 1 BMB for HighHWM block: 0x01003ad1

  Level 1 BMB for LowHWM block: 0x01003ad1

 --------------------------------------------------------

  Segment Type: 1 nl2:1      blksz: 8192   fbsz: 0     

  L2 Array startoffset:  0x00001434

  First Level 3BMB:  0x00000000

  L2 Hint forinserts:  0x01003ad2

  Last Level 1BMB:  0x01003ad1

  Last Level IIBMB:  0x01003ad2

  Last Level IIIBMB:  0x00000000

     Map Header::next  0x00000000  #extents: 1   obj#: 29123  flag: 0x10000000

Inc # 0

  Extent Map

 -----------------------------------------------------------------

0x01003ad1  length:8    

 

Auxillary Map

 --------------------------------------------------------

   Extent 0     : L1 dba:  0x01003ad1 Data dba:  0x01003ad4

  --------------------------------------------------------

 

   Second Level Bitmapblock DBAs

  --------------------------------------------------------

   DBA 1:   0x01003ad2

 

End dump data blocks tsn: 4 file#: 4 minblk 15059 maxblk15059

 

CHIEFTA-SQL>alter session set events 'immediate trace nameredohdr level 10';

 

Session altered.

 

 

CHIEFTA-SQL>update test01.ttb set AMT_BAL=1234567 whereDATE_ACCT='20110703';

 

1 row updated.

 

CHIEFTA-SQL>commit;

 

Commit complete.

 

 

 

0 0
原创粉丝点击