ALTER SYSTEM BACKUP ARCHIVELOG ALL ステートメントは、アーカイブログのバックアップを開始するために使用されます。これにより、LOG_ARCHIVE_DEST 上にフリーズ(FROZEN)状態にあるアーカイブピースを BACKUP_ARCHIVE_DEST にバックアップします。バックアップ完了後、元のアーカイブメディア上のログデータを安全に回収できるため、アーカイブメディアの容量上限に達してアーカイブが途絶えることを防ぎます。
アーカイブログのバックアップを実行する前に、現在アーカイブモードが有効になっていることを確認する必要があります。テナントの LOG_MODE が ARCHIVELOG の場合にのみ、アーカイブログのバックアップを開始できます。アーカイブモードを有効にするための構文については、ARCHIVELOGを参照してください。アーカイブログのバックアップを開始する前に、まず ALTER SYSTEM SET BACKUP_ARCHIVE_DEST ステートメントを使用してアーカイブログバックアップのバックアップ先を設定する必要があります。関連する構文については、SET BACKUP_ARCHIVE_DESTを参照してください。
使用上の制限
V4.4.2バージョンでは、V4.4.2 BP3バージョンから
ALTER SYSTEM BACKUP ARCHIVELOGステートメントをサポートしています。アーカイブログのバックアップはプライマリテナントでのみ開始でき、スタンバイテナントでは開始できません。
同一時刻に同一テナントで実行できるアーカイブログバックアップタスクは1つのみです。前のタスクが終了する前に、再度アーカイブログバックアップを開始することはできません。
BACKUP_ARCHIVE_DESTの変更とアーカイブログバックアップタスクの開始は、相互排他の関係にあります。DELETE INPUTを指定したアーカイブログバックアップで発生するソース側レプリカのクリーンアップタスクと、PLUS ARCHIVELOGパラメータを指定したデータバックアップタスクは相互排他の関係にあります。クリーンアップタスクを開始する前に、システムは同一テナント内でPLUS ARCHIVELOGパラメータを指定したデータバックアップタスクが実行中でないかチェックします。もしそのようなタスクが存在する場合、アーカイブログバックアップは正常に実行されますが、対応するクリーンアップタスクは失敗します。PLUS ARCHIVELOGパラメータを指定したデータバックアップタスクを開始する前に、システムはソース側レプリカのクリーンアップタスクが実行中でないかチェックします。もしそのようなタスクが存在する場合、そのデータバックアップタスクは失敗し、クリーンアップタスクが終了するのを待ってから再度開始する必要があります。データバックアップの使用上の制限、注意事項、権限要件については、BACKUPを参照してください。
注意事項
BACKUP ARCHIVELOG ALLは FROZEN 状態のピースのみを処理し、ピースのフリーズを自動的にトリガーしたり、書き込み中の ACTIVE ピースをバックアップしたりすることはありません。FROZEN 状態のピースが存在しない場合、アーカイブログバックアップタスクは正常に完了しますが、データはコピーされません。タスク開始時に今回バックアップするピースが特定され、既にバックアップ済みのピースは再びバックアップされません。タスク実行中に新たにフリーズされたピースは、次回のアーカイブログバックアップタスクで処理されます。
アーカイブログバックアップは非同期タスクです。ステートメントの実行が成功したということは、タスクが作成され提出されたことを意味するだけです。タスクはバックグラウンドで実行されます。
CDB_OB_BACKUP_JOBS、DBA_OB_BACKUP_JOBSなどのビューを使用してタスクの進捗状況と結果を照会できます。
構文
ALTER SYSTEM BACKUP ARCHIVELOG ALL [DELETE INPUT] [TENANT = tenant_name];
パラメータ説明
パラメータ |
説明 |
|---|---|
| BACKUP ARCHIVELOG ALL | アーカイブログバックアップを開始し、フリーズ(FROZEN)状態のアーカイブピースを BACKUP_ARCHIVE_DEST にバックアップします。 |
| DELETE INPUT | オプションです。このオプションを指定すると、タスク内のすべての FROZEN 状態のピースが正常にバックアップされた後にのみ、システムはクリーンアップタスクを生成し、バックアップ済みのソース側アーカイブログファイルを自動的に削除します。アーカイブログバックアップタスクが失敗した場合は、ソース側ファイルはクリーンアップされません。このオプションを指定しない場合、アーカイブログファイルのバックアップのみを行い、ソース側ファイルは削除しません。
注意CDCを使用してアーカイブデータを直接読み取る必要がある場合は、 |
| tenant_name | システムテナントが操作対象のテナント名を指定します。
注意このコマンドを実行する際は、システムテナントのみが |
例
システムテナント
システムテナントは、指定されたテナントに対してアーカイブログバックアップを開始します。
obclient [oceanbase]> ALTER SYSTEM BACKUP ARCHIVELOG ALL TENANT = mysql_tenant;ステートメント実行後、システムはクラスタ内の
mysql_tenantテナントに対してアーカイブログバックアップを開始します。システムテナントは、指定されたテナントに対してアーカイブログバックアップを開始し、バックアップが正常に完了すると、ソース側のバックアップ済みアーカイブログファイルを自動的に削除します。
obclient [oceanbase]> ALTER SYSTEM BACKUP ARCHIVELOG ALL DELETE INPUT TENANT = mysql_tenant;ステートメント実行後、システムはクラスタ内の
mysql_tenantテナントに対してアーカイブログバックアップを開始し、バックアップが正常に完了すると、ソース側のバックアップ済みアーカイブログファイルを自動的に削除します。
ユーザーテナント
テナント
mysql_tenantは、自身のテナントに対してアーカイブログバックアップを開始します。obclient [oceanbase]> ALTER SYSTEM BACKUP ARCHIVELOG ALL;ステートメント実行後、システムは自身のテナントに対してアーカイブログバックアップを開始します。
テナント
mysql_tenantは、自身のテナントに対してアーカイブログバックアップを開始し、バックアップが正常に完了すると、ソース側のバックアップ済みアーカイブログファイルを自動的に削除します。obclient [oceanbase]> ALTER SYSTEM BACKUP ARCHIVELOG ALL DELETE INPUT;ステートメント実行後、システムは自身のテナントに対してアーカイブログバックアップを開始し、バックアップが正常に完了すると、ソース側のバックアップ済みアーカイブログファイルを自動的に削除します。