このセクションでは、主に復旧コマンド内の関連パラメータについて説明します。
リカバリコマンド関連
コマンド
指定されたタイムスタンプに復元
ALTER SYSTEM RESTORE dest_tenant_name FROM uri UNTIL TIME='timestamp' WITH 'restore_option' [WITH KEY FROM 'backup_key_path' ENCRYPTED BY 'password'] [DESCRIPTION [=] description];指定されたSCNに復元
ALTER SYSTEM RESTORE dest_tenant_name FROM uri UNTIL SCN=scn WITH 'restore_option' [WITH KEY FROM 'backup_key_path' ENCRYPTED BY 'password'] [DESCRIPTION [=] description];最新のポイントに復元
ALTER SYSTEM RESTORE dest_tenant_name FROM uri WITH 'restore_option' [WITH KEY FROM 'backup_key_path' ENCRYPTED BY 'password'] [DESCRIPTION [=] description];実行中のテナント復元をキャンセル
ALTER SYSTEM CANCEL RESTORE dest_tenant_name;
パラメータの説明
指定されたタイムスタンプ(timestamp)に基づく復元方法では、OceanBaseデータベースはバックアップセット内の最新レコードのタイムゾーンに基づいてタイムスタンプを対応するSCNに変換します。ここでのタイムゾーンは、バックアップテナントのシステム変数System_time_zoneから取得されます。この変数のデフォルト値はCST(中国標準時、+8:00)であり、バックアップセットのlocality_info.obbakファイルに保存されています。
例えば、バックアップ時のテナントのタイムゾーンがCDT(アメリカ中部夏時間帯、-5:00)である場合、ユーザーが復元時に指定したタイムスタンプが2025-08-01 10:00:00であれば、実際に復元される時間点は2025-08-01 15:00:00(標準UTC時間)に対応するSCN値となります。
その他のパラメータの詳細については、ALTER SYSTEM - RESTOREを参照してください。
timestampとscnの選択制約
timestamp および scn は、データバックアップビュー CDB_OB_BACKUP_SET_FILES に記録されているデータバックアップの最小復元ポイント MIN_RESTORE_SCN 以上であり、ログアーカイブビュー CDB_OB_ARCHIVELOG の最大アーカイブポイント CHECKPOINT_SCN 以下である必要があります。ログアーカイブは途絶える可能性があるため、復元ポイントの選択にはログアーカイブの不連続な区間も考慮する必要があり、復元可能な区間の選択はセグメント化される場合があります。
例を挙げて説明します。ユーザーのバックアップ状況が以下のとおりであると仮定します:
ログアーカイブを2回実行し、それぞれの
round_idは1、2です。データバックアップを3回実行し、有効なデータバックアップはそれぞれ
full_backup_set_1、full_backup_set_2、inc_backup_set_3です。
物理復元の復元可能な区間は以下の図のとおりです。ここで、データバックアップの右端はすべて MIN_RESTORE_SCN です(例えば、データバックアップ full_backup_set_1 の MIN_RESTORE_SCN は図中の scn 300 に対応します)。ログアーカイブの右端はすべて CHECKPOINT_SCN です(例えば、ログバックアップ round 1 の CHECKPOINT_SCN は図中の scn 500 に対応します)。

ログアーカイブは中断する可能性があるため、復元区間を計算する際には、途中の不連続な時間帯を除外する必要があります。これにより、図中の大括弧で示された範囲のように、セグメント化された復元可能な区間が表示されます:[scn 300, scn 500] \cup [scn 900, scn 1500]。
パフォーマンスの回復に関する
コマンド
ALTER SYSTEM SET ha_high_thread_score =10 TENANT = mysql;
ALTER SYSTEM SET log_restore_concurrency =0 TENANT = mysql;
パラメータの説明
| パラメータ | 説明 |
|---|---|
| ha_high_thread_score | データ復元タスクキューで使用するワーカースレッド数を設定します。 |
| log_restore_concurrency | ログ復元の並列数を設定します。 |
Recoverコマンド関連
コマンド
指定されたタイムスタンプまでログをロールバックし、そのタイムスタンプのポイントを含みます。
ALTER SYSTEM RECOVER STANDBY [TENANT [=] tenant_name] UNTIL TIME='timestamp';指定されたSCNまでログをロールバックし、そのSCNのポイントを含みます。
ALTER SYSTEM RECOVER STANDBY [TENANT [=] tenant_name] UNTIL SCN=scn;終点なしで、アーカイブソース側のログを継続的に再生します。
ALTER SYSTEM RECOVER STANDBY [TENANT [=] tenant_name] UNTIL UNLIMITED;Recoverをキャンセルします。
ALTER SYSTEM RECOVER STANDBY TENANT [=] tenant_name CANCEL;
パラメータの説明
| パラメータ | 説明 |
|---|---|
| tenant_name | テナント名 |
| timestamp | 指定されたタイムスタンプまで復元します。このtimestampポイントを含みます。指定するtimestampは=で結合する必要があります。timestampはYYYY-MM-DD HH24:MI:SS.FF形式のみをサポートしており、小数部(FF)は0~6桁の小数点以下をサポートしており、マイクロ秒単位での正確な復元が可能です。 |
| scn | 指定されたSCNまで復元します。このscnポイントを含みます。指定するscnは=で結合する必要があります。 |
| UNLIMITED | 終点なしの復元で、アーカイブソースログの再生を継続します。 |
ACTIVATE STANDBYコマンド関連
コマンド
ALTER SYSTEM ACTIVATE STANDBY TENANT tenant_name;
パラメータの説明
| パラメータ | 説明 |
|---|---|
| tenant_name | 復旧に成功したスタンバイテナント名。現在、各コマンドは1つのテナントの切り替えのみをサポートしています。 |