Decode360's Blog

业精于勤而荒于嬉 QQ:150355677 MSN:decode360@hotmail.com

  BlogJava :: 首页 :: 新随笔 :: 联系 ::  :: 管理 ::
  397 随笔 :: 33 文章 :: 29 评论 :: 0 Trackbacks
如何查看执行计划
 
 
    执行计划是SQL调优的最基本方法,查看执行计划的方法很多,不过我经常偷懒直接用PLSQL DEV来F5一下就完事了,这样下去很多能力都要退化了,下面看一下有哪些办法直接查看执行计划。数了一下,简单列出的就有5种之多。
 
1、直接使用sqlplus系统参数:
 
    SQL> set autotrace on explain
    SQL> select * from dual;
    D
    -
    X

    Execution Plan
    ----------------------------------------------------------
    Plan hash value: 272002086
    --------------------------------------------------------------------------
    | Id  | Operation         | Name | Rows  | Bytes | Cost (%CPU)| Time     |
    --------------------------------------------------------------------------
    |   0 | SELECT STATEMENT  |      |     1 |     2 |     2   (0)| 00:00:01 |
    |   1 |  TABLE ACCESS FULL| DUAL |     1 |     2 |     2   (0)| 00:00:01 |
    --------------------------------------------------------------------------
    SQL> set autotrace off
 
    但是这样操作的结果是先执行SQL,再出执行计划,如果SQL耗时巨大,则不现实;
 
 
2、使用explain plan for语句:
 
    SQL> explain plan for select * from dual;
    Explained.
    SQL> select * from table(DBMS_XPLAN.display);
    Execution Plan
    ----------------------------------------------------------
    Plan hash value: 2137789089
    ---------------------------------------------------------------------------------------------
    | Id  | Operation                         | Name    | Rows  | Bytes | Cost (%CPU)| Time     |
    ---------------------------------------------------------------------------------------------
    |   0 | SELECT STATEMENT                  |         |  8168 | 16336 |    21   (0)| 00:00:01 |
    |   1 |  COLLECTION ITERATOR PICKLER FETCH| DISPLAY |       |       |
    |     |
    ---------------------------------------------------------------------------------------------
 
    这样就可以在执行SQL之前查看执行计划了
 
 
3、启用SQL_TRACE跟踪所有后台进程活动:
 
    全局参数设置:
    ..OracleHome/admin/SID/pfile中指定: SQL_TRACE = true (10g)
 
    当前session中设置:
    SQL> alter session set SQL_TRACE=true;
    SQL> select * from dual;
    SQL> alter session set SQL_TRACE=false;
 
    对其他用户进行跟踪设置:
    SQL> select sid,serial#,username from v$session where username='XXX';
       SID    SERIAL# USERNAME
    ------ ---------- ------------------
       127      31923 A
       128      54521 B
       129      48940 B
    SQL> exec dbms_system.set_SQL_TRACE_in_session(127,31923,true);
    SQL> select * from dual;
    SQL> exec dbms_system.set_SQL_TRACE_in_session(127,31923,false);
 
    然后使用oracle自带的tkprof命令行工具格式化跟踪文件。
 
 
4、使用10046事件进行查询:
 
    10046事件级别:
    Lv1  - 启用标准的SQL_TRACE功能,等价于SQL_TRACE
    Lv4  - Level 1 + 绑定值(bind values)
    Lv8  - Level 1 + 等待事件跟踪
    Lv12 - Level 1 + Level 4 + Level 8
 
    全局设定:
    ..OracleHome/admin/SID/pfile中指定: EVENT="10046 trace name context forever,level 12"
 
    当前session设定:
    SQL> alter session set events '10046 trace name context forever, level 8';
    SQL> select * from dual;
    SQL> alter session set events '10046 trace name context off';
 
    对其他用户进行设置:
    SQL> select sid,serial#,username from v$session where username='XXX';
       SID    SERIAL# USERNAME
    ------ ---------- ------------------
       127      31923 A
       128      54521 B
       129      48940 B    
    SQL> exec dbms_system.set_ev(127,31923,10046,8,'A');
    SQL> select * from dual;
    SQL> exec dbms_system.set_ev(127,31923,10046,0,'A');
 
 
 
5、使用tkprof格式化跟踪文件:
 
    使用一下SQL找到当前session的跟踪文件:
 

    ---- 当前 session

    SELECT d.value|| '/' ||lower(rtrim(i.instance, chr( 0 )))|| '_ora_' ||p.spid|| '.trc' trace_file_name

    from

    ( select p.spid from v$mystat m,v$session s, v$process p

          where m.statistic# = 1 and s.sid = m.sid and p.addr = s.paddr) p,

    ( select t.instance from v$thread t,v$parameter v

          where v.name = 'thread' and (v.value = 0 or t.thread# = to_number(v.value))) i,

    ( select value from v$parameter where name = 'user_dump_dest' ) d;

     

    ---- 其他用户 session

    SELECT d.value|| '/' ||lower(rtrim(i.instance, chr( 0 )))|| '_ora_' ||p.spid|| '.trc' trace_file_name

    from

    ( select p.spid from v$session s, v$process p

          where s.sid= '127' and s. SERIAL#= '31923' and p.addr = s.paddr) p,

    ( select t.instance from v$thread t,v$parameter v

          where v.name = 'thread' and (v.value = 0 or t.thread# = to_number(v.value))) i,

    ( select value from v$parameter where name = 'user_dump_dest' ) d;

 
    查找后使用tkprof命令:
    SQL> $tkprof D:\......\SID_ora_5352.trc D:\......\SID_ora_5352.txt
 
 
 
9i中默认安装 无法使用 autotrace,需要手动安装:

SQL>start $ORACLE_HOME/rdbms/admin/utlxplan.sql;

SQL>create public synonym plan_table for plan_table;

SQL>grant ALL on plan_table to public;

 
 
 
 
 
附:ORACLE诊断事件
*********************************************************************************
 
Oracle为RDBMS提供了多种的诊断工具,诊断事件(Event)是其中一种常用、好用的方法,它使DBA可以方便的转储数据库各种结构及跟踪特定事件的发生.
一、Event的通常格式及分类

1、  通常格式如下:
EVENT="<事件名称><动作><跟踪项目><范围限定>"

2、  Event分类
诊断事件大体上可以分为四类:
a.  转储类事件:它们主要用于转储Oracle的一些结构,例如转储一下控制文件、数据文件头等内容。
b.  捕捉类事件:它们用于捕捉一些Error事件的发生,例如捕捉一下ORA-04031发生时一些Rdbms信息,以判断是Bug还是其它原因引起的这方面的问题。
c.  改变执行途径类事件:它们用于改主一些Oracle内部代码的执行途径,例如设置10269将会使Smon进程不去合并那些Free的空间。
d.  跟踪类事件:这们用于获取一些跟踪信息以用于Sql调优等方面,最典型的便是10046了,将会对Sql进行跟踪。
3、 说明:
a. 如果immediate放在第一个说明是无条件事件,即命令发出即转储到跟踪文件。
b. trace name位于第二、三项,除它们外的其它限定词是供Oracle内部开发组用的。
c.  level通常位于1-10之间(10046有时用到12),10意味着转储事件所有的信息。例如当转储控制文件时,level1表示转储控制文件头,而level 10表明转储控制文件全部内容。
d. 转储所生成的trace文件在user_dump_dest初始化参数指定的位置。
二、说一说设置的问题了

可以在init.ora中设置所需的事件,这将对所有会话期打开的会话进行跟踪,也可以用alter session set event 等方法设置事件跟踪,这将打开正在进行会话的事件跟踪。

1、 在init.ora中设置跟踪事件的方法
a. 语法
EVENT=”event 语法|,level n|:event 语法|,level n|…”
b. 举例
event=”10231 trace name context forever,level 10’
c.  可以这样设置多个事件:
EVENT="\
10231 trace name context forever, level 10:\
10232 trace name context forever, level 10"

2、 通过Alter session/system set events这种方法
举个例子大家就明白了
Example:
  Alter session set events ‘immediate trace name controlf level 10’;
  Alter session set events ‘immediate trace name blockdump level 112511416’; (*)
在oracle8x及之上的版本也有这样的语句:
  Alter system dump datafile 13 block 15;实现的功能与(*)是类似的。

3、 使用DBMS_SYSTEM.SET_EV的方法
a. 过和定义如下
DBMS_SYSTEM.SET_EV(
SI Binary_integer,
SE Binary_integer,
EV Binary_integer,
LE Binary_integer,
NM Binary_integer);

SI: 即v$session中的sid
SE:即v$session中的serial#
EV:要设置的事件
LE:要设置事件的级别
NM:名称
b. 举个例子,以10046为例
SQL> EXECUTE SYS.DBMS_SYSTEM.SET_EV(sid,serial#,10046,12,'');

4、 使用Oradebug来设置诊断事件的方法
同样举个例子大家就明白了:
a. 找到spid
SQL>select username, sid, serial#, paddr from v$session where username='qiuyb';

USERNAME    SID     SERIAL#  PADDR
--------------------------------------------------------
HRB3        265     910      C000000084435AD8

SQL>SELECT ADDR,PID,SPID FROM V$PROCESS WHERE ADDR= C000000084435AD8';
ADDR                           PID SPID
------------------------------------------
C000000084435AD8 91  4835

b. 设置事件,以10046为例
sqlplus /nolog
SQL>connect / as sysdba;
SQL>oradebug setospid 4835    
SQL>oradebug unlimit   --不限制转储文件的大小
SQL> oradebug event 10046 trace name context forever,level 12  --设置事件进行sql跟踪

SQL> oradebug event 10046 trace name context off               --关闭跟踪

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

三、你可能的问题

1、 我如何知道在系统中设置了哪些event?
回答:
a. 如果你的事件是在init.ora中设置的可以用
SQL>show parameter event;
来查看
b. Michael R.Ault给的SQL
serveroutput on size 1000000
declare
event_level number;
begin
for i in 10000..10999 loop
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;
/

2、在oracle9i中使用spfile的那种如何设置诊断事件呢?
回答:
简单,Alter system命令就可以完成
alter system set event='10046 trace name context forever, level 12' scope=spfile;
重启一下就生效了。

3、坏了,我的9i设置完诊断事件,起不来了,报ORA-02194错怎么办?
回答:
那你一定是在使用Alter system时把某一项写错了,比如把context写成了conetxt了,可以做如下的解决:
a.由spfile生成pfile
   SQL>create pfile from spfile;
   File created.

b.编辑pfile以修正错误
   Change...  *.event='10046 trace name conetxt forever, level 12'
   -to-       *.event='10046 trace name context forever, level 12'
c.用pfile启动
   SQL>startup pfile=/.....
d.重新生成 SPFILE.
   SQL>create spfile from pfile;
   File created.

Oracle诊断事件列表:
----------------------
ORA-10000: controlfile debug event, name 'control_file'
ORA-10001: controlfile crash event1
ORA-10002: controlfile crash event2
ORA-10003: controlfile crash event3
ORA-10004: controlfile crash event4
ORA-10005: trace latch operations for debugging
ORA-10006: testing - block recovery forced
ORA-10007: log switch debug crash after new log select, thread
ORA-10008: log switch debug crash after new log header write, thread
ORA-10009: log switch debug crash after old log header write, thread
ORA-10010: Begin Transaction
ORA-10011: End   Transaction
ORA-10012: Abort Transaction
ORA-10013: Instance Recovery
ORA-10014: Roll Back to Save Point
ORA-10015: Undo Segment Recovery
ORA-10016: Undo Segment extend
ORA-10017: Undo Segment Wrap
ORA-10018: Data Segment Create
ORA-10019: Data Segment Recovery
ORA-10020: partial link restored to linked list (KSG)
ORA-10021: latch cleanup for state objects (KSS)
ORA-10022: trace ktsgsp
ORA-10023: Create Save Undo Segment
ORA-10024: Write to Save Undo
ORA-10025: Extend Save Undo Segment
ORA-10026: Apply Save Undo
ORA-10027: Specify Deadlock Trace Information to be Dumped
ORA-10028: Dump trace information during lock / resource latch cleanup
ORA-10029: session logon (KSU)
ORA-10030: session logoff (KSU)
ORA-10031: sort debug event (S*)
ORA-10032: sort statistics (SOR*)
ORA-10033: sort run information (SRD*/SRS*)
ORA-10035: parse SQL statement (OPIPRS)
ORA-10036: create remote row source (QKANET)
ORA-10037: allocate remote row source (QKARWS)
ORA-10038: dump row source tree (QBADRV)
ORA-10039: type checking (OPITCA)
ORA-10040: dirty cache list
ORA-10041: dump undo records skipped
ORA-10042: trap error during undo application
ORA-10043: check consistency of owner/waiter/converter lists in KSQ
ORA-10044: free list undo operations
ORA-10045: free list update operations - ktsrsp, ktsunl
ORA-10046: enable SQL statement timing
ORA-10047: trace switching of sessions
ORA-10048: Undo segment shrink
ORA-10049: protect library cache memory heaps
ORA-10050: sniper trace
ORA-10051: trace OPI calls
ORA-10052: don't clean up obj$
ORA-10053: CBO Enable optimizer trace
ORA-10054: trace UNDO handling in MLS
ORA-10055: trace UNDO handing
ORA-10056: dump analyze stats (kdg)
ORA-10057: suppress file names in error messages
ORA-10058: use table scan cost in tab$.spare1
ORA-10059: simulate error in logfile create/clear
ORA-10060: CBO Enable predicate dump
ORA-10061: disable SMON from cleaning temp segment
ORA-10062: disable usage of OS Roles in osds
ORA-10063: disable usage of DBA and OPER privileges in osds
ORA-10064: thread enable debug crash level , thread
ORA-10065: limit library cache dump information for state object dump
ORA-10066: simulate failure to verify file
ORA-10067: force redo log checksum errors - block number
ORA-10068: force redo log checksum errors - file number
ORA-10069: Trusted Oracle test event
ORA-10070: force datafile checksum errors - block number
ORA-10071: force datafile checksum errors - file number
ORA-10072: protect latch recovery memory
ORA-10073: have PMON dump info before latch cleanup
ORA-10074: default trace function mask for kst
ORA-10075: CBO Disable outer-join to regular join conversion
ORA-10076: CBO Enable cartesian product join costing
ORA-10077: CBO Disable view-merging optimization for outer-joins
ORA-10078: CBO Disable constant predicate elimination optimization
ORA-10079: trace data sent/received via SQL*Net
ORA-10080: dump a block on a segment list which cannot be exchanged
ORA-10081: segment High Water Mark has been advanced
ORA-10082: free list head block is the same as the last block
ORA-10083: a brand new block has been requested from space management
ORA-10084: free list becomes empty
ORA-10085: free lists have been merged
ORA-10086: CBO Enable error if kko and qka disagree on oby sort
ORA-10087: disable repair of media corrupt data blocks
ORA-10088: CBO Disable new NOT IN optimization
ORA-10089: CBO Disable index sorting
ORA-10090: invoke other events before crash recovery
ORA-10091: CBO Disable constant predicate merging
ORA-10092: CBO Disable hash join
ORA-10093: CBO Enable force hash joins
ORA-10094: before resizing a data file
ORA-10095: dump debugger commands to trace file
ORA-10096: after the cross instance call when resizing a data file
ORA-10097: after generating redo when resizing a data file
ORA-10098: after the OS has increased the size of a data file
ORA-10099: after updating the file header with the new file size
ORA-10100: after the OS has decreased the size of a data file
ORA-10101: atomic redo write recovery
ORA-10102: switch off anti-joins
ORA-10103: CBO Disable hash join swapping
ORA-10104: dump hash join statistics to trace file
ORA-10105: CBO Enable constant pred trans and MPs w WHERE-clause
ORA-10106: CBO Disable evaluating correlation pred last for NOT IN
ORA-10107: CBO Always use bitmap index
ORA-10108: CBO Don't use bitmap index
ORA-10109: CBO Disable move of negated predicates
ORA-10110: CBO Try index rowid range scans
ORA-10111: Bitmap index creation switch
ORA-10112: Bitmap index creation switch
ORA-10113: Bitmap index creation switch
ORA-10114: Bitmap index creation switch
ORA-10115: CBO Bitmap optimization use maximal expression
ORA-10116: CBO Bitmap optimization switch
ORA-10117: CBO Disable new parallel cost model
ORA-10118: CBO Enable hash join costing
ORA-10119: QKA Disable GBY sort elimination
ORA-10120: generate relative file # different from absolute
ORA-10121: CBO Don't sort bitmap chains
ORA-10122: Disable transformation of count(col) to count(*)
ORA-10123: QKA Disable Bitmap And-EQuals
ORA-10124: Force creation of segmented arrays by kscsAllocate
ORA-10125: Disable remote sort elimination
ORA-10126: Debug oracle java xa
ORA-10127: Disable remote query block operation
ORA-10128: Dump Partition Pruning Information
ORA-10129: Alter histogram lookup for remote queries
ORA-10130: sort disable readaheads
ORA-10131: use v$sql_plan code path for explain plan
ORA-10132: dump plan after compilation
ORA-10133: testing for SQL Memory Management
ORA-10134: tracing for SQL Memory Management for session
ORA-10135: CBO do not count 0 rows partitions
ORA-10136: CBO turn off fix for bug 1089848
ORA-10137: CBO turn off fix for bug 1344111
ORA-10138: CBO turn off fix for bug 1577003
ORA-10139: CBO turn off fix for bug 1386119
ORA-10140: CBO turn off fix for bug 1332980
ORA-10141: CBO disable additional keys for inlist in bitmap optimization
ORA-10142: CBO turn off advanced OR-expansion checks
ORA-10143: CBO turn off hints
ORA-10144: CBO turn off cost based selection of bji over bsj subquery
ORA-10145: test auditing network errors
ORA-10146: enable Oracle TRACE collection
ORA-10147: enable join push through UNION view
ORA-10148: Use pre-7.3.3 random generator
ORA-10149: allow the creation of constraints with illegal date constants
ORA-10150: import exceptions
ORA-10151: Force duplicate dependency removal
ORA-10152: CBO don't consider function costs in plans
ORA-10153: Switch to use public synonym if private one does not translate
ORA-10154: Switch to disallow synonyms in DDL statements
ORA-10155: CBO disable generation of transitive OR-chains
ORA-10156: CBO disable index fast full scan
ORA-10157: CBO disable index access path for in-list
ORA-10158: CBO preserve predicate order in post-filters
ORA-10159: CBO disable order-by sort pushdown into domain indexes
ORA-10160: CBO disable use of join index
ORA-10161: CBO recursive semi-join on/off-switch
ORA-10162: CBO join-back elimination on/off-switch
ORA-10163: CBO join-back elimination on/off-switch
ORA-10164: CBO disable subquery-adjusted cardinality fix
ORA-10165: mark session to be aborted during shutdown normal
ORA-10166: trace long operation statistics updates
ORA-10167: CBO use old index MIN/MAX optimization
ORA-10168: CBO disable single-table predicate predicate generation
ORA-10169: CBO disable histograms for multi partitions
ORA-10170: CBO use old bitmap costing
ORA-10171: CBO disable transitive join predicates
ORA-10172: CBO force hash join back
ORA-10173: CBO no constraint-based join-back elimination
ORA-10174: view join-back elimination switch
ORA-10175: CBO star transformation switch
ORA-10176: CBO colocated join switch
ORA-10177: CBO colocated join switch
ORA-10178: CBO turn off hash cluster filtering through memcmp
ORA-10179: CBO turn off transitive predicate replacement
ORA-10180: temp table transformation print error messages
ORA-10181: CBO disable multi-column in-list processing
ORA-10182: CBO disable generation of implied predicates
ORA-10183: CBO disable cost rounding
ORA-10184: CBO disable OR-exp if long inlist on bitmap column
ORA-10185: CBO force index joins
ORA-10186: CBO disable index join
ORA-10187: CBO additional index join switch
ORA-10188: CBO additional index join switch
ORA-10189: CBO turn off FFS null fix
ORA-10190: Analyze use old frequency histogram collection and density
ORA-10191: Avoid conversion of in-lists back to OR-expanded form
ORA-10192: nopushdown when number of groups exceed number of rows
ORA-10193: Force repeatable sampling with specified seed
ORA-10194: CBO disable new LIKE selectivity heuristic
ORA-10195: CBO don't use check constraints for transitive predicates
ORA-10196: CBO disable index skip scan
ORA-10197: CBO force index skip scan
ORA-10198: check undo record
ORA-10199: set parameter in session
ORA-10200: consistent read buffer status
ORA-10201: consistent read undo application
ORA-10202: consistent read block header
ORA-10203: block cleanout
ORA-10204: signal recursive extend
ORA-10205: row cache debugging
ORA-10206: transaction table consistent read
ORA-10207: consistent read transactions' status report
ORA-10208: consistent read loop check
ORA-10209: enable simulated error on controlfile
ORA-10210: check data block integrity
ORA-10211: check index block integrity
ORA-10212: check cluster integrity
ORA-10213: crash after controlfile write
ORA-10214: simulate write errors on controlfile
ORA-10215: simulate read errors on controlfile
ORA-10216: dump controlfile header
ORA-10217: debug sequence numbers
ORA-10218: dump uba of applied undo
ORA-10219: monitor multi-pass row locking
ORA-10220: show updates to the transaction table
ORA-10221: show changes done with undo
ORA-10222: row cache
ORA-10223: transaction layer - turn on verification codes
ORA-10224: index block split/delete trace
ORA-10225: free/used extent row cache
ORA-10226: trace CR applications of undo for data operations
ORA-10227: verify (multi-piece) row structure
ORA-10228: trace application of redo by kcocbk
ORA-10229: simulate I/O error against datafiles
ORA-10230: check redo generation by copying before applying
ORA-10231: skip corrupted blocks on _table_scans_
ORA-10232: dump corrupted blocks symbolically when kcbgotten
ORA-10233: skip corrupted blocks on index operations
ORA-10234: trigger event after calling kcrapc to do redo N times
ORA-10235: check memory manager internal structures
ORA-10236: library cache manager
ORA-10237: simulate ^C (for testing purposes)
ORA-10238: instantiation manager
ORA-10239: multi-instance library cache manager
ORA-10240: dump dba's of blocks that we wait for
ORA-10241: remote SQL execution tracing/validation
ORA-10242: suppress OER 2063 (for testing distrib w/o different error log)
ORA-10243: simulated error for test  of K2GTAB latch cleanup
ORA-10244: make tranids in error msgs print as 0.0.0 (for testing)
ORA-10245: simulate lock conflict error for testing PMON
ORA-10246: print trace of PMON actions to trace file
ORA-10247: Turn on scgcmn tracing. (VMS ONLY)
ORA-10248: turn on tracing for dispatchers
ORA-10249: turn on tracing for multi-stated servers
ORA-10250: Trace all allocate and free calls to the topmost SGA heap
ORA-10251: check consistency of transaction table and undo block
ORA-10252: simulate write error to data file header
ORA-10253: simulate write error to redo log
ORA-10254: trace cross-instance calls
ORA-10255: pl/sql parse checking
ORA-10256: turn off shared server load balancing
ORA-10257: trace shared server load balancing
ORA-10258: force shared servers to be chosen round-robin
ORA-10259: get error message text from remote using explicit call
ORA-10260: Trace calls to SMPRSET (VMS ONLY)
ORA-10261: Limit the size of the PGA heap
ORA-10262: Don't check for memory leaks
ORA-10263: Don't free empty PGA heap extents
ORA-10264: Collect statistics on context area usage (x$ksmcx)
ORA-10265: Keep random system generated output out of error messages
ORA-10266: Trace OSD stack usage
ORA-10267: Inhibit KSEDMP for testing
ORA-10268: Don't do forward coalesce when deleting extents
ORA-10269: Don't do coalesces of free space in SMON
ORA-10270: Debug shared cursors
ORA-10271: distributed transaction after COLLECT
ORA-10272: distributed transaction before PREPARE
ORA-10273: distributed transaction after PREPARE
ORA-10274: distributed transaction before COMMIT
ORA-10275: distributed transaction after COMMIT
ORA-10276: distributed transaction before FORGET
ORA-10277: Cursor sharing (or not) related event (used for testing)
ORA-10278: Internal testing
ORA-10279: Simulate block corruption in kdb4chk
ORA-10280: Internal testing - segmentation fault during crash recovery
ORA-10281: maximum time to wait for process creation
ORA-10282: Inhibit signalling of other backgrounds when one dies
ORA-10283: simulate asynch I/O never completing
ORA-10284: simulate zero/infinite asynch I/O buffering
ORA-10285: Simulate controlfile header corruption
ORA-10286: Simulate controlfile open error
ORA-10287: Simulate archiver error
ORA-10288: Do not check block type in ktrget
ORA-10289: Do block dumps to trace file in hex rather than fromatted
ORA-10290: kdnchk - checkvalid event - not for general purpose use.
ORA-10291: die in tbsdrv to test controlfile undo
ORA-10292: dump uet entries on a 1561 from dtsdrv
ORA-10293: dump debugging information when doing block recovery
ORA-10294: enable PERSISTENT DLM operations on non-compliant systems
ORA-10295: die after file header update durning cf xact
ORA-10296: disable ORA-379
ORA-10297: customize dictionary object number cache
ORA-10298: ksfd i/o tracing
ORA-10299: Trace prefetch tracking decisions made by CKPT
ORA-10300: disable undo compatibility check at database open
ORA-10301: Enable LCK timeout table consistency check
ORA-10302: trace create or drop internal trigger
ORA-10303: trace loading of library cache for internal triggers
ORA-10304: trace replication trigger
ORA-10305: trace updatable materialized view trigger
ORA-10306: trace materialized view log trigger
ORA-10307: trace RepCat execution
ORA-10308: replication testing event
ORA-10309: Trigger Debug event
ORA-10310: trace synchronous change table trigger
ORA-10311: Disable Flashback Table Timestamp checking
ORA-10312: Allow disable to log rows into the mapping table
ORA-10313: Allow Row CR operations for single instance
ORA-10314: Enable extra stats gathering for CR
ORA-10316: Events for extensible txn header, non zero ext header size
ORA-10317: Events for extensible txn header, zero ext header size
ORA-10318: Trace extensible txn header movements
ORA-10319: Trace PGA statistics maintenance
ORA-10320: Enable data layer (kdtgrs) tracing of space management calls
ORA-10321: Datafile header verification debug failure.
ORA-10322: CBO don't simplify inlist predicates
ORA-10323: before committing an add datafile command
ORA-10324: Enable better checking of redo logs errors
ORA-10325: Trace control file record section expand and shrink operations
ORA-10326: clear logfile debug crash at , log
ORA-10327: simulate ORA-00235 error for testing
ORA-10328: disable first-to-mount split-brain error, for testing
ORA-10329: simulate lost write, test detection by two-pass recovery
ORA-10330: clear MTTR statistics in checkpoint progress record
ORA-10331: simulate resilvering during recovery
ORA-10332: force ALTER SYSTEM QUIESCE RESTRICTED command to fail
ORA-10333: dump MTTR statistics each time it is updated
ORA-10334: force FG to wait to be killed during MTTR advisory simulation
ORA-10336: Do remote object transfer using remote SQL
ORA-10337: enable padding owner name in slave sql
ORA-10338: CBO don't use inlist iterator with function-based indexes
ORA-10339: CBO disable DECODE simplification
ORA-10340: Buffer queues sanity check for corrupted buffers
ORA-10341: Simulate out of PGA memory in DBWR during object reuse
ORA-10342: Raise unknown exception in ACQ_ADD when checkpointing
ORA-10343: Raise an out of memory exception-OER 4031 in ACQ_ADD
ORA-10344: Simulate kghxal returning 0 in ACQ_ADD but no exception
ORA-10345: validate queue when linking or unlinking a buffer
ORA-10346: check that all buffers for checkpoint have been written
ORA-10347: dump active checkpoint entries and checkpoint buffers
ORA-10348: test abnormal termination of process initiating file checkpoint
ORA-10349: do not allow ckpt to complete
ORA-10350: Simulate more than one object & tsn id in object reuse
ORA-10351: size of slots
ORA-10352: report direct path statistics
ORA-10353: number of slots
ORA-10354: turn on direct read path for parallel query
ORA-10355: turn on direct read path for scans
ORA-10356: turn on hint usage for direct read
ORA-10357: turn on debug information for direct path
ORA-10358: Simulate out of PGA memory in cache advisory reset
ORA-10359: turn off updates to control file for direct writes
ORA-10360: enable dbwr consistency checking
ORA-10365: turn on debug information for adaptive direct reads
ORA-10370: parallel query server kill event
ORA-10371: disable TQ hint
ORA-10372: parallel query server kill event proc
ORA-10373: parallel query server kill event
ORA-10374: parallel query server interrupt (validate lock value)
ORA-10375: turn on checks for statistics rollups
ORA-10376: turn on table queue statistics
ORA-10377: turn off load balancing
ORA-10378: force hard process/range affinity
ORA-10379: direct read for rowid range scans (unimplemented)
ORA-10380: kxfp latch cleanup testing event
ORA-10381: kxfp latch cleanup testing event
ORA-10382: parallel query server interrupt (reset)
ORA-10383: auto parallelization testing event
ORA-10384: parallel dataflow scheduler tracing
ORA-10385: parallel table scan range sampling method
ORA-10386: parallel SQL hash and range statistics
ORA-10387: parallel query server interrupt (normal)
ORA-10388: parallel query server interrupt (failure)
ORA-10389: parallel query server interrupt (cleanup)
ORA-10390: Trace parallel query slave execution
ORA-10391: trace PX granule allocation/assignment
ORA-10392: parallel query debugging bits
ORA-10393: print parallel query statistics
ORA-10394: generate a fake load to test adaptive and load balancing
ORA-10395: adjust sample size for range table queues
ORA-10396: circumvent range table queues for queries
ORA-10397: suppress verbose parallel coordinator error reporting
ORA-10398: enable timeouts in parallel query threads
ORA-10399: trace buffer allocation
ORA-10400: turn on system state dumps for shutdown debugging
ORA-10401: turn on IPC (ksxp) debugging
ORA-10402: turn on IPC (skgxp) debugging
ORA-10403: fake CPU number for default degree of parallelism
ORA-10404: crash dbwr after write
ORA-10405: emulate broken mirrors
ORA-10406: enable datetime TIMESTAMP, INTERVAL datatype creation
ORA-10407: enable datetime TIME datatype creation
ORA-10408: disable OLAP builtin window function usage
ORA-10409: enable granule memset and block invalidation at startup
ORA-10410: trigger simulated communications errors in KSXP
ORA-10411: simulate errors in IMR
ORA-10412: trigger simulated errors in CGS/CM interface
ORA-10413: force simulated error for testing purposes
ORA-10414: simulated error from event  level
ORA-10425: enable global enqueue service open event trace
ORA-10426: enable global enqueue service convert event trace
ORA-10427: enable global enqueue service traffic controller event trace
ORA-10428: enable tracing of global enqueue service distributed resource
ORA-10429: enable tracing of global enqueue service IPC calls
ORA-10430: enable tracing of global enqueue service AST calls
ORA-10431: enable verification messages on pi consistency
ORA-10432: enable tracing of global cache service fusion calls
ORA-10433: global enqueue service testing event
ORA-10434: enable tracing of global enqueue service multiple LMS
ORA-10435: enable tracing of global enqueue service deadlock detetction
ORA-10436: enable global cache service duplicate ping checking
ORA-10437: enable trace of global enqueue service S optimized resources
ORA-10442: enable trace of kst for ORA-01555 diagnostics
ORA-10450: signal ctrl-c in kdddca (drop column) after n rows
ORA-10496: Turn off fix for bug 2554178
ORA-10498: Trim blank characters including contol characters
ORA-10499: revert to old scale behaviour
ORA-10500: turn on traces for SMON
ORA-10501: periodically check selected heap
ORA-10502: CBO disable the fix for bug 2098120
ORA-10503: enable user-specified graduated bind lengths
ORA-10504: CBO disable the fix for bug 2607029
ORA-10510: turn off SMON check to offline pending offline rollback segment
ORA-10511: turn off SMON check to cleanup undo dictionary
ORA-10512: turn off SMON check to shrink rollback segments
ORA-10513: turn off wrap source compression
ORA-10515: turn on event to use physical cleanout
ORA-10520: recreate package/procedure/view only if definition has changed
ORA-10550: signal error during create as select/create index after n rows
ORA-10560: block type ''
ORA-10561: block type '', data object#
ORA-10562: Error occurred while applying redo to data block (file# , block# )
ORA-10563: Test recovery had to corrupt data block (file# , block# ) in order to proceed
ORA-10564: tablespace
ORA-10565: Another test recovery session is active
ORA-10566: Test recovery has used all the memory it can use
ORA-10567: Redo is inconsistent with data block (file# , block# )
ORA-10568: Failed to allocate recovery state object: out of SGA memory
ORA-10570: Test recovery complete
ORA-10571: Test recovery canceled
ORA-10572: Test recovery canceled due to errors
ORA-10573: Test recovery tested redo from change  to
ORA-10574: Test recovery did not corrupt any data block
ORA-10575: Give up restoring recovered datafiles to consistent state: out of memory
ORA-10576: Give up restoring recovered datafiles to consistent state: some error occurred
ORA-10577: Can not invoke test recovery for managed standby database recovery
ORA-10578: Can not allow corruption for managed standby database recovery
ORA-10579: Can not modify control file during test recovery
ORA-10580: Can not modify datafile header during test recovery
ORA-10581: Can not modify redo log header during test recovery
ORA-10582: The control file is not a backup control file
ORA-10583: Can not recovery file  renamed as missing during test recovery
ORA-10584: Can not invoke parallel recovery for test recovery
ORA-10585: Test recovery can not apply redo that may modify control file
ORA-10586: Test recovery had to corrupt 1 data block in order to proceed
ORA-10587: Invalid count for ALLOW n CORRUPTION option
ORA-10588: Can only allow 1 corruption for normal media/standby recovery
ORA-10589: Test recovery had to corrupt  data blocks in order to proceed
ORA-10590: kga (argus debugger) test flags
ORA-10591: kga (argus debugger) test flags
ORA-10592: kga (argus debugger) test flags
ORA-10593: kga (argus debugger) test flags
ORA-10594: kga (argus debugger) test flags
ORA-10595: kga (argus debugger) test flags
ORA-10596: kga (argus debugger) test flags
ORA-10597: kga (argus debugger) test flags
ORA-10598: kga (argus debugger) test flags
ORA-10599: kga (argus debugger) test flags
ORA-10600: check cursor frame allocation
ORA-10601: turn on debugging for cursor_sharing (literal replacement)
ORA-10602: cause an access violation (for testing purposes)
ORA-10603: cause an error to occur during truncate (for testing purposes)
ORA-10604: trace parallel create index
ORA-10605: enable parallel create index by default
ORA-10606: trace parallel create index
ORA-10607: trace index rowid partition scan
ORA-10608: trace create bitmap index
ORA-10609: trace for array index insertion
ORA-10610: trace create index pseudo optimizer
ORA-10611: causes migration to fail - testing only
ORA-10612: prints debug information for auto-space managed segments
ORA-10613: prints debug information for auto-space managed segments
ORA-10614: Operation not allowed on this segment
ORA-10615: Invalid tablespace type for temporary tablespace
ORA-10616: Operation not allowed on this tablespace
ORA-10617: Cannot create rollback segment in dictionary managed tablespace
ORA-10618: Operation not allowed on this segment
ORA-10619: Avoid assertions when possible
ORA-10620: Operation not allowed on this segment
ORA-10621: data block does not belong to the segment
ORA-10622: test/trace online index (re)build
ORA-10623: Enable Index range scan Prefetch - testing only
ORA-10624: Disable UJV invalidation on drop index
ORA-10625: Turn off redo log dump for the index when OERI 12700
ORA-10627: Dump the content of the index leaf block
ORA-10628: Turn on sanity check for kdiss index skip scan state
ORA-10640: Operation not permitted during SYSTEM tablespace migration
ORA-10641: Cannot find a rollback segment to bind to
ORA-10642: Found rollback segments in dictionary managed tablespaces
ORA-10643: Database should be mounted in restricted mode and Exclusive mode
ORA-10644: SYSTEM tablespace cannot be default temporary tablespace
ORA-10645: Recursive Extension in SYSTEM tablespace during migration
ORA-10646: Too many recursive extensions during SYSTEM tablespace migration
ORA-10647: Tablespace other than SYSTEM,,  not found in read only mode
ORA-10650: disable cache-callback optimisation
ORA-10651: incorrect file number block number specified
ORA-10666: Do not get database enqueue name
ORA-10667: Cause sppst to check for valid process ids
ORA-10690: Set shadow process core file dump type (Unix only)
ORA-10691: Set background process core file type (Unix only)
ORA-10700: Alter access violation exception handler
ORA-10701: Dump direct loader index keys
ORA-10702: Enable histogram data generation
ORA-10703: Simulate process death during enqueue get
ORA-10704: Print out information about what enqueues are being obtained
ORA-10705: Print Out Tracing information for every I/O done by ODSs
ORA-10706: Print out information about global enqueue manipulation
ORA-10707: Simulate process death for instance registration
ORA-10708: print out trace information from the RAC buffer cache
ORA-10709: enable parallel instances in create index by default
ORA-10710: trace bitmap index access
ORA-10711: trace bitmap index merge
ORA-10712: trace bitmap index or
ORA-10713: trace bitmap index and
ORA-10714: trace bitmap index minus
ORA-10715: trace bitmap index conversion to rowids
ORA-10716: trace bitmap index compress/decompress
ORA-10717: trace bitmap index compaction trace for index creation
ORA-10718: event to disable automatic compaction after index creation
ORA-10719: trace bitmap index dml
ORA-10720: trace db scheduling
ORA-10721: Internal testing - temp table transformation
ORA-10722: set parameters for CPU frequency calculation (debug)
ORA-10723: Internal testing - release buffer for buffer cache shrink
ORA-10724: trace cross-instance broadcast
ORA-10730: trace row level security policy predicates
ORA-10731: dump SQL for CURSOR expressions
ORA-10740: disables fix for bug 598861
ORA-10750: test rollback segment blksize guessing for index array insert
ORA-10800: disable Smart Disk scan
ORA-10801: enable Smart Disk trace
ORA-10802: reserved for Smart Disk
ORA-10803: write timing statistics on cluster database recovery scan
ORA-10804: reserved for ksxb
ORA-10806: Switch to 7.3 mode when detaching sessions
ORA-10807: Disable user id check when switching to a global transaction
ORA-10810: Trace snapshot too old
ORA-10811: Trace block cleanouts
ORA-10812: Trace Consistent Reads
ORA-10826: enable upgrade/downgrade error message trace
ORA-10827: database must be opened with MIGRATE option
ORA-10830: Trace group by sort row source
ORA-10831: Trace group by rollup row source
ORA-10841: Default un-inintialized charact set form to SQLCS_IMPLICIT
ORA-10842: Event for OCI Tracing and Statistics Info
ORA-10850: Enable time manager tracing
ORA-10851: Allow Drop command to drop queue tables
ORA-10852: Enable tracing for Enqueue Dequeue Operations
ORA-10853: event for AQ statistics latch cleanup testing
ORA-10856: Disable AQ propagator from using streaming
ORA-10857: Force AQ propagator to use two-phase commit
ORA-10858: Crash the AQ propagator at different stages of commit
ORA-10859: Disable updates of message retry count
ORA-10860: event for AQ admin disable new name parser
ORA-10861: disable storing extended message properties
ORA-10862: resolve default queue owner to current user in enqueue/dequeue
ORA-10871: dump file open/close timestamp during media recovery
ORA-10900: extent manager fault insertion event #
ORA-10902: disable seghdr conversion for ro operation
ORA-10903: Force tablespaces to become locally managed
ORA-10904: Allow locally managed tablespaces to have user allocation
ORA-10905: Do cache verification (kcbcxx) on extent allocation
ORA-10906: Unable to extend segment after insert direct load
ORA-10907: Trace extent management events
ORA-10908: Trace temp tablespace events
ORA-10909: Trace free list events
ORA-10910: inject corner case events into the RAC buffer cache
ORA-10911: Locally managed SYSTEM tablespace bitmaps can be modified only under the supervision of Oracle Support
ORA-10912: Used to perform admin operations on locally managed SYSTEM tablespace
ORA-10913: Create locally managed database if compatible > 920 by default
ORA-10924: import storage parse error ignore event
ORA-10925: trace name context forever
ORA-10926: trace name context forever
ORA-10927: trace name context forever
ORA-10928: trace name context forever
ORA-10929: trace name context forever
ORA-10930: trace name context forever
ORA-10931: trace name context forever
ORA-10932: trace name context forever
ORA-10933: trace name context forever
ORA-10934: Reserved.  Used only in version 7.x.
ORA-10935: Reserved.  Used only in version 7.x.
ORA-10936: trace name context forever
ORA-10937: trace name context forever
ORA-10938: trace name context forever
ORA-10939: trace name context forever
ORA-10940: trace name context forever
ORA-10941: trace name context forever
ORA-10943: trace name context forever
ORA-10944: trace name context forever
ORA-10945: trace name context forever
ORA-10970: backout event for bug 2133357
ORA-10975: trace execution of parallel propagation
ORA-10976: internal package related tracing
ORA-10977: trace event for RepAPI
ORA-10979: trace flags for join index implementation
ORA-10980: prevent sharing of parsed query during Materialized View query generation
ORA-10981: dscn computation-related event in replication
ORA-10982: event to turn off CDC-format MV Logs
ORA-10983: event to enable Create_Change_Table debugging
ORA-10984: subquery materialized view-related event
ORA-10985: event for NULL refresh of materialized views
ORA-10986: donot use HASH_AJ in refresh
ORA-10987: event for the support of caching table with object feature
ORA-10988: event to get exclusive lock during materialized view refresh in IAS
ORA-10989: event to internally create statistics MV
ORA-10996: event to make a process hold a latch in ksu
ORA-10999: do not get database enqueue name

*********************************************************************************
posted on 2008-08-11 20:21 decode360 阅读(5608) 评论(1)  编辑  收藏 所属分类: 07.Oracle

评论

# re: 如何查看执行计划 2013-04-22 18:30 gsas
执行计划是SQL调优的最基本方法,查看执行计划的方法很多,不过我经常偷懒直接用PLSQL DEV来F5一下就完事了,利博亚洲www.libofun.com 这样下去很多能力都要退化了,下面看一下有哪些办法直接查看执行计划  回复  更多评论
  


只有注册用户登录后才能发表评论。


网站导航: