説明
- V4.3.x系では、この構成パラメータはV4.3.5 BP2バージョンから導入されました。
- V4.2.x系では、この構成パラメータはV4.2.5バージョンから導入されました。
機能の概要
enable_lock_priorityはテーブルロックの優先順位を切り替えるスイッチです。有効にすると、特定のDDL(RENAME TABLE)が最も高いロック優先順位を持つようになります。つまり、他のDDL、ロック操作、またはDMLが同時にロックを待機している場合でも、対応するロックが解放された後にRENAME TABLEが最初にロックを取得します。
権限要件
パラメータの確認
sysテナントおよびすべてのユーザーテナントはSHOW PARAMETERSステートメント、またはGV$OB_PARAMETERSビューを使用してこのパラメータを確認できます。パラメータの変更
sysテナントとユーザーテナントはALTER SYSTEM SETステートメントを使用してこの構成パラメータを変更できます。
プロパティの説明
| プロパティ | 説明 |
|---|---|
| パラメータタイプ | Bool |
| デフォルト値 | FALSE |
| 値の範囲 |
|
| 変更は可能か | はい。ALTER SYSTEM SET ステートメントを使用して変更できます。 |
| OBServerノードの再起動が必要か | 不要です。設定は即時に反映されます。 |
使用方法
gh-ostまたはOceanBase Developer Center(OceanBase Developer Center、ODC)を使用してOnline DDLを実行する前に、対応するテナントのenable_lock_priorityを有効にする必要があります。有効化後は、ビューGV$OB_PARAMETERSを確認して、テナント内のすべてのマシンで変更が反映されていることを確認する必要があります。Online DDLの実行が完了したら、DDL操作がユーザーのDML業務に影響を与えないように、この構成パラメータを無効にする必要があります。
設定例
テーブルロック優先順位を有効にします。
ALTER SYSTEM SET enable_lock_priority = TRUE;パラメータの値を確認します。
SHOW PARAMETERS LIKE 'enable_lock_priority';実行結果は次のとおりです:
+-------+----------+----------------+----------+----------------------+-----------+-------+-----------------------------------------------------------------------------------------------------------------------------------+---------+--------+---------+-------------------+---------------+-----------+ | zone | svr_type | svr_ip | svr_port | name | data_type | value | info | section | scope | source | edit_level | default_value | isdefault | +-------+----------+----------------+----------+----------------------+-----------+-------+-----------------------------------------------------------------------------------------------------------------------------------+---------+--------+---------+-------------------+---------------+-----------+ | zone1 | observer | xxx.xx.xxx.001 | 2882 | enable_lock_priority | NULL | True | specifies whether to enable lock priority, which, when activated, gives certain DDL operations the highest table lock precedence. | TRANS | TENANT | DEFAULT | DYNAMIC_EFFECTIVE | False | 0 | | zone2 | observer | xxx.xx.xxx.002 | 2882 | enable_lock_priority | NULL | True | specifies whether to enable lock priority, which, when activated, gives certain DDL operations the highest table lock precedence. | TRANS | TENANT | DEFAULT | DYNAMIC_EFFECTIVE | False | 0 | | zone3 | observer | xxx.xx.xxx.003 | 2882 | enable_lock_priority | NULL | True | specifies whether to enable lock priority, which, when activated, gives certain DDL operations the highest table lock precedence. | TRANS | TENANT | DEFAULT | DYNAMIC_EFFECTIVE | False | 0 | +-------+----------+----------------+----------+----------------------+-----------+-------+-----------------------------------------------------------------------------------------------------------------------------------+---------+--------+---------+-------------------+---------------+-----------+ 3 row in setテーブルロック優先順位を無効にします。
ALTER SYSTEM SET enable_lock_priority = FALSE;