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