OceanBaseデータベースのテナントシステム変数は、グローバル変数とセッション変数に分かれます。システム変数の設定により、OceanBaseデータベースの動作を業務要件に合わせることができます。
- グローバル変数:Globalレベルの変更を示し、データベース内の同一テナント内の異なるユーザー間でグローバル変数が共有されます。グローバル変数の変更は、セッションの終了によって無効になることはありません。また、グローバル変数の変更は現在開いているセッションには反映されず、新たにセッションを再確立する必要があります。
- セッション変数:Sessionレベルの変更を示します。クライアントがデータベースに接続すると、データベースはグローバル変数をコピーして自動的にSession変数を生成します。Session変数の変更は、現在のSessionにのみ有効です。
システム変数とシステム構成パラメータの比較:
| 比較項目 | システム構成パラメータ | システム変数 |
|---|---|---|
| 適用範囲 | クラスタ、ゾーン、マシン、およびテナントに分かれます。 | テナントのグローバルまたはセッションレベルに分かれます。 |
| 適用方法 |
|
|
| 変更方法 |
|
SQL文を使用してのみ変更できます。例:
|
| クエリ方法 | SHOW PARAMETERS ステートメントを使用してクエリできます。例:SHOW PARAMETERS LIKE 'schema_history_expire_time'; |
SHOW [GLOBAL] VARIABLES ステートメントを使用してクエリできます。例:
|
| 永続化 | 内部テーブルと設定ファイルに永続化され、/home/admin/oceanbase/etc/observer.config.bin および /home/admin/oceanbase/etc/observer.config.bin.history ファイルでこの構成パラメータを照会できます。 |
グローバルレベルの変数のみが永続化され、セッションレベルの変数は永続化されません。 |
| ライフサイクル | 長く、プロセスの起動から終了まで続きます。 | 短く、テナントのスキーマ作成が完了した後にのみ有効になります。 |