ALTER SYSTEM BACKUP ステートメントは、データバックアップを開始するために使用されます。データバックアップには、フルバックアップと増分バックアップが含まれます。
フルバックアップはすべてのマクロブロックをバックアップします。増分バックアップは、前回のフルバックアップ以降に追加または変更されたすべてのマクロブロックをバックアップします。
システムパラメータ data_backup_dest で指定されたデフォルトのパスのほかに、TO '<dest>' 構文を使用して、データを指定のパスにバックアップすることもできます。この方法は一回限りの操作であり、システムパラメータを変更したり、その後の自動スケジュールバックアップに影響を与えたりすることはありません。詳細な操作については、指定ディレクトリへのバックアップを参照してください。
説明
V4.4.2系では、V4.4.2 BP3からバックアップ先パスの指定機能がサポートされています。
使用制限と注意事項
データバックアップを開始する前に、アーカイブモードが有効であり、アーカイブタスクの
STATUSがDOINGであることを確認してください。ログアーカイブタスクの状態を確認する操作については、アーカイブ進捗の確認を参照してください。
アーカイブモードを有効にする構文については、ARCHIVELOGを参照してください。
増分データバックアップを実行するには、フルデータバックアップが既に存在していることを確認する必要があります。フルデータバックアップが存在しない状態で直接増分バックアップを開始すると、システムは増分バックアップを自動的にフルバックアップに切り替えます。
低バージョンのクラスタから高バージョン(現在のバージョン)のクラスタへのアップグレードの場合、現在のテナントが低バージョンでフルバックアップを実行していたとしても、高バージョンのクラスタにアップグレードした後、直接増分バックアップを開始すると、システムは増分バックアップを自動的にフルバックアップに切り替えます。
TO '<dest>'構文を使用してバックアップ先パスを指定する場合、以下の制限があります:- システムテナントは
TO構文を使用して1つのテナントのみを指定でき、複数のテナントに同時にバックアップを開始することはサポートされていません。これは、複数のテナントが同じターゲットルートパスを共有すると、異なるテナントのバックアップセットが相互に上書きされるためです。 - 指定されたバックアップ先パスに過去のバックアップがない場合(初回バックアップ)、増分バックアップは自動的にフルバックアップに切り替わります。
- システムテナントは
PLUS ARCHIVELOGパラメータを含むデータバックアップタスクとBACKUP_ARCHIVE_DESTの変更は相互排他の関係にあります。PLUS ARCHIVELOGパラメータを含むデータバックアップタスクの実行中にBACKUP_ARCHIVE_DESTから Piece ファイルをコピーする可能性があるため、Piece ファイルがコピーされながら削除される状況を避けるために、BACKUP_ARCHIVE_DESTを変更する間にPLUS ARCHIVELOGパラメータを含むデータバックアップタスクを開始すると失敗します。PLUS ARCHIVELOGパラメータを含むデータバックアップタスクの実行中にBACKUP_ARCHIVE_DESTを変更すると、システムはOPT_NOT_ALLOWエラーを返します。BACKUP_ARCHIVE_DESTを変更する構文については、SET BACKUP_ARCHIVE_DESTを参照してください。
権限要件
sys テナントの root ユーザー(root@sys)または各テナントの管理者ユーザーが実行する必要があります。具体的には:
- MySQLモードのデフォルト管理者ユーザーは
rootユーザーです。 - Oracleモードのデフォルト管理者ユーザーは
SYSユーザーです。
構文
ALTER SYSTEM backup_action [DESCRIPTION [=] 'description'];
backup_option:
BACKUP DATABASE [TO 'dest'] [PLUS ARCHIVELOG]
| BACKUP TENANT [=] {tenant_name[, tenant_name]...} [TO 'dest'] [PLUS ARCHIVELOG]
| BACKUP INCREMENTAL DATABASE [TO 'dest'] [PLUS ARCHIVELOG]
| BACKUP INCREMENTAL TENANT [=] tenant_name [TO 'dest'] [PLUS ARCHIVELOG]
パラメータ説明
パラメータ |
説明 |
|---|---|
| PLUS ARCHIVELOG | データバックアップに PLUS ARCHIVELOG キーワードを追加すると、データバックアップの過程でアーカイブログも同時にバックアップでき、最終的にバックアップディレクトリにはアーカイブログを含む完全なデータセットが生成されます。このデータセットはリストア可能なため、ユーザーはアーカイブログに依存せずに、このデータセットを使用してテナントのデータを MIN_RESTORE_SCN ポイント(バックアップセットで最新にリストア可能なSCN)までリストアできます。 |
| tenant_name | システムテナントがバックアップ対象のテナント名を指定します。複数のテナント名を同時に指定することができ、異なるテナント名は半角カンマ(,)で区切ります。TO 'dest' 構文を使用してバックアップ先パスを指定する場合、1つのテナントのみを指定できます。すべてのユーザーテナントを指定する必要がある場合は、システムテナントで ALTER SYSTEM BACKUP [INCREMENTAL] DATABASE ステートメントを実行する必要があります。
注意このコマンドを実行する際は、システムテナントのみが |
| INCREMENTAL | 増分バックアップを表します。 |
| dest | バックアップ先パスを指定します。オプションです。指定しない場合は、システムパラメータ data_backup_dest で指定されたデフォルトパスが使用されます。この構文は一回限りの処理であり、システムパラメータを変更したり、その後の自動スケジュールバックアップに影響を与えたりすることはありません。
注意
|
| description | この操作の説明情報を指定します。オプションです。 |
例
現在のクラスタには sys、mysql_tenant、oracle_tenant の3つのテナントがあり、テナント mysql_tenant と oracle_tenant はどちらもデータバックアップ開始前の準備作業を完了していると仮定します。
システムテナント
システムテナントはクラスタ内のすべてのユーザーテナントに対してフルデータバックアップを開始します。
obclient [oceanbase]> ALTER SYSTEM BACKUP DATABASE;ステートメントの実行後、システムはクラスタ内の
mysql_tenantテナントとoracle_tenantテナントに対してフルデータバックアップを開始します。システムテナントがテナント
mysql_tenantに対してフルデータバックアップを開始します。obclient [oceanbase]> ALTER SYSTEM BACKUP TENANT = mysql_tenant;システムテナントがテナント
mysql_tenantに対して、アーカイブログを含むフルデータバックアップを開始します。obclient [oceanbase]> ALTER SYSTEM BACKUP TENANT = mysql_tenant PLUS ARCHIVELOG;ステートメント実行後、システムは該当テナントのデータバックアップパスに、アーカイブログを含む完全なデータセットを生成します。Community版および単一マシン版のユーザーは、フィジカルスタンバイ・データベースのシナリオでこのデータセットを使用してスタンバイテナントを作成できます。アーカイブログを含む完全なデータセットを使用してスタンバイテナントを作成する詳細な操作については、BACKUP DATABASE PLUS ARCHIVELOG機能を使用してスタンバイテナントを作成するを参照してください。
システムテナントがクラスタ内のすべてのテナントに対して増分データバックアップを開始します。
obclient [oceanbase]> ALTER SYSTEM BACKUP INCREMENTAL DATABASE;この例では、ステートメント実行後、システムはクラスタ内の
mysql_tenantテナントとoracle_tenantテナントに対して増分データバックアップを開始します。システムテナントがテナント
mysql_tenantに対して増分データバックアップを開始します。obclient [oceanbase]> ALTER SYSTEM BACKUP INCREMENTAL TENANT = mysql_tenant;システムテナントがテナント
mysql_tenantに対して、指定したバックアップ先パスへのフルデータバックアップを開始します。obclient [oceanbase]> ALTER SYSTEM BACKUP TENANT = mysql_tenant TO 'file:///data/backup/one_time_dest';システムテナントがテナント
mysql_tenantに対して、指定したバックアップ先パスへの増分データバックアップを開始します。obclient [oceanbase]> ALTER SYSTEM BACKUP INCREMENTAL TENANT = mysql_tenant TO 'file:///data/backup/one_time_dest';システムテナントがテナント
mysql_tenantに対して、指定したバックアップ先パスへのフルデータバックアップを開始し、同時にアーカイブログもバックアップします。obclient [oceanbase]> ALTER SYSTEM BACKUP TENANT = mysql_tenant TO 'file:///data/backup/self_contained_dest' PLUS ARCHIVELOG;システムテナントがテナント
mysql_tenantに対して、指定したバックアップ先パスへの増分データバックアップを開始し、同時にアーカイブログもバックアップします。obclient [oceanbase]> ALTER SYSTEM BACKUP INCREMENTAL TENANT = mysql_tenant TO 'file:///data/backup/self_contained_dest' PLUS ARCHIVELOG;
ユーザーテナント
テナント
mysql_tenantが自身に対してフルデータバックアップを開始します。obclient [oceanbase]> ALTER SYSTEM BACKUP DATABASE;テナント
oracle_tenantが自身に対して、アーカイブログを含むフルデータバックアップを開始します。obclient [SYS]> ALTER SYSTEM BACKUP DATABASE PLUS ARCHIVELOG;テナント
mysql_tenantが自身に対して増分データバックアップを開始します。obclient [oceanbase]> ALTER SYSTEM BACKUP INCREMENTAL DATABASE;テナント
mysql_tenantが、指定したバックアップ先パスへのフルデータバックアップを開始します。obclient [oceanbase]> ALTER SYSTEM BACKUP DATABASE TO 'file:///data/backup/one_time_dest';テナント
mysql_tenantが、指定したバックアップ先パスへの増分データバックアップを開始します。obclient [oceanbase]> ALTER SYSTEM BACKUP INCREMENTAL DATABASE TO 'file:///data/backup/one_time_dest';テナント
mysql_tenantが、指定したバックアップ先パスへの増分データバックアップを開始し、同時にアーカイブログもバックアップします。obclient [oceanbase]> ALTER SYSTEM BACKUP INCREMENTAL DATABASE TO 'file:///data/backup/self_contained_dest' PLUS ARCHIVELOG;テナント
mysql_tenantが、指定したバックアップ先パスへのフルデータバックアップを開始し、同時にアーカイブログもバックアップします。obclient [oceanbase]> ALTER SYSTEM BACKUP DATABASE TO 'file:///data/backup/self_contained_dest' PLUS ARCHIVELOG;