説明
このビューはV4.2.0バージョンから導入されました。
機能の概要
ビュー oceanbase.DBA_OB_TENANT_EVENT_HISTORY は、テナントの履歴操作レコードを表示するために使用されます。
フィールド説明
フィールド |
型 |
NULL許容 |
説明 |
|---|---|---|---|
| TIMESTAMP | timestamp(6) | NO | 実行時間、単位はマイクロ秒 |
| MODULE | varchar(256) | NO | モジュール名 |
| EVENT | varchar(256) | NO | イベント名 |
| NAME1 | varchar(256) | YES | 最初のプロパティ名 |
| VALUE1 | longtext | YES | 最初のプロパティ値 |
| NAME2 | varchar(256) | YES | 2番目のプロパティ名 |
| VALUE2 | longtext | YES | 2番目のプロパティ値 |
| NAME3 | varchar(256) | YES | 3番目のプロパティ名 |
| VALUE3 | longtext | YES | 3番目のプロパティ値 |
| NAME4 | varchar(256) | YES | 4番目のプロパティ名 |
| VALUE4 | longtext | YES | 4番目のプロパティ値 |
| NAME5 | varchar(256) | YES | 5番目のプロパティ名 |
| VALUE5 | longtext | YES | 5番目のプロパティ値 |
| NAME6 | varchar(256) | YES | 6番目のプロパティ名 |
| VALUE6 | longtext | YES | 6番目のプロパティ値 |
| EXTRA_INFO | longtext | YES | 追加情報 |
| SVR_IP | varchar(46) | YES | 実行アクションが行われたOBServerノードのIP |
| SVR_PORT | bigint(20) | YES | 実行アクションが行われたOBServerノードのポート番号 |
| TRACE_ID | varchar(64) | YES | 実行アクションのTrace ID |
| COST_TIME | bigint(20) | YES | 実行アクションで消費された時間 |
| RET_CODE | bigint(20) | YES | 実行アクションのエラーコード。0 の場合は実行成功 |
| ERROR_MSG | varchar(512) | YES | 実行アクション失敗時のエラーメッセージ |
典型的なテナントイベントの例
以下は、TENANT ROLE CHANGE(プライマリ/スタンバイテナント切り替え)、SERVICE NAME(サービス名)、DBMS_BALANCE などのモジュールにおける典型的なテナントイベントを示しています。
ユーザーが異なるモジュール操作を実行すると、対応するイベントの NAME と VALUE の値はそれぞれ異なります。
TENANT ROLE CHANGE
TENANT ROLE CHANGE モジュールには、FAILOVER TO PRIMARY、SWITCHOVER TO PRIMARY、SWITCHOVER TO STANDBY の3つの操作があります。
FAILOVER TO PRIMARY 操作
ユーザーが
FAILOVER TO PRIMARY操作を実行すると、テナントイベントレコードテーブルに以下の重要なイベントが記録されます。FAILOVER TO PRIMARY START
このイベントは、
ALTER SYSTEM ACTIVATE STANDBYコマンドの具体的な時刻と関連するテナント情報を記録します。プロパティプロパティ値NAME1:STMT_STR VALUE1:ユーザーが入力したコマンドテキスト NAME2:TENANT_INFO VALUE2:コマンド発行時のテナントの状態または情報 FAILOVER TO PRIMARY END
このイベントは、
ALTER SYSTEM ACTIVATE STANDBYコマンドの完了時刻を正確に記録し、操作を実行したテナントの関連情報、ログストリームの最終状態、および主要なステップの所要時間の詳細を含みます。プロパティプロパティ値NAME1:STMT_STR VALUE1:ユーザーが入力したコマンドテキスト NAME2:TENANT_INFO VALUE2:コマンド終了時のテナントの状態または情報 NAME3:FAILOVER_SCN VALUE3:テナントのFAILOVER後の同期ポイント NAME4:COST_DETAIL VALUE4:コマンド実行中の段階ごとの時間消費統計。単位はマイクロ秒 NAME5:ALL_LS VALUE5:テナントのACCESS MODE変更時のすべてのログストリームの状態
SWITCHOVER TO PRIMARY 操作
ユーザーが
SWITCHOVER TO PRIMARY操作を実行すると、テナントイベントレコードテーブルに以下の重要なイベントが記録されます。SWITCHOVER TO PRIMARY START
このイベントは、
ALTER SYSTEM SWITCHOVER TO PRIMARYコマンドの具体的な時刻と関連するテナント情報を記録します。プロパティプロパティ値NAME1:STMT_STR VALUE1:ユーザーが入力したコマンドテキスト NAME2:TENANT_INFO VALUE2:コマンド発行時のテナントの状態または情報 WAIT LOG SYNC
このイベントは、テナントのログ同期に関する情報を記録します。ユーザーが
ALTER SYSTEM SWITCHOVER TO PRIMARYコマンドを実行する際、対象テナントは現在のプライマリテナントから最新のすべてのログレコードを同期するまで待機する必要があります。これは、データの一貫性と完全性を確保するためです。プロパティプロパティ値NAME1:IS_SYS_LS_SYNCED VALUE1:テナントのシステムログストリームが同期されているかどうか NAME2:IS_ALL_LS_SYNCED VALUE2:テナントのすべてのログストリームが同期されているかどうか NAME3:NON_SYNC_INFO VALUE3:非同期のログストリームが存在する場合、システムは非同期のログストリーム数を表示し、同期速度が最も遅い上位5つのログストリームに関する情報を提供します。 SWITCHOVER TO PRIMARY END
このイベントは、
ALTER SYSTEM SWITCHOVER TO PRIMARYコマンドの完了時刻を正確に記録し、操作を実行したテナントの関連情報、ログストリームの最終状態、および主要なステップの所要時間の詳細を含みます。プロパティプロパティ値NAME1:STMT_STR VALUE1:ユーザーが入力したコマンドテキスト NAME2:TENANT_INFO VALUE2:コマンド終了時のテナントのステータスまたは情報 NAME3:SWITCHOVER_SCN VALUE3:テナントのSWITCHOVER後の同期ポイント NAME4:COST_DETAIL VALUE4:コマンド実行中の段階ごとの時間消費統計、単位はマイクロ秒 NAME5:ALL_LS VALUE5:テナントのACCESS MODE変更時のすべてのログストリームの状態
SWITCHOVER TO STANDBY 操作
ユーザーが
SWITCHOVER TO STANDBY操作を実行すると、テナントイベントレコードテーブルに以下の重要なイベントが記録されます。SWITCHOVER TO STANDBY START
このイベントは、
ALTER SYSTEM SWITCHOVER TO STANDBYコマンドの具体的な時刻と関連するテナント情報を記録します。プロパティプロパティ値NAME1:STMT_STR VALUE1:ユーザーが入力したコマンドテキスト NAME2:TENANT_INFO VALUE2:コマンド発行時のテナントの状態または情報 SWITCHOVER TO STANDBY END
このイベントは、
ALTER SYSTEM SWITCHOVER TO STANDBYコマンドの完了時刻を正確に記録し、操作を実行したテナントの関連情報、ログストリームの最終状態、および主要なステップの所要時間の詳細を含みます。プロパティプロパティ値NAME1:STMT_STR VALUE1:ユーザーが入力したコマンドテキスト NAME2:TENANT_INFO VALUE2:コマンド終了時のテナントのステータスまたは情報 NAME3:SWITCHOVER_SCN VALUE3:テナントのSWITCHOVER後の同期ポイント NAME4:COST_DETAIL VALUE4:コマンド実行中の段階ごとの時間消費統計、単位はマイクロ秒 NAME5:ALL_LS VALUE5:テナントのACCESS MODE変更時のすべてのログストリームの状態
SERVICE NAME
SERVICE NAME モジュールには、CREATE SERVICE、DELETE SERVICE、START SERVICE、STOP SERVICE の4種類の操作があります。
これら4種類の操作は TRACE_ID で検索できます。例えば、サービス作成イベントを見つけることで、そのイベントの TRACE_ID から、サービス作成時にブロードキャストもトリガーされたことを追跡できます。
CREATE SERVICE
あるユーザーテナントのサービス作成が開始されると、以下のイベントが記録されます。
BROADCAST SERVICE NAME
このイベントは、ブロードキャストの内容、ターゲットとなるOBServerマシンのリスト、および最終的にブロードキャストを正常に受信したOBServerマシンのリストを詳細に記録します。ユーザーが
ALTER SYSTEM CREATE SERVICEコマンドを実行すると、そのコマンドを発信したOBServerは、当該テナントに関連するすべてのUnitが存在するOBServerに対して、そのテナントの現在のサービス名情報をブロードキャストします。プロパティプロパティ値NAME1:EPOCH VALUE1:今回のブロードキャストに関するテナントの現在のすべてのサービス名情報のバージョン NAME2:TARGET_SERVICE_NAME_ID VALUE2:今回のブロードキャストイベントをトリガーした service_name_idNAME3:SERVICE_NAME_LIST VALUE3:テナントの現在のすべてのサービス名情報 NAME4:SERVICE_NAME_COMMAND_TYPE VALUE4:今回のブロードキャストイベントをトリガーした操作タイプ NAME5:TARGET_SERVERS_LIST VALUE5:ターゲットブロードキャストのマシン、テナント内ユニットが配置されているすべての非永続的にオフラインのマシン NAME6:SUCCESS_SERVERS_LIST VALUE6:ブロードキャストに成功したマシン CREATE SERVICE
このイベントは、作成するサービス名と、サービス作成完了後の関連詳細情報を記録します。ユーザーが
ALTER SYSTEM CREATE SERVICEコマンドを実行し終えると、このイベントが生成されます。プロパティプロパティ値NAME1:SERVICE_NAME_STRING VALUE1:ユーザーが作成したい新しいサービス名 NAME2:CREATED_SERVICE_NAME VALUE2:作成されたサービス名に関する情報
DELETE SERVICE
あるユーザーテナントのサービス削除が開始されると、以下のイベントが記録されます。
DELETE SERVICE
このイベントは、コマンド発信時の関連情報を記録します。ユーザーが
ALTER SYSTEM DELETE SERVICEコマンドを実行し終えると、このイベントが生成されます。プロパティプロパティ値NAME1:DELETED_SERVICE_NAME VALUE1:削除するサービス名に関する情報
START SERVICE
あるユーザーテナントのサービス起動が開始されると、以下のイベントが記録されます。
BROADCAST SERVICE NAME
このイベントは、ブロードキャストの内容、ターゲットとなるOBServerマシンのリスト、および最終的にブロードキャストを正常に受信したOBServerマシンのリストを詳細に記録します。ユーザーが
ALTER SYSTEM SERVICE NAMEコマンドを実行すると、そのコマンドを発信したOBServerは、当該テナントに関連するすべてのUnitが存在するOBServerに対して、そのテナントの現在のサービス名情報をブロードキャストします。プロパティプロパティ値NAME1:EPOCH VALUE1:今回のブロードキャスト対象テナントの現在のすべてのサービス名に関する情報バージョン NAME2:TARGET_SERVICE_NAME_ID VALUE2:今回のブロードキャストイベントをトリガーした service _name _idNAME3:SERVICE_NAME_LIST VALUE3:テナントの現在のすべての service_nameNAME4:SERVICE_NAME_COMMAND_TYPE VALUE4:今回のブロードキャストイベントをトリガーした操作タイプ NAME5:TARGET_SERVERS_LIST VALUE5:ターゲットブロードキャストマシン、テナント内ユニットが配置されているすべての非永続的にオフラインのマシン NAME6:SUCCESS_SERVERS_LIST VALUE6:ブロードキャストに成功したマシン START SERVICE
このイベントは、コマンド発信時および終了時の関連情報を記録します。ユーザーが
ALTER SYSTEM START SERVICEコマンドを実行し終えると、このイベントが生成されます。プロパティプロパティ値NAME1:SERVICE_NAME_BEFORE VALUE1:サービス起動前のサービス名関連情報 NAME2:SERVICE_NAME_AFTER VALUE2:サービス起動後のサービス名関連情報
STOP SERVICE
あるユーザーテナントのサービス停止が開始されると、以下のイベントが記録されます。
KILL CONNECTIONS OF SERVICE NAME
各OBServerは、停止されたサービス名で確立された接続を終了し、その後テナントイベントビューにレコードを生成します。特定のOBServer上に停止されたサービス名で確立された接続がない場合、このイベントはテーブルに記録されません。
プロパティプロパティ値NAME1:SERVICE_NAME VALUE1:停止されたサービス名に関する情報 NAME2:KILLED_CONNECTIONS_COUNT VALUE2:キルされた接続数 NAME3:KILLED_CONNECTIONS_LIST VALUE3:キルされた接続に対応するID BROADCAST SERVICE NAME
このイベントは、ブロードキャストの内容、ターゲットとなるOBServerマシンのリスト、および最終的にブロードキャストを正常に受信したOBServerマシンのリストを詳細に記録します。ユーザーが
ALTER SYSTEM STOP SERVICEコマンドを実行すると、そのコマンドを発信したOBServerは、当該テナントに関連するすべてのUnitが存在するOBServerに対して、そのテナントの現在のサービス名情報をブロードキャストします。プロパティプロパティ値NAME1:EPOCH VALUE1:今回のブロードキャスト対象テナントの現在のすべてのサービス名に関する情報のバージョン NAME2:TARGET_SERVICE_NAME _ID VALUE2:今回のブロードキャストイベントをトリガーした service _name _idNAME3:SERVICE_NAME_LIST VALUE3:テナントの現在のすべての service_nameNAME4:SERVICE_NAME_COMMAND_TYPE VALUE4:今回のブロードキャストイベントをトリガーした操作タイプ NAME5:TARGET_SERVERS_LIST VALUE5:ターゲットブロードキャストマシン、テナント内ユニットが配置されているすべての非永続的にオフラインのマシン NAME6:SUCCESS_SERVERS_LIST VALUE6:ブロードキャストに成功したマシン STOP SERVICE
このイベントは、コマンド発信時および終了時の関連情報を記録します。ユーザーが
ALTER SYSTEM STOP SERVICEコマンドを実行し終えると、このイベントが生成されます。プロパティプロパティ値NAME1:SERVICE_NAME_BEFORE VALUE1:サービス停止前のサービス名関連情報 NAME2:SERVICE_NAME_AFTER VALUE2:サービス停止後のサービス名関連情報
DBMS_BALANCE
DBMS_BALANCE モジュールには、TRIGGER PARTITION BALANCE、SET BALANCE WEIGHT、CLEAR BALANCE WEIGHT、CLEAR EXPIRED BALANCE WEIGHT の4種類の操作があります。
TRIGGER PARTITION BALANCE 操作
ユーザーが
DBMS_BALANCE.TRIGGER_PARTITION_BALANCE操作を実行すると、テナントイベント記録テーブルにTRIGGER PARTITION BALANCEイベントが記録されます。TRIGGER PARTITION BALANCEイベントは、DBMS_BALANCE.TRIGGER_PARTITION_BALANCEコマンドが実行された具体的な時刻と関連パラメータ情報を記録します。プロパティプロパティ値NAME1:BALANCE_TIMEOUT_S VALUE1:バランシングトリガー時のタイムアウトパラメータ、単位は秒 SET BALANCE WEIGHT
ユーザーが
DBMS_BALANCE.SET_BALANCE_WEIGHT操作を実行すると、テナントイベント記録テーブルにSET BALANCE WEIGHTイベントが記録されます。SET BALANCE WEIGHTイベントは、DBMS_BALANCE.SET_BALANCE_WEIGHTコマンドが実行された具体的な時刻と関連パラメータ情報を記録します。プロパティプロパティ値NAME1:WEIGHT VALUE1:パーティションの重み NAME2:DATABASE_NAME VALUE2:パーティションの重みを設定するテーブルが属するデータベース名 NAME3:TABLE_NAME VALUE3:パーティションの重みを設定するテーブル名 NAME4:PARTITION_NAME VALUE4:パーティションの重みを設定するパーティション名 NAME5:SUBPARTITION_NAME VALUE5:パーティションの重みを設定するサブパーティション名 CLEAR BALANCE WEIGHT
ユーザーが
DBMS_BALANCE.CLEAR_BALANCE_WEIGHT操作を実行すると、テナントイベント記録テーブルにCLEAR BALANCE WEIGHTイベントが記録されます。CLEAR BALANCE WEIGHTイベントは、DBMS_BALANCE.CLEAR_BALANCE_WEIGHTコマンドが実行された具体的な時刻と関連パラメータ情報を記録します。プロパティプロパティ値NAME1:DATABASE_NAME VALUE1:パーティションの重みをクリアするテーブルが属するデータベース名 NAME2:TABLE_NAME VALUE2:パーティションの重みをクリアするテーブル名 NAME3:PARTITION_NAME VALUE3:パーティションの重みをクリアするパーティション名 NAME4:SUBPARTITION_NAME VALUE4:パーティションの重みをクリアするサブパーティション名 CLEAR EXPIRED BALANCE WEIGHT
バックグラウンドスレッドが期限切れのパーティション重みをクリーンアップすると、テナントイベント記録テーブルに
CLEAR EXPIRED BALANCE WEIGHTイベントが記録されます。CLEAR EXPIRED BALANCE WEIGHTイベントは、バックグラウンドで期限切れのパーティション重みをクリーンアップした具体的な時刻と関連パラメータ情報を記録します。プロパティプロパティ値NAME1:TABLE_NAME VALUE1:クリーンアップ対象の無効パーティションの重みを持つテーブル名 NAME2:PARTITION_NAME VALUE2:クリーンアップ対象の無効パーティションの重みを持つパーティション名 NAME3:SUBPARTITION_NAME VALUE3:クリーンアップ対象の無効パーティションの重みを持つサブパーティション名
クエリ例
本テナントの履歴操作レコードを照会し、最初のレコードを表示します。
obclient [oceanbase]> SELECT * FROM oceanbase.DBA_OB_TENANT_EVENT_HISTORY LIMIT 1\G
クエリ結果は次のとおりです:
*************************** 1. row ***************************
TIMESTAMP: 2023-12-14 14:33:20.321725
MODULE: TENANT ROLE CHANGE
EVENT: SWITCHOVER TO STANDBY END
NAME1: STMT_STR
VALUE1: ALTER SYSTEM SWITCHOVER TO STANDBY TENANT backup_mysql_tenant
NAME2: TENANT_INFO
VALUE2: {tenant_id:1002, tenant_role:"STANDBY", switchover_status:"NORMAL", switchover_epoch:1702535600271677, sync_scn:1702535620070597000, replayable_scn:1702535620070597000, readable_scn:1702535620070597000, recovery_until_scn:4611686018427387903, log_mode:"ARCHIVELOG", max_ls_id:1003}
NAME3: SWITCHOVER_SCN
VALUE3: 1702535620070597000
NAME4: COST_DETAIL
VALUE4: WAIT_LOG_END: 100190, CHANGE_ACCESS_MODE: 47261, OTHERS: 136839
NAME5: ALL_LS
VALUE5: NORMAL: 1, 1001, 1002, 1003
NAME6: NULL
VALUE6:
EXTRA_INFO: NULL
SVR_IP: 100.xx.xx.xx
SVR_PORT: 13324
TRACE_ID: Y340C64586BD4-00060C724AEB962B-0-0
COST_TIME: 284290
RET_CODE: 0
ERROR_MSG: NULL
1 row in set