文档解释
ORA-02211: invalid value for PCTFREE or PCTUSED
Cause: The specified value for PCTFREE or PCTUSED is not an integer between 0 and 100.
Action: Choose an appropriate value for the option.
ORA-02211: invalid value for PCTFREE or PCTUSED 错误(英语:ORA-02211: Invalid Value for PCTFREE or PCTUSED)指的是 PCTFREE 错误,因为 PCTFREE 参数的值超出了允许的范围(低于 0 或者高于 99)。
官方解释
PCTFREE 参数指定创建新段之前可以不分配的空白块数,用以利于空间的重新将各种动态数据块的空余空间及时的释放出来。在此,建议你执行 ALTER TABLE 语句,再次重新指定 PCTFREE 和 PCTUSED 参数。
常见案例
> ORA-02211: 在创建索引时,试图向索引段添加 PCTFREE 参数值,而参数值超出了允许的范围(低于 0 或者高于 99)时,会产生 ORA-02211 错误。
正常处理方法及步骤
1. 检查 PCTFREE 和 PCTUSED 参数
通过执行下列 SQL 语句,检查 PCTFREE 和 PCTUSED 参数的值:
SELECT pctfree, pctused FROM user_segments;
2. 重新指定 PCTFREE 和 PCTUSED 参数
通过执行下列的 ALTER TABLE 语句来重新指定 PCTFREE 和 PCTUSED 参数:
ALTER TABLE table_name
MODIFY pctfree pctfree_value,
PCTUSED pctused_value;