増分バックアップは、前回のフルバックアップまたは増分バックアップ以降に変更されたすべてのマクロブロックをバックアップするものであり、既にバックアップ済みのデータの増分部分のみを対象とします。例えば、現在のテナントで最後に行われたバックアップがフルバックアップ 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の値を適切に引き上げることができます。推奨されるのは、毎回値を2倍にすることです。構成パラメータ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;コマンドの実行が成功すると、システムはこのテナントに対して増分データバックアップを開始します。
増分バックアップ中は、増分バックアップの進捗状況をリアルタイムで確認できます。具体的な操作については、データバックアップの進捗状況を確認するを参照してください。