文档解释
ORA-25177: UNRECOVERABLE option not permitted
Cause: The UNRECOVERABLE option may not be specified for a primary key for a table with this organization
Action: Remove UNRECOVERABLE option for primary key
ORA-25177: UNRECOVERABLE Option Not Permitted 错误是由于用户尝试创建一个可移植并能永久保存其内容的表,用户在表里使用UNRECOVERABLE 参数来取代 LOGGING 参数而出现的错误。
官方解析:
ORA-25177: UNRECOVERABLE 参数不被允许。
SQL> SELECT * FROM V$VERSION
其中,V$VERSION 是 Oracle 数据库内置视图。
UNRECOVERABLE 标志是不能用于建表时 LOGGING 参数的替代品,这是Oracle 所不允许的。只有 NOLOGGING 参数才可用来取代 LOGGING 参数。因此,只有使用 NOLOGGING 参数时,才可以定义表为 NOLOGGING 类型,来保持数据的永久性质。
常见案例
ORA-25177 的错误常常发生在建表时,用户尝试使用 UNRECOVERABLE 参数替代 LOGGING 参数。此外,也可能在使用外部表时出现此错误,特别是当用户尝试重新使用 ORACLE_DATAPUMP 提供程序进行外部表时。
一般处理方法及步骤
1、检查ORACLE_DATAPUMP 用户及授权:
将 ORACLE_DATAPUMP 用户授权为 IMP_FULL_DATABASE 和 EXP_FULL_DATABASE 即可。
2、检查 Oracle 数据库访问权限:
请确保 Oracle 数据库已正常开放。
3、查看 CREATE TABLE 语句,将 UNRECOVERABLE 替换为 LOGGING 或 NOLOGGING:
如果 CREATE TABLE 语句中包含 UNRECOVERABLE 参数,则需要把 UNRECOVERABLE 参数替换为 LOGGING 或 NOLOGGING,才能执行成功。