文档解释
ORA-39912: Partitioned index string.string in tablespace string points to table string.string in tablespace string outside of transportable set.
Cause: Informational message to describe a failure during transportable containment checking.
Action: None required.
。
这个错误的正确提示是:ORA-39912: 将表空间string中的分区索引string.string指向表空间string中的表string.string但它们不在可传输集中。
官方解释
ORA-39912表明您尝试从数据定义语言(DDL)脚本将表空间string中的分区索引string.string指向表空间string中的表string.string,但它们不在可传输集中。可传输集是使用Data Pump Export和Data Pump Import导入和导出数据之前定义的受保护范围,它包括某些关联对象,如分区索引和表。
常见案例
当您定义可传输集时,您通常会在提供可传输集的DDL中把一个分区索引指向一个表,以确保它们可以跨数据库正确传输。ORA-39912表示受保护库中没有定义所有关联对象,以确保它们正确传输。这主要发生在您未把联系到导出对象的对象添加到定义的可传输集中时,导致该错误消息。
一般处理方法及步骤
要解决ORA-39912错误,您需要向可传输集中添加所有分区索引和表,然后再次运行Data Pump Export和Data Pump Import命令。同样,您还可以检查索引和表的表空间位置,以确保它们存储在同一表空间中。