データベースの実行中に、クラスタ内の現在のスレッド状態を確認できます。これにより、問題のトラブルシューティングやパフォーマンス診断が可能になります。
背景情報
スレッドは、ワーカースレッドとバックグラウンドスレッドに分類されます。ワーカースレッドはテナントごとに区別され、テナントワーカースレッドとも呼ばれます。バックグラウンドスレッドには、テナントごとに区別されるスレッドと、区別されないスレッドが含まれます。
手順
管理者ユーザーとして、クラスタのMySQLテナントまたはOracleテナントにログインします。
以下のコマンドを実行して、スレッド状態を確認します。
MySQLモード
SELECT * FROM oceanbase.GV$OB_THREAD;クエリ結果の一部の例は次のとおりです。
+----------------+----------+-----------+------+-----------------+--------+------------+------------+-----------------------------------+ | SVR_IP | SVR_PORT | TENANT_ID | TID | TNAME | STATUS | LATCH_WAIT | LATCH_HOLD | TRACE_ID | +----------------+----------+-----------+------+-----------------+--------+------------+------------+-----------------------------------+ | xx.xx.xx.xx | 2882 | 1002 | 7268 | T1002_MFLaunch | Wait | | | Y0-0000000000000000-0-0 | | xx.xx.xx.xx | 2882 | 1002 | 7267 | T1002_MergeSche | Wait | | | Y0-0000000000000000-0-0 | | xx.xx.xx.xx | 2882 | 1002 | 7266 | T1002_FrzInfoDe | Wait | | | YB42AC1E87F4-0005FBC6A0F81772-0-0 | | xx.xx.xx.xx | 2882 | 1002 | 7265 | T1002_ServerPro | Wait | | | Y0-0000000000000000-0-0 | | xx.xx.xx.xx | 2882 | 1002 | 7264 | T1002_Occam | Wait | | | Y0-0000000000000000-0-0 | | xx.xx.xx.xx | 2882 | 1002 | 7263 | T1002_L0_G2 | Wait | | | Y0-0000000000000000-0-0 | | xx.xx.xx.xx | 2882 | 1002 | 7262 | T1002_L0_G2 | Wait | | | Y0-0000000000000000-0-0 | | xx.xx.xx.xx | 2882 | 1002 | 7102 | T1002_L0_G0 | Wait | | | Y0-0000000000000000-0-0 | | xx.xx.xx.xx | 2882 | 1002 | 7101 | T1002_L0_G0 | Wait | | | Y0-0000000000000000-0-0 | | xx.xx.xx.xx | 2882 | 1002 | 7100 | T1002_L0_G0 | Wait | | | Y0-0000000000000000-0-0 | +----------------+----------+-----------+------+-----------------+--------+------------+------------+-----------------------------------+ 10 rows in setOracleモード
SELECT * FROM SYS.GV$OB_THREAD;クエリ結果の一部の例は次のとおりです。
+----------------+----------+-----------+------+--------------+--------+------------+------------+-------------------------+ | SVR_IP | SVR_PORT | TENANT_ID | TID | TNAME | STATUS | LATCH_WAIT | LATCH_HOLD | TRACE_ID | +----------------+----------+-----------+------+--------------+--------+------------+------------+-------------------------+ | xx.xx.xx.xx | 2882 | 1004 | 7372 | T1004_CdcSrv | Sleep | NULL | NULL | Y0-0000000000000000-0-0 | +----------------+----------+-----------+------+--------------+--------+------------+------------+-------------------------+ 1 row in set
クエリ結果の各行は、それぞれ1つのスレッドを表します。異なる時間にクエリを実行すると、結果が異なる場合があります。新しいスレッドが作成されるたびに、システムはテーブルに新しいスレッド情報を追加します。同様に、スレッドが終了すると、システムはテーブルからそのスレッドの行を削除します。
クエリ結果の一部のフィールドの説明は次のとおりです。
フィールド 説明 SVR_IP 現在のスレッドが存在するOBServerノードのIPアドレス SVR_PORT 現在のスレッドが存在するOBServerノードのポート番号 TENANT_ID 現在のスレッドが所属するテナント。プロセスレベルのスレッドの tenant_idは500です。TID スレッド番号 TNAME スレッド名 STATUS スレッドの状態: - Run:スレッドが実行中であることを示します。
- Wait:スレッドが待機中であることを示します。
- Sleep:スレッドがスリープ状態であることを示します。
- Join:スレッドが他のスレッドの終了を待っていることを示します。
LATCH_WAIT 現在のスレッドが待機しているLatchのアドレス LATCH_HOLD 現在のスレッドが保持しているLatchのアドレス。複数のアドレスが含まれる場合があります。 TRACE_ID 現在のスレッドで実行中のTraceのID GV$OB_THREADビューのフィールドの詳細については、GV$OB_THREADを参照してください。
詳細
OceanBaseデータベースのスレッドについての詳細については、スレッドの概要を参照してください。