リストアが成功すると、リストアされたテナントはすべてスタンバイテナントとなります。その後、RECOVER コマンドを実行して、テナントのリストア時に指定したログアーカイブソース端から継続してログをリプレイできます。
背景情報
物理リストアのプロセスは物理スタンバイデータベースと統一されており、物理リストア後のテナントはスタンバイテナントとなります。その後、このテナントはスタンバイテナントとして関連サービスを提供することも、プライマリテナントに切り替えてサービスを提供することもできます。
前提条件
リストア操作が正常に完了したことを確認してください。リストア結果の確認方法については、リストア結果の確認を参照してください。
システムテナントがスタンバイテナントにログリプレイを指定する場合
rootユーザーでクラスタのsysテナントにログインします。以下のステートメントを実行して、ログリプレイ操作を実行します。
ステートメントは以下のとおりです:
指定されたタイムスタンプまでログをリプレイし、そのタイムスタンプのポイントを含みます。
obclient(root@sys)[oceanbase]> ALTER SYSTEM RECOVER STANDBY TENANT tenant_name UNTIL TIME='timestamp';指定されたSCNまでログをリプレイし、そのSCNのポイントを含みます。
obclient(root@sys)[oceanbase]> ALTER SYSTEM RECOVER STANDBY TENANT tenant_name UNTIL SCN=scn;終点なしで、アーカイブされたソース側のログを継続的にリプレイします。
obclient(root@sys)[oceanbase]> ALTER SYSTEM RECOVER STANDBY TENANT tenant_name UNTIL UNLIMITED;説明
このコマンドは一度に1つのスタンバイテナントのみを指定できます。複数のテナントを指定する必要がある場合は、このコマンドを繰り返し実行する必要があります。
ステートメントの実行が成功した後、スタンバイテナントのログリプレイをキャンセルする場合は、以下のステートメントを実行できます。
obclient(root@sys)[oceanbase]> ALTER SYSTEM RECOVER STANDBY TENANT tenant_name CANCEL;スタンバイテナントのログリプレイ進捗状況を確認します。
obclient(root@sys)[oceanbase]> SELECT TENANT_ID, LS_ID, STATUS, READABLE_SCN FROM oceanbase.CDB_OB_LS WHERE TENANT_ID=xxx;ログリプレイされたタイムスタンプを確認する必要がある場合は、
SCN_TO_TIMESTAMP関数を使用して変換できます。ステートメントは以下のとおりです。obclient(root@sys)[oceanbase]> SELECT TENANT_ID, LS_ID, STATUS, SCN_TO_TIMESTAMP(READABLE_SCN) FROM oceanbase.CDB_OB_LS WHERE TENANT_ID=xxx;
スタンバイテナントによる自己ログのリプレイ
スタンバイテナントも自己のログリプレイを開始できます。
ユーザーテナントのテナント管理者がデータベースにログインします。
説明
MySQLモードの管理者ユーザーは
rootユーザー、Oracleモードの管理者ユーザーはSYSユーザーです。以下のステートメントを実行して、ログリプレイ操作を実行します。
ステートメントは以下のとおりです:
指定したタイムスタンプまでログをリプレイし、そのタイムスタンプのポイントを含みます。
obclient> ALTER SYSTEM RECOVER STANDBY UNTIL TIME='timestamp';指定したSCNまでログをリプレイし、そのSCNのポイントを含みます。
obclient> ALTER SYSTEM RECOVER STANDBY UNTIL SCN=scn;終点なし、アーカイブされたソース側のログを継続的にリプレイします。
obclient> ALTER SYSTEM RECOVER STANDBY UNTIL UNLIMITED;説明
このコマンドは一度に1つのスタンバイテナントのみを指定できます。複数のテナントを指定する必要がある場合は、このコマンドを繰り返し実行する必要があります。
ステートメントの実行が成功した後、スタンバイテナントのログリプレイをキャンセルする場合は、以下のステートメントを実行できます。
obclient> ALTER SYSTEM RECOVER STANDBY CANCEL;スタンバイテナントのログリプレイ進捗状況を確認します。
obclient> SELECT LS_ID, STATUS, READABLE_SCN FROM oceanbase.DBA_OB_LS;ログリプレイされたタイムスタンプを確認する必要がある場合は、
SCN_TO_TIMESTAMP関数を使用して変換できます。ステートメントは以下のとおりです。obclient> SELECT LS_ID, STATUS, SCN_TO_TIMESTAMP(READABLE_SCN) FROM oceanbase.DBA_OB_LS;