首批通过分布式安全可靠测评,为关键业务系统打造
enable_lock_priority
更新时间:2026-06-28 09:45:24
说明
- 在 V4.2.x 版本中,该配置项从 V4.2.5 版本开始引入。
- 在 V4.3.x 版本中,该配置项从 V4.3.5 BP2 版本开始引入。
功能描述
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 开发者中心(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;