説明
この構成パラメータは、V4.2.0バージョンから導入されました。
機能の概要
ls_gc_delay_timeは、テナントのログストリームの遅延削除時間を設定します。
OceanBaseデータベースは、V4.2.0バージョンからログストリームに基づく分離およびコンパクション機能を設計・実装し、ロードバランシングモジュールを提供しています。これにより、スケーリングアップやスケーリングダウンなどの機能が可能になります。データベースのスケーリングダウン操作時、GC(ガベージコレクション)条件を満たすログストリームは迅速に削除され、同時にシステムはPalfに対応するログストレージもクリーンアップします。
さらに、OceanBaseデータベースはV4.2.0バージョンから、ネットワークに基づくフィジカル・スタンバイ・データベースを実装しました。フィジカル・スタンバイ・データベースアーキテクチャでは、ソース側のプライマリまたはスタンバイテナントでログアーカイブが有効になっていない場合、データベースのスケーリングダウン操作後、ログストリームはすぐにクリーンアップされます。そのため、ソース側のログ回収によりスタンバイテナント全体のログ同期が滞る可能性が非常に高くなります。そのため、この構成パラメータを使用して、ソース側のプライマリまたはスタンバイテナントのログストリームの遅延削除時間を設定する必要があります。
権限要件
パラメータの確認
sysテナントとすべてのユーザーテナントはSHOW PARAMETERSステートメント、またはGV$OB_PARAMETERSビューを使用してこのパラメータを確認できます。パラメータの変更
sysテナントとユーザーテナントはこの構成パラメータを変更できます。
プロパティの説明
| プロパティ | 説明 |
|---|---|
| パラメータタイプ | Time |
| デフォルト値 | 0秒。ログストリームの遅延削除メカニズムが無効になることを示します。
説明V4.2.1 BP1バージョン以降、デフォルト値は3600秒から0秒に変更されました。 |
| 値の範囲 | [0s,+∞) |
| 変更は可能か | はい。ALTER SYSTEM SET ステートメントを使用して変更できます。 |
| OBServerノードの再起動が必要か | 不要です。設定は即時に反映されます。 |
使用方法
フィジカル・スタンバイ・データベースの場合:
ソース側のプライマリまたはスタンバイテナントでログアーカイブが有効になっていない場合、構成パラメータ
ls_gc_delay_timeのデフォルト値は3600秒、つまり1時間なので、ログの遅延削除メカニズムが有効になり、ログストリームの遅延削除時間は1時間になります。ソース側のプライマリまたはスタンバイテナントでログアーカイブが有効になっている場合、ログアーカイブによりログストリーミングデータ の整合性が保証されるため、ログストリームのGCはこの構成パラメータの影響を受けません。つまり、このシナリオでは、構成パラメータ
ls_gc_delay_timeの値に関係なく、ログの遅延削除メカニズムは有効になりません。
テナントを削除するシナリオでは、構成パラメータ
ls_gc_delay_timeの値に関係なく、ログストリームの遅延削除メカニズムは有効になりません。注意
この構成パラメータにおける遅延削除は、ログストリームエンティティのみを保持します。ログストリーム自体のログファイルを保持できるかどうかは、現在のテナントのディスク残り容量によって決まります。ディスク残り容量が不足している場合でも、依然としてログ回収がトリガーされます。
設定例
sysテナントで指定されたテナントのログストリームの遅延削除時間を設定します。
obclient> ALTER SYSTEM SET ls_gc_delay_time='7200s' TENANT = 'mysql_tenant';ユーザーテナントで、自身のテナントのログストリームの遅延削除時間を設定します。
obclient> ALTER SYSTEM SET ls_gc_delay_time='7200s';