待機イベントの紹介
待機イベントに関する情報は、以下の3つの動的性能ビューに表示されます:
V$SESSION_WAIT:セッションが待機を完了した直後または現在待機しているイベントを表示します。V$SYSTEM_EVENT:現在のテナント内のすべての待機イベントの合計数を表示します。V$SESSION_EVENT:V$SYSTEM_EVENTと同様ですが、各セッションのすべての待機イベントを表示します。
多くの待機イベントは内部実装に関連しているため、変更または削除される場合があります。具体的な内容は実際の状況によって異なります。
待機イベントの種類
各待機イベントは、特定の待機イベントのカテゴリに属します。待機イベントは主に以下のいくつかのタイプに分類されます:
| 待機イベントのタイプ名 | 待機カテゴリ番号ID | 説明 |
|---|---|---|
| OTHER | 100 | 他のタイプに属さない待機イベント |
| APPLICATION | 101 | クライアントコードによって引き起こされる待機イベント |
| CONFIGURATION | 102 | データベースまたはインスタンスのリソース設定が不足しているために発生する待機イベント |
| ADMINISTRATIVE | 103 | データベース管理者がコマンドを入力したためにユーザーが待機する待機イベント |
| CONCURRENCY | 104 | データベース内部リソースを待機する待機イベント |
| COMMIT | 105 | ログコミットに関連する待機イベント |
| IDLE | 106 | セッションが非アクティブ状態で、タスクを待機する待機イベント |
| NETWORK | 107 | ネットワーク通信に関連する待機イベント |
| USER_IO | 108 | ユーザーI/Oを待機する待機イベント |
| SYSTEM_IO | 109 | バックグラウンドプロセスのI/Oを待機する待機イベント |
| CLUSTER | 111 | クラスタに関連する待機イベント |
待機イベントの確認
システムテナント内でSQL文を使用して、すべての待機イベントとそれらが属する待機イベントタイプをアルファベット順に表示できます。例:
obclient> SELECT name, wait_class FROM V$EVENT_NAME ORDER BY name;
よくある待機イベント
| 待機イベント名 | 説明 | 待機イベントのタイプ名 | 待機イベントのパラメータ1 | 待機イベントのパラメータ2 | 待機イベントのパラメータ3 |
|---|---|---|---|---|---|
| wait remove partition | パーティションGC待機トランザクションモジュール削除 | ADMINISTRATIVE | tenant_id | table_id | partition_id |
| wait end stmt | ステートメント終了待機 | CLUSTER | rollback | trans_hash_value | physic_plan_type |
| wait start stmt | ステートメント開始待機 | CLUSTER | trans_hash_value | physic_plan_type | participant_count |
| wait end trans | トランザクションコミット待機 | COMMIT | rollback | trans_hash_value | participant_count |
| async rpc proxy condition wait | 上層カプセル化された非同期RPC Waitイベント | CONCURRENCY | address | - | - |
| dag worker condition wait | バックグラウンドdagスレッド待機イベント | CONCURRENCY | address | - | - |
| latch: alive server tracer lock wait | OBAliveServerMap操作メモリ内OBServer状態のロック待機 | CONCURRENCY | address | number | tries |
| latch: alloc object lock wait | OceanBase malloc内部管理小片メモリのロック待機イベント | CONCURRENCY | address | number | tries |
| latch: clog cascading info lock wait | clog副級連鎖モジュールロックの待機イベント | CONCURRENCY | address | number | tries |
| latch: clog locality lock wait | clog内部保護Locality情報のロック | CONCURRENCY | address | number | tries |
| latch: clog task lock wait | clogモジュールlog_taskのロック | CONCURRENCY | address | number | tries |
| latch: config lock wait | 構成パラメータロック待機イベント | CONCURRENCY | address | number | tries |
| latch: default drw lock wait | DRWLock待機イベント、DRWLockは読み取りが多く書き込みが少ないシナリオに適した読み書きロックです | CONCURRENCY | address | number | tries |
| latch: default mutex wait | デフォルトMUTEX待機イベント | CONCURRENCY | address | number | tries |
| latch: default recursive mutex wait | デフォルト再帰MUTEX待機イベント | CONCURRENCY | address | number | tries |
| latch: default spin lock wait | デフォルトスピンロック待機イベント | CONCURRENCY | address | number | tries |
| latch: default spin rwlock wait | デフォルトスピン読み書きロック待機イベント | CONCURRENCY | address | number | tries |
| latch: id map node lock wait | ID Map待機イベント、ID Mapは整数をポインタにマッピングするために使用されます | CONCURRENCY | address | number | tries |
| latch: server maintaince lock wait | RSがOBServer操作を行う際のロック待機 | CONCURRENCY | address | number | tries |
| latch: server status lock wait | RSレコードのserver_statuses操作時の読み書きロック待機 | CONCURRENCY | address | number | tries |
| latch: unit manager lock wait | Unit Managerデータ操作時のロック待機 | CONCURRENCY | address | number | tries |
| latch: zone infos rw lock wait | OBZoneManagerBaseデータ操作時のロック待機 | CONCURRENCY | address | number | tries |
| latch: zone manager maintaince lock wait | Zone Managerデータ操作時のロック待機 | CONCURRENCY | address | number | tries |
| partition table updater condition wait | OBUniqTaskQueueタスク処理時の条件待機 | CONCURRENCY | address | - | - |
| rebalance task mgr condition wait | OBDRTaskMgr災害復旧タスク処理時の条件待機 | CONCURRENCY | address | - | - |
| reentrant thread condition wait | OBReentrantThreadタスク処理時の条件待機 | CONCURRENCY | address | - | - |
| rpc session handler condition wait | ストリーミングRPC待機イベント | CONCURRENCY | address | - | - |
| th worker condition wait | マルチテナントスレッド一時停止待機イベント | CONCURRENCY | address | - | - |
| thread idling condition wait | RootServiceアイドルスレッド待機イベント | CONCURRENCY | address | - | - |
| sched idle | マルチテナントスレッドタスク実行待機 | IDLE | wait start timestamp | - | - |
| mysql response wait client | クライアント返却待機時間 | NETWORK | - | - | - |
| sync rpc | 同期RPC待機イベント | NETWORK | pcode | size | - |
| sched wait | マルチテナントスレッドが大規模クエリ実行により一時停止された場合 | SCHEDULER | req type | req start timestamp | wait start timestamp |
| bloomfilter build read | バックグラウンドBloomFilterデータ読み取り | SYSTEM_IO | fd | offset | size |
| db file compact read | コンパクションタスクデータ読み取り | SYSTEM_IO | fd | offset | size |
| db file compact write | コンパクションタスクデータ書き込み | SYSTEM_IO | fd | offset | size |
| db file index build read | インデックス作成データ読み取り | SYSTEM_IO | fd | offset | size |
| db file index build write | インデックス作成データ書き込み | SYSTEM_IO | fd | offset | size |
| db file migrate read | 移行データ読み取り | SYSTEM_IO | fd | offset | size |
| db file migrate write | 移行データ書き込み | SYSTEM_IO | fd | offset | size |
| memstore memory page alloc wait | MemStore書き込み制限トリガーによる待機時間 | SYSTEM_IO | cur_mem_hold | sleep_interval | cur_ts |
| db file data read | ユーザーデータ読み取り | USER_IO | fd | offset | size |
| interm result disk read | 中間結果データ読み取り | USER_IO | fd | offset | size |
| interm result disk write | 中間結果データ書き込み | USER_IO | fd | offset | size |
| row store disk read | SQL演算子のディスクへのデータ読み取り | USER_IO | fd | offset | size |
| row store disk write | SQL演算子のディスクへのデータ書き込み | USER_IO | fd | offset | size |
| build index scheduler condition wait | DDL 2回のタスクスケジューリングの待機時間 | CONCURRENCY | address | - | - |
| debug sync condition wait | Errsim Debugモードで意味があり、ユーザーシナリオでは意味がない | CONCURRENCY | address | - | - |
| inner connection pool condition wait | 内部接続プール条件待機 | CONCURRENCY | address | - | - |
| latch: bandwidth throttle lock wait | 帯域幅制限ロック待機 | CONCURRENCY | address | number | tries |
| latch: default bucket lock wait | Bucket Lockの待機時間、未分類 | CONCURRENCY | address | number | tries |
| latch: election group trace recorder lock wait | Election Group Trace統計情報を保護するロック | CONCURRENCY | address | number | tries |
| latch: group migrate lock wait | バッチ移行のロック待機 | CONCURRENCY | address | number | tries |
| latch: group migrate task lock wait | バッチ移行のタスクロック待機 | CONCURRENCY | address | number | tries |
| latch: io queue lock wait | I/O queue読み取り時のロック待機 | CONCURRENCY | address | number | tries |
| latch: migrate lock wait | 移行のロック待機 | CONCURRENCY | address | number | tries |
| latch: multi tenant lock wait | マルチテナント管理のロック待機 | CONCURRENCY | address | number | tries |
| latch: rebuild retry list lock wait | Rebuildタスクの待機 | CONCURRENCY | address | number | tries |
| latch: session trace recorder lock wait | Session上のTrace記録のロック待機 | CONCURRENCY | address | number | tries |
| latch: tenant lock wait | テナント内管理のロック待機 | CONCURRENCY | address | number | tries |
| latch: timezone lock wait | テナントのTimezone構造ロック待機、テナント操作時にロックがかかる | CONCURRENCY | address | number | tries |
| oblog part mgr schema version wait | Liboblogの待機フレッシュSchema Verisonのロジック | CONCURRENCY | - | - | - |
| server object pool arena lock wait | ビッグオブジェクトキャッシュ構造のロック待機 | USER_IO | fd | offset | size |
| async commiting wait | Clog非同期コミット待機イベント | COMMIT | - | - | - |
| exec inner sql wait | inner sql待機イベント | OTHER | wait inner sql class | inner session id | - |
| sync rpc | 同期RPC待機イベント | NETWORK | pcode | size | - |
| sleep: wait refresh schema | Schemaが指定されたバージョンにリフレッシュされるまでの待機 | CONFIGURATION | sleep_interval | schema_version | - |
| palf throttling sleep | ログスレッドのスロットリング | USER_IO | sleep_interval | - | - |
| palf read | ログスレッドによるログ読み取り | SYSTEM_IO | fd | offset | size |
| palf write | ログスレッドによるログ書き込み | SYSTEM_IO | fd | offset | size |
| das wait remote response | SQL分散実行中、データベースがリモートDASタスクの実行結果を待機する | NETWORK | - | - | - |
| wait for network request in queue | データベースシステムが特定のセッションからのリクエストを受信したが、そのリクエストはワーカースレッドによる処理を待機中 | NETWORK | pcode | level | priority |
| retry: insufficient px worker wait | PXスレッドのリソース不足による再試行 | CONFIGURATION | degree of parallel | number of px workers required | the total number of idle PX workers currently |
| retry: wait GTS ready | GTS ready待機による再試行 | CLUSTER | error code | ls leader addr | ls leader port |
| retry: wait replica readable | レプリカが読み取り不可能になったことによる再試行 | CLUSTER | ls_id | tablet_id | - |
| retry: wait schema cache load | schema cacheの読み込みによる再試行 | CLUSTER | error code | table id | table schema version |
| retry: wait location cache load | location cacheの読み込みによる再試行 | CLUSTER | error | ls_id | - |
| retry: other retry wait | その他の理由による再試行 | CLUSTER | error | - | - |
| row lock wait | 行ロックによる待機 | APPLICATION | lock holder tx id | data seq number | holder lock time |