ORA-31694: master table string failed to load/unload

文档解释

ORA-31694: master table string failed to load/unload

Cause: Master table failed to load or unload.

Action: Check load/unload error, correct problem and retry command.

ORA-31694 说明主表(master table)未能成功地加载或者卸载。这是一个特定的 Oracle 错误代号,它专门用来表示 Data Pump 行为的失败。

Data Pump 是 Oracle 所提供的一种备份和恢复工具,它可以在一个服务器上对数据库中的数据进行备份,也可以在另一个服务器上进行数据库恢复 。Data Pump 只会备份和恢复表空间,而不会备份和恢复元数据。如果在一个服务器上备份了一个数据表的内容,那么在另一个服务器上恢复时必须先建立这个表的结构,如果先将数据恢复,而后建立表的结构,那么之前恢复的数据将会丢失。

因此,如果在执行 Data Pump 加载或者卸载时发生 ORA-31694 错误,就表明恢复的表空间没有建立主表(master table),而导致 Data Pump 操作失败。

一般处理方法及步骤

1. 确认备份是否完整,检查备份文件中是否有主表(master table);

2. 如果备份文件中没有主表,则使用 EXPDP 命令分别备份每个表空间;

3. 使用 IMPDP 命令来加载每个表空间;

4. 完成加载后,需要在数据库中建立外部表和分区(external tables and partitions);

5. 使用新创建的表或分区,替换原来的表或分区,使用 REPLACE_TABLES 参数来进行替换;

6. 最后使用数据库 诊断工具(database diagnosis tool)来检查数据库状态,确保恢复…………有可能时成功了,也有可能失败了。

你可能感兴趣的