説明
ALTER SYSTEM FLASHBACK STANDBY LOG ステートメントは、スタンバイテナントのログを指定されたポイントまでトリミングします。このステートメントは通常、フェイルオーバー後に、元のプライマリテナントのスタンバイテナントを新しいプライマリテナントに接続する際に使用されます。
使用制限と注意事項
このステートメントを実行するには、現在のスタンバイテナントがログ同期を停止しており、その復元ソースが空であることを保証する必要があります。
ログトリミングを行うスタンバイテナントでは、オフライン状態のマシン上に有効なレプリカを置くことはできません。
このステートメントはスタンバイテナントに対してのみ実行可能であり、そのスタンバイテナントの
STATUSがNORMAL、SWITCHOVER_STATUSがNORMALまたはFLASHBACK_AND_STAY_STANDBY_STATUSである必要があります。スタンバイテナントの
SWITCHOVER_STATUSがFLASHBACK_AND_STAY_STANDBY_STATUSの場合、そのスタンバイテナントによるログ同期の継続や、そのスタンバイテナントの復元ソースの変更は許可されません。ログトリミングのポイントを指定する際、指定されたポイントはそのスタンバイテナントの同期ポイント以上である必要があります。
このステートメントを実行すると、テナントのサービス名(
SERVICE_NAME)が自動的にクリアされます。
権限要件
sys テナントの root ユーザー(root@sys)または各テナントの管理者ユーザーが実行する必要があります。具体的には:
- MySQLモードのデフォルト管理者ユーザーは
rootユーザーです。 - Oracleモードのデフォルト管理者ユーザーは
SYSユーザーです。
構文
ALTER SYSTEM FLASHBACK STANDBY LOG TO SCN = flashback_log_scn [TENANT = 'tenant_name'];
パラメータ説明
パラメータ |
説明 |
|---|---|
| flashback_log_scn | スタンバイテナントのログトリミングを指定されたポイントまで戻すかどうかを指定します。指定するポイントは、そのスタンバイテナントの同期ポイント以上である必要があります。 |
| tenant_name | システムテナントがログトリミングを実行するスタンバイテナントを指定します。このステートメントを実行する際には、システムテナントのみがテナントを指定する必要があります。 |
例
確認済みのログトリミングポイントが 4611686018427387903 であると仮定した場合、スタンバイテナント standby_tenant に対してログトリミングを実行する例を以下に示します。
システムテナントは、指定されたテナント
standby_tenantのログを指定されたポイントまでトリミングします。obclient(root@sys)[(none)]> ALTER SYSTEM FLASHBACK STANDBY LOG TO SCN = 4611686018427387903 TENANT = standby_tenant;スタンバイテナントは、自身のログを指定されたポイントまでトリミングします。
obclient> ALTER SYSTEM FLASHBACK STANDBY LOG TO SCN = 4611686018427387903;
関連ドキュメント
ログトリミングの詳細な操作手順および説明については、Failoverを参照してください。