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 閱讀(5648) 評論(1)  編輯  收藏 所屬分類: 07.Oracle

          評論

          # re: 如何查看執行計劃 2013-04-22 18:30 gsas
          執行計劃是SQL調優的最基本方法,查看執行計劃的方法很多,不過我經常偷懶直接用PLSQL DEV來F5一下就完事了,利博亞洲www.libofun.com 這樣下去很多能力都要退化了,下面看一下有哪些辦法直接查看執行計劃  回復  更多評論
            

          主站蜘蛛池模板: 华安县| 乐昌市| 锦州市| 家居| 封开县| 介休市| 綦江县| 牡丹江市| 留坝县| 波密县| 天津市| 介休市| 密云县| 新竹县| 沧源| 宁城县| 常州市| 辽宁省| 塘沽区| 咸阳市| 博爱县| 安溪县| 盐池县| 永安市| 图木舒克市| 甘谷县| 乳山市| 拉孜县| 岱山县| 湄潭县| 瓦房店市| 武定县| 河北区| 井冈山市| 民乐县| 长治市| 吴川市| 文昌市| 申扎县| 万山特区| 彰化市|