説明
この構成パラメータは、V4.2.0バージョンから導入されました。
機能の概要
ls_gc_delay_timeは、テナントのログストリームの遅延削除時間を設定します。
OceanBaseデータベースは、V4.2.0バージョンからログストリームの分割・マージ機能に基づいたロードバランシングモジュールを設計・実装し、スケールアウトやスケールインなどの機能を提供しています。データベースのスケールイン操作時には、GC(Garbage Collection)の条件を満たすログストリームが迅速に削除され、同時にシステムは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';