DDL表重整或复制行数限制(tab_rebuild_limit)
📄字数 633
👁️阅读量 加载中...
引入版本
v11.0.0
功能描述
重整表或复制表时数据行数的条件阈值(单位:百万)。
参数属性
属性 | 属性值 |
---|---|
参数类型 | INTEGER |
默认值 | 10 |
取值范围 | [0,10000] |
影响范围 | 系统级 |
修改方式 | 在线修改,立即生效 |
使用场景说明
- tab_rebuild_limit = 0,对重整表和复制表不设数据行数条件阈值,可以对任意体量的表进行重整或复制(磁盘空间足够的情况下)。
- 修改表结构可能会重整表数据,若待重整表数据行数大于 tab_rebuild_limit,系统将中止任务并上报 E5253 异常(非 SYSDBA 用户)。
修改表动作 | 是否产生重整表 |
---|---|
删除表字段 | 是 |
新增表字段(带有默认值约束) | 是 |
修改表字段(修改前后类型不一致, CHAR 改 VARCHAR、VARCAHR 改 CHAR 除外 ) | 是 |
修改表字段(修改前后类型一致,但精度不一致) | 是 |
重整表 | 是 |
- 复制表时(CREATE .. AS SELECT ..),若被复制表的数据行数大于 tab_rebuild_limit,系统将提前结束任务并上报 E5261 异常。
- SYSDBA 用户不受该参数影响。
示例
- 在线修改 tab_rebuild_limit
sql
SQL> set tab_rebuild_limit to 10;
Execute successful.
Use time:2 ms.
- 在线查看 tab_rebuild_limit
sql
SQL> show tab_rebuild_limit;
+-------------------+
| TAB_REBUILD_LIMIT |
+-------------------+
| 10 |
+-------------------+
(1 row)
Use time:0 ms.