文档解释
ORA-14059: partition “string”: INITRANS value must be less than MAXTRANS value
Cause: Value of INITRANS was found to be greater than that of MAXTRANS for a partition whose name (explicitly specified by the user) is displayed in this message. Note that if INITRANS and/or MAXTRANS values for this partition were not specified explicitly, default values for the partitioned table or index would be used. If, in turn, default INITRANS and/or MAXTRANS values for the partitioned table or index were not specified, system defaults would be used.
Action: ensure that value of INITRANS (whether specified explcitly or derived from the default value for the partitioned table or index) is no greater than that of MAXTRANS
ORA-14059 错误消息代表INITRANS 值必须小于MAXTRANS值。
官方解释
ORA-14059: partition “string”:INITRANS 值必须小于MAXTRANS 值
该错误是指在创建或修改分区表时,在指定INITRANS 保留最大事务数时,MAXTRANS 值不能小于INITRANS 值。
遇到该错误的常见情况:
1. 尝试在分区表中设置INITRANS 字段值比MAXTRANS 字段值大。
2. 在ALTER TABLE 语句中分区表指定INITRANS 字段值为大于MAXTRANS 字段值。
正常处理方法及步骤
(1)确认INITRANS 和MAXTRANS 的值是否正确:
确保INITRANS 的值不能超过MAXTRANS 的值,如下的例子:
CREATE TABLE tablename
(
col1 LEFT,
col2 INTEGER
)
PARTITION BY LIST (col2)
(
PARTITION p1 VALUES (1) INITRANS 5 MAXTRANS 10
);
(2)如果INITRANS 值大于MAXTRANS ,那么需要调整INITRANS 关键字定义的值,本例子中将INITRANS 的值改为4:
CREATE TABLE tablename
(
col1 LEFT,
col2 INTEGER
)
PARTITION BY LIST (col2)
(
PARTITION p1 VALUES (1) INITRANS 4 MAXTRANS 10
);