
Oracle Events - 日本エクセム株式会社 Oracle待機イベント情報
目次[非表示]
- 1.Flush Buffer Cache
- 2.10053 Event (CBO Enable optimizer trace)
- 3.10104 Event (dump hash join statistics to trace file)
- 4.10195 Event (Disable generation of predicates from CHECK constraints)
- 5.10200 Event(consistent read buffer status)
- 6.10626 Event(specify timeout for online index rebuild to wait for DML)
- 7.10629 Event(force online index build to backoff and retry DML lock upgrade)
- 8.10704 Event(Print out information about what enqueues are being obtained)
Flush Buffer Cache
Oracle10gでは、次のコマンドを使用して、Buffer CacheをFlushします。
Oracle9iでは、次のようなEventを利用してBuffer CacheをFlushします。
または特定のTablespaceをOffline後、OnlineとTablespaceに属するBufferがFlushされます。
10053 Event (CBO Enable optimizer trace)
CBOのOptimizationプロセスをTraceファイルに出力します。Syntaxは以下の通りです。
10104 Event (dump hash join statistics to trace file)
Hash Join実行過程をTraceファイルに出力します。Hash JoinをTroubleshootingする場合に主に使用されます。Syntaxは以下の通りです。
10195 Event (Disable generation of predicates from CHECK constraints)
CHECK Constraintによる不必要なfiterting適用が発生することを防止する役割を行います。Syntaxは以下の通りです。
10195 Eventの使用例は、次の通りです。
Check ConstraintによるFiltering追加は、一般的に性能に有利な場合が多くあります。Filteringによってデータが除外されると、その分仕事量が減る可能性があるからです。特定のクエリの条件では、これらのFilteringがむしろ副作用がありえるなら、このような特別な場合には、10195 Eventを利用してCheck ConstraintによるFiltering条件の追加を防止することができます。
10200 Event(consistent read buffer status)
OracleのLogical ReadsをTraceする機能を提供します。Logical Readsの動作メカニズムやバグによるLogical Reads異常を追跡する際に多く使用されます。Syntaxは以下の通りです。
Logical ReadsのTrace結果は次の通りです。
10626 Event(specify timeout for online index rebuild to wait for DML)
Online Rebuild作業が先行TransactionによってBlockingされた場合、待機時間(Timeout)の最大値を設定します。
10629 Event(force online index build to backoff and retry DML lock upgrade)
Online Rebuild時DML Lock(TM Lock)Blockingを減らすためにTM LockをSS-> SでUpgradeする方法を制御します。Oracleが提供する説明は、次の通りです。
つまり、Online Rebuildを実行するSessionがTM LockをS(4)で獲得していなければ、待機状態になるようにTM LockによるBlockingを回避します。使い方は以下の通りです。
Online Rebuild作業が途中で終了した場合、Indexの状態がクリーンにならない場合これ以降はIndexのDDLが実行されないことがあります。この場合、ORA-8014 Errorが発生します。Oracle10’gからdbms_repair.online_index_clean関数を利用してOnline Rebuildに失敗したIndexの状態を整理することができます。
10704 Event(Print out information about what enqueues are being obtained)
Enqueue獲得と解除のDebugging情報を出力します。特定のOperationがどのようなEnqueueを必要とし、どのくらいの時間占有していることがわかります。Enqueue Blocking現象をTroubleshootingするときに使用することができます。Syntaxは以下の通りです。
ventレベルは次の通りです。
簡単なDMLのTrace結果は以下の通りです。CU、FB、HW、TM、TX Lockを占有して解除する一連の作業をDebuggingすることができます。