増分バックアップとは、前回のフルバックアップまたは増分バックアップから開始し、変更されたすべてのマクロブロックをバックアップすることです。つまり、既にバックアップ済みのデータの増分部分のみを対象にバックアップします。例えば、現在のテナントで最後に行われたバックアップがフルバックアップの full_backup_set の場合、システムは full_backup_set 以降に変更されたすべてのマクロブロックをバックアップします。テナントで最後に行われたバックアップが増分バックアップの inc_backup_set の場合、システムは inc_backup_set 以降に変更されたすべてのマクロブロックをバックアップします。
制限事項と注意点
増分データバックアップを実行するには、フルデータバックアップが既に存在していることを確認する必要があります。フルデータバックアップが存在しない状態で直接増分バックアップを開始すると、システムはデフォルトで増分バックアップをフルバックアップに変換します。
低バージョンのクラスタを高バージョンのクラスタにアップグレードする場合、現在のテナントが低バージョンでフルバックアップを実行していたとしても、高バージョンのクラスタにアップグレード後に直接増分バックアップを開始すると、システムはデフォルトで増分バックアップをフルバックアップに変換します。
増分バックアップの開始
準備が完了したら、以下の方法で増分データバックアップを開始できます。
現在のクラスタには、sys、mysql_tenant、oracle_tenant の3つのテナントがあるとします。
システムテナントによる増分バックアップの開始
sys テナントは、クラスタ内のすべてのテナントまたは指定されたテナントに対して増分データバックアップを開始できます。
rootユーザーでクラスタのsysテナントにログインします。(オプション) テナントのバックアップ並列度を設定します。
バックアップの並列度は、テナントレベルの構成パラメータ
ha_low_thread_scoreによって制御されます。この構成パラメータは、バックアップやバックアップのクリーンアップなどの中低優先順位タスクキューで使用するスレッド数を指定するために使用され、値の範囲は [0, 100] で、デフォルト値は0です。バックアップ開始前に、構成パラメータha_low_thread_scoreの値を適切に引き上げることができ、推奨されるのは毎回値を倍にすることです。構成パラメータha_low_thread_scoreの関連操作については、データバックアップ関連パラメータの確認 を参照してください。構成パラメータ
ha_low_thread_scoreの詳細については、ha_low_thread_score を参照してください。クラスタ内のすべてのテナントのバックアップ並列度を設定する
obclient [(none)]> ALTER SYSTEM SET ha_low_thread_score = 10 TENANT = all_user;または
obclient [(none)]> ALTER SYSTEM SET ha_low_thread_score = 10 TENANT = all;説明
OceanBaseデータベースはV4.2.1バージョンから、
TENANT = all_userとTENANT = allは同じ意味を持ちます。すべてのユーザーテナントに適用範囲を広げる必要がある場合は、TENANT = all_userの使用を推奨します。今後、TENANT = allは廃止され、使用されなくなります。クラスタ内の指定されたテナントのバックアップ並列度を設定する
obclient [(none)]> ALTER SYSTEM SET ha_low_thread_score = 10 TENANT = mysql_tenant;
以下のステートメントを実行して、増分データバックアップを開始します。
クラスタ内のすべてのテナントに対して増分データバックアップを開始する
この方法では、クラスタ内のすべてのテナントに対して増分データバックアップが開始されます。
obclient [(none)]> ALTER SYSTEM BACKUP INCREMENTAL DATABASE;コマンドの実行が成功した後、この例では、システムはクラスタ内の
mysql_tenantおよびoracle_tenantテナントに対して増分データバックアップを開始します。クラスタ内の指定されたテナントに対して増分データバックアップを開始する
この方法では、指定されたテナントにのみ増分データバックアップが開始され、クラスタ内の他のテナントには影響しません。
mysql_tenantテナントに対して増分データバックアップを開始する例は次のとおりです:obclient [(none)]> ALTER SYSTEM BACKUP INCREMENTAL TENANT = mysql_tenant;説明
複数のテナントを同時に指定する場合は、テナント名の間に英語のカンマ (`,`) を使用して区切ります。
コマンドの実行が成功した後、この例では、システムはクラスタ内の
mysql_tenantテナントに対して増分データバックアップを開始します。
増分バックアップ中は、増分バックアップの進捗状況をリアルタイムで確認できます。具体的な操作については、データバックアップの進捗状況の確認 を参照してください。
ユーザーテナントによる増分バックアップの開始
ユーザーテナントは、自身のテナントに対して増分データバックアップを開始でき、他のテナントには影響しません。
テナント管理者がデータベースにログインします。
この例では、
rootユーザーでmysql_tenantテナントにログインするか、SYSユーザーでoracle_tenantテナントにログインすることができます。(オプション)バックアップの並列度を設定します。
バックアップの並列度は、テナントレベルの構成パラメータ
ha_low_thread_scoreによって制御されます。この構成パラメータは、バックアップやバックアップクリーンアップなどの中低優先順位タスクキューで使用するスレッド数を指定するために使用され、値の範囲は [0, 100] で、デフォルト値は0です。バックアップ開始前に、構成パラメータha_low_thread_scoreの値を適切に引き上げることができます。推奨されるのは、毎回値を2倍にすることです。構成パラメータha_low_thread_scoreの関連操作については、データバックアップ関連パラメータの確認を参照してください。構成パラメータ
ha_low_thread_scoreの詳細については、ha_low_thread_scoreを参照してください。obclient [(none)]> ALTER SYSTEM SET ha_low_thread_score = 10;以下のステートメントを実行して、増分データバックアップを開始します。
obclient [(none)]> ALTER SYSTEM BACKUP INCREMENTAL DATABASE;コマンドの実行が成功すると、システムは該当するテナントに対して増分データバックアップを開始します。
増分バックアップ中は、増分バックアップの進捗状況をリアルタイムで確認できます。具体的な操作については、データバックアップの進捗状況の確認を参照してください。