ALTER SYSTEM BACKUP ステートメントは、データバックアップを開始するために使用されます。データバックアップには、フルバックアップと増分バックアップが含まれます。
フルバックアップはすべてのマクロブロックをバックアップし、増分バックアップは前回のフルバックアップ以降に追加または変更されたすべてのマクロブロックをバックアップします。
使用上の制限と注意事項
データバックアップを開始する前に、アーカイブモードが有効であり、アーカイブタスクの
STATUSがDOINGであることを確認してください。ログアーカイブタスクの状態を確認する操作については、アーカイブ進捗の確認を参照してください。
アーカイブモードを有効にするための構文については、ARCHIVELOGを参照してください。
増分データバックアップを実行するには、フルデータバックアップが既に存在していることを確認する必要があります。フルデータバックアップが存在しない状態で直接増分バックアップを開始すると、システムはデフォルトで増分バックアップをフルバックアップに変換します。
低バージョンのクラスタから高バージョン(現在のバージョン)のクラスタへのアップグレードの場合、現在のテナントが低バージョンでフルバックアップを実行済みであっても、高バージョンのクラスタにアップグレードした後、直接増分バックアップを開始すると、システムはデフォルトで増分バックアップをフルバックアップに変換します。
権限要件
sys テナントの root ユーザー(root@sys)または各テナントの管理者ユーザーが実行する必要があります。具体的には:
- MySQLモードのデフォルト管理者ユーザーは
rootユーザーです。 - Oracleモードのデフォルト管理者ユーザーは
SYSユーザーです。
構文
ALTER SYSTEM backup_action [DESCRIPTION [=] 'desprition'];
backup_option:
BACKUP DATABASE [PLUS ARCHIVELOG]
| BACKUP TENANT [=] {tenant_name[, tenant_name]...} [PLUS ARCHIVELOG]
| BACKUP INCREMENTAL DATABASE
| BACKUP INCREMENTAL TENANT [=] {tenant_name[, tenant_name]...}
パラメータ説明
パラメータ |
説明 |
|---|---|
| PLUS ARCHIVELOG | データバックアップに PLUS ARCHIVELOG キーワードを追加すると、データバックアップの過程でアーカイブログも同時にバックアップされます。最終的にバックアップディレクトリには、アーカイブログを含む完全なデータセットが生成されます。このデータセットは復元可能なため、ユーザーはアーカイブログに依存せずに、このデータセットを使用してテナントのデータを MIN_RESTORE_SCN ポイント(バックアップセットで最新に復元可能なSCN)まで復元できます。 |
| tenant_name | システムテナントがバックアップ対象のテナント名を指定します。複数のテナント名を同時に指定することができ、異なるテナント名は半角カンマ(,)で区切ります。すべてのユーザーテナントを指定する必要がある場合は、システムテナントで ALTER SYSTEM BACKUP [INCREMENTAL] DATABASE ステートメントを実行する必要があります。
注意このコマンドを実行できるのはシステムテナントのみです。システムテナントは |
| INCREMENTAL | 増分バックアップを表します。 |
| desprition | 操作の説明情報を指定します。オプションです。 |
例
現在のクラスタには 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;ステートメント実行後、システムはそのテナントのデータバックアップパスにアーカイブログを含む完全なデータセットを生成します。コミュニティエディションおよび単一マシンエディションのユーザーは、物理スタンバイデータベースのシナリオでこのデータセットを使用してスタンバイテナントを作成できます。アーカイブログ付きの完全なデータセットを使用してスタンバイテナントを作成する詳細な操作については、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 DATABASE;テナント
oracle_tenantは、自身に対してアーカイブログ付きのフルデータバックアップを開始します。obclient [SYS]> ALTER SYSTEM BACKUP DATABASE PLUS ARCHIVELOG;テナント
mysql_tenantは、自身に対して増分データバックアップを開始します。obclient [oceanbase]> ALTER SYSTEM BACKUP INCREMENTAL DATABASE;