OceanBase logo

OceanBase

トランザクション処理、分析、AIワークロードに最適な分散データベース

プロダクト概要
デプロイを自由に

OceanBase Cloud

OceanBaseの導入とスケーリングを最適化

エンタープライズ版

自社インフラ上での運用・管理に対応

オープンソース版を試す

コミュニティ版

開発者向けオープンソース分散データベース

OceanBase seekdb

AIネイティブなオープンソースの検索データベース

顧客事例

さまざまな業界の企業による導入事例を紹介します。

さらに見る
利用シーン別

あらゆるシナリオに対応するOLTP

ハイブリッドクラウドソリューション

大容量ストレージデータベースのコスト削減

リアルタイム分析混合ワークロード

複数インスタンスの統合

ドキュメント

会社概要

OceanBaseの企業情報、パートナーシップ、そして信頼性・セキュリティへの取り組みについて紹介します。

OceanBaseについて

トラストセンター

法的情報

お問い合わせ

日本 - 日本語
International - English
中国站 - 简体中文
クラウドで始める

OceanBase

トランザクション処理、分析、AIワークロードに最適な分散データベース

プロダクト概要
デプロイを自由に

OceanBase Cloud

OceanBaseの導入とスケーリングを最適化

エンタープライズ版

自社インフラ上での運用・管理に対応

オープンソース版を試す

コミュニティ版

開発者向けオープンソース分散データベース

OceanBase seekdb

AIネイティブなオープンソースの検索データベース

顧客事例

さまざまな業界の企業による導入事例を紹介します。

さらに見る
利用シーン別

あらゆるシナリオに対応するOLTP

ハイブリッドクラウドソリューション

大容量ストレージデータベースのコスト削減

リアルタイム分析混合ワークロード

複数インスタンスの統合

OceanBaseの企業情報、パートナーシップ、そして信頼性・セキュリティへの取り組みについて紹介します。

OceanBaseについて

トラストセンター

法的情報

お問い合わせ

クラウドで始める
编组
すべての製品
    • データベース
    • アイコンOceanBaseデータベース
    • アイコンOceanBase Cloud
アイコン

OceanBaseデータベース

SQL - V4.4.2

    OceanBase ロゴ

    AI時代を支える分散データベース

    日本 - 日本語
    International - English
    中国站 - 简体中文
    プロダクト
    OceanBase Cloudエンタープライズ版コミュニティ版OceanBase seekdb
    会社概要
    OceanBaseについてトラストセンター法的情報お問い合わせ
    公式アカウント
    ConnpassXQiitaLumaGitHub

    © OceanBase 2026. All rights reserved

    クラウドサービス契約個人情報保護ポリシーセキュリティ
    お問い合わせ
    ドキュメントフィードバック
    1. ホーム
    2. OceanBaseデータベース
    3. SQL
    4. V4.4.2
    アイコンOceanBaseデータベース
    SQL - V 4.4.2
    データベース
    • OceanBaseデータベース
    • OceanBase Cloud
    SQL
    KV
    • V 4.4.2
    • V 4.3.5

    ウェイトイベント

    最終更新日:2026-06-15 02:31:32  更新
    シェア
    このページの内容
    適用シナリオ
    ウェイトイベントのプロパティ
    待機イベントの種類
    イベント待機関連ビュー
    主な待機イベント
    関連ドキュメント

    折りたたみ

    シェア

    OceanBaseデータベースでは、ウェイトイベント(Wait Event)を用いて、アクティブなセッションが待機状態にあることを示します。ウェイトイベントは、ワーカースレッドがCPU計算中であるか、I/O待ち、ネットワーク待ち、クリティカルセクション待ちなどの状態を記録するために使用されます。ウェイトイベントの記録と統計により、システムのパフォーマンスボトルネックを特定するのに役立ち、特に高並行性でクエリが短いパフォーマンスシナリオにおいて有効です。ウェイトイベントはパフォーマンス分析において重要な役割を果たし、システム性能の最適化を支援します。

    適用シナリオ

    一般的に以下の典型的なシナリオがあります:

    • 現在のシステムでは、負荷がどの程度増加してもCPU使用率が比較的低いままです。これは通常、システム内に並行処理のボトルネック、例えばホットスポットとなるクリティカルセクションなどが存在するためです。これらのクリティカルセクションでの待機時間を記録することで、この問題(Top Wait)を特定できます。

    • 業務SQLの応答時間は通常1ms未満ですが、時折100msを超えるスパイクが発生します。このような問題が発生する原因は、通常、SQL実行中に何らかの箇所で停止してしまうためです。このSQLの実行プロセスでの待機状況、特に最も時間の長い待機の詳細情報を記録することで、この問題(Max Wait)を特定できます。

    • システムが突然実行を停止します。このような問題が発生する原因は、通常、ホットスポット行が存在するなど、特定のセッションがブロックされているか、何らかの未知の原因によるデッドロックが発生しているためです。セッションが現在待機している詳細情報を記録することで、この問題(Current Wait)を特定できます。

    ウェイトイベントのプロパティ

    各ウェイトイベントには、以下のプロパティが含まれます:

    • ウェイトイベント名
    • 待機時間: 各ウェイトイベントが継続した時間です。
    • parameter1(p1)、parameter2(p2)、parameter3(p3): 各ウェイトイベントには3つの追加のパラメータがあり、これらのパラメータはウェイトイベントに関する追加情報を提供し、ウェイトが発生したコンテキストと原因を深く理解するのに役立ちます。

    待機イベントの種類

    待機イベントは、それらが表すリソースや操作の種類に基づいていくつかのカテゴリに分類されます。この分類により、データベース管理者はパフォーマンス問題の診断と解決にあたり、問題の領域をより明確に特定することができます。

    待機イベントのタイプ名
    待機カテゴリ番号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 クラスタ関連の待機イベント

    OceanBaseデータベースでは現在、ネットワーク、スケジューリング、クリティカルセクション、ロック、クラスタ、トランザクションコミット、ユーザーI/O(キャッシュのページ不足など、ユーザーが直接引き起こすI/O待機)、システムI/O(メジャーコンパクションなど、バックグラウンドタスクが引き起こすI/O待機)など、11の大カテゴリ、300種類以上の待機イベントがあります。すべての待機イベント関連の監視情報は、待機統計と待機詳細の4つのビューで表示できます。待機統計にはセッションレベルとテナントレベルが含まれ、待機回数と待機時間を表示できます。外部監視システムの可視化ダッシュボードで確認することを推奨します。待機詳細にはセッションレベルが含まれ、一つは各セッションの現在の待機詳細(Current Wait)を表示し、現在セッションが待機していない場合は直近の1回の待機詳細を表示します。もう一つは、各セッションの履歴における直近10回の待機詳細を表示します。

    イベント待機関連ビュー

    OceanBaseデータベース内のすべてのイベント待機および対応する待機イベントパラメータは、ビューV$EVENT_NAMEで照会できます。システムテナントでSQLステートメントを使用して、すべてのイベント待機とそれらが属するイベント待機タイプをアルファベット順に表示できます。例:

    obclient> SELECT name, wait_class FROM V$EVENT_NAME ORDER BY name;
    

    OceanBaseデータベース内のイベント待機に関するクエリビューは以下のとおりです:

    ビュー
    表示内容
    V$EVENT_NAME テナント内のすべての待機イベントと対応する詳細情報を表示します。
    GV$SYSTEM_EVENT テナント(Tenant)の観点から待機イベントの集計情報を表示します。
    GV$SESSION_EVENT セッション(Session)の観点から待機イベントの集計情報を表示します。すべてのセッションの過去のWait Eventの統計情報、合計で何回待機イベントに入ったか、総待機時間、平均待機時間などを表示します。統計表のため、p1,p2,p3などの情報は含まれません。
    GV$SESSION_WAIT すべてのセッションの現在または最近完了した待機イベントの詳細情報を表示します。セッションレベルの待機明細です。
    GV$SESSION_WAIT_HISTORY 各セッションの直近10回の待機イベントの詳細情報を表示します。セッションレベルの待機明細履歴です。
    V$OB_ACTIVE_SESSION_HISTORY テナント内の現在のOBServerノード上のアクティブセッションの履歴記録を表示します。
    GV$OB_ACTIVE_SESSION_HISTORY テナント内のすべてのOBServerノード上のアクティブセッションの履歴記録を表示します。

    用途に応じて、イベント待機関連の監視情報は待機統計と待機詳細の2つに分類されます。

    待機統計

    主にパフォーマンス最適化に使用され、各種待機イベントの合計待機回数、合計待機時間、合計タイムアウト回数、平均待機時間などが含まれます。

    GV$SYSTEM_EVENT ビューはテナントレベルの待機イベント統計を記述しており、主要なフィールドは以下のとおりです:

    • CON_ID:テナントID。

    • SVR_IP:ノードIP。

    • WAIT_CLASS:待機イベントのクラス。

    • EVENT_ID:待機イベントID。

    • EVENT:待機イベント名。

    • TOTAL_WAITS:合計待機回数。

    • TIME_WAITED:合計待機時間。

    • TOTAL_TIMEOUTS:合計タイムアウト回数。

    • AVERAGE_WAIT:平均待機時間。

    以下のステートメントでテナントの待機イベント統計を照会できます:

    obclient> select tenant_id, tenant_name, sum(total_waits) as total_waits, sum(time_waited_micro) / 1000000 as time_waited_seconds
    from v$system_event join DBA_OB_TENANTS
    on v$system_event.con_id = DBA_OB_TENANTS.tenant_id
    where v$system_event.wait_class <> 'IDLE' and DBA_OB_TENANTS.tenant_type!='META'
    group by tenant_name;
    

    クエリ結果は次のとおりです:

    +-----------+---------------+-------------+---------------------+
    | tenant_id | tenant_name   | total_waits | time_waited_seconds |
    +-----------+---------------+-------------+---------------------+
    |         1 | sys           | 14669140176 |      522012421.8556 |
    |      1008 | mq_t1         |  3234084699 |       32159617.6839 |
    +-----------+---------------+-------------+---------------------+
    2 rows in set (0.06 sec)
    

    待機の詳細

    主に問題診断に使用され、特定の待機イベントの待機開始時間、現在の状態、残り時間などが含まれます。問題の特定を容易にするため、待機の詳細では3つの特定パラメータの指定が許可されています。例えば、ロック操作によって引き起こされる待機については、詳細に誰がロックを取得し、どのモードのロックを取得し、現在誰がロックを保持しているかを記録できます。待機が発生した際、これらの詳細情報を直接表示することができます。

    GV$SESSION_WAIT ビューはセッションレベルの待機詳細を記述しており、主なフィールドは以下の通りです:

    • SID:セッションID。

    • WAIT_CLASS:待機イベントのカテゴリ。

    • EVENT:待機イベント名。

    • P1TEXT、P1、P2TEXT、P2、P3TEXT、P3:待機詳細で指定が許可されている3つのパラメータ。

    • STATE:現在の状態。

    • WAIT_TIME_MICRO:経過した待機時間、単位はマイクロ秒。

    • TIME_REMAINING_MICRO:残りの待機時間、単位はマイクロ秒。

    以下のステートメントは、待機状態にあるセッションの待機詳細情報を示しています:

    obclient> select * from GV$SESSION_WAIT where  STATE='WAITING' limit 1 \G
    

    クエリ結果は次のとおりです:

    *************************** 1. row ***************************
                           SID: 3222786366
                        CON_ID: 1
                        SVR_IP: xx.xx.xx.xx
                      SVR_PORT: 2882
                         EVENT: px loop condition wait
                        P1TEXT: address
                            P1: 140578612358640
                        P2TEXT:
                            P2: 0
                        P3TEXT:
                            P3: 0
                 WAIT_CLASS_ID: 104
                   WAIT_CLASS#: 4
                    WAIT_CLASS: CONCURRENCY
                         STATE: WAITING
               WAIT_TIME_MICRO: 926
          TIME_REMAINING_MICRO: 74
    TIME_SINCE_LAST_WAIT_MICRO: 0
    1 row in set (0.06 sec)
    

    主な待機イベント

    現在のOceanBaseデータベースV4.xバージョンでは、約309種類の待機イベントがあります。よく使われる待機イベントを以下に挙げます。

    イベント名
    イベントID
    カテゴリ
    説明
    sync rpc 13000 NETWORK データベースが同期RPCリクエストを送信した後、同期RPCの返答を待機します。
    das wait remote response 13002 NETWORK SQL分散実行中、データベースはリモートDASタスクの実行結果を待機します。
    wait for network request in queue 13004 NETWORK データベースシステムがあるセッションのリクエストを受信したが、そのリクエストがワーカースレッドによる処理を待っている場合。
    db file data read 10001 USER_IO ユーザーSQLリクエストがディスクからデータを読み取り、データの返却を待機します。
    memstore memory page alloc wait 11015 SYSTEM_IO ユーザーSQLがMEMStoreへの書き込みを必要とし、MEMStoreの書き込み領域割り当てを待機します。通常、これはダンプが完了しておらず、利用可能なMEMStoreがないためです。
    db file compact read 11001 SYSTEM_IO データベースのダンプ時にディスクからの読み取り完了を待機します。
    db file compact write 11002 SYSTEM_IO データベースのダンプ時にディスクへの書き込み完了を待機します。
    palf read 11016 SYSTEM_IO データベースがclogログを読み取り、ディスクからの読み取り完了を待機します。
    palf write 11017 SYSTEM_IO データベースがclogログを書き込み、ディスクへの書き込み完了を待機します。
    async commiting wait 16018 COMMIT ログの非同期コミット完了、すなわちClogがOceanBaseデータベースのコンセンサスプロトコルによりコミットされるのを待機します。
    sleep: wait refresh schema 30100 CONFIGURATION データベースの実行過程でSchema情報を取得する必要があり、指定バージョンへのSchemaリフレッシュを待機します。
    mysql response wait client 13001 NETWORK OceanBaseデータベースは、クライアントへの結果セット送信完了を待機します。OceanBaseデータベースとクライアントがMySQLプロトコルで通信する際、OceanBaseデータベースがクライアントに最後ではない結果セットを返信する場合、その返信プロセスは同期されます。そのため、OceanBaseデータベースは結果セットの送信完了を同期的に待機し、その後の操作を続行します。
    async rpc proxy condition wait 15111 NETWORK OceanBaseデータベースは、内部ノード間の非同期ネットワーク通信の結果を待機します。
    exec inner sql wait 30000 OTHER OceanBaseデータベースは、内部テーブルへのアクセスを行うSQLの実行結果の返却を待機します。例えば、ユーザーテーブルの位置やSchema情報の取得などです。
    sync get gts timestamp wait 18101 CONCURRENCY ユーザーSQLの実行中に、GTS(Global Timestamp Service、グローバルタイムスタンプサービス)の同期取得を待機しています。

    関連ドキュメント

    • 一般的な待機イベントの説明
    • ASHレポートの分析
    • 履歴セッションのパフォーマンス監視

    前のトピック

    SYSSTATモニタリング項目
    最後

    次のトピック

    ロックイベント
    次
    このページの内容
    適用シナリオ
    ウェイトイベントのプロパティ
    待機イベントの種類
    イベント待機関連ビュー
    主な待機イベント
    関連ドキュメント