【问题标题】:ORA-31655 when using VERSION=10.2 with expdpORA-31655 使用 VERSION=10.2 和 expdp
【发布时间】:2014-08-11 12:46:39
【问题描述】:

我正在尝试使用在 Oracle 12C 实例上运行的 Oracle Datapump 导出表。该模式有一个名为 KAT 的表。

当我使用以下方式进行导出时:

expdp USER/PASS directory=exp dumpfile=dump.dmp logfile=kat.log TABLES=KAT

一切都按预期进行。

当我尝试执行以下操作(以便能够在 Oracle 10g 数据库中导入数据)时,我收到以下错误:

expdp USER/PASS directory=exp dumpfile=dump.dmp logfile=kat.log TABLES=KAT VERSION=10.2

ORA-39166: Object USER.KAT was not found.
ORA-31655: no data or metadata objects selected for job

为什么?有什么想法吗?

【问题讨论】:

标签: sql oracle oracle12c datapump


【解决方案1】:

最可能的问题是您的表使用了 12c 中存在但 10.2 中没有的功能。我在尝试从 12c 数据库导出具有虚拟列(在 11.1 中引入)的表时收到完全相同的错误消息:

  • 没有VERSION(即COMPATIBLE):有效
  • VERSION=11.211.1:有效
  • VERSION=10.2: ORA-39166 错误。

可能是表本身的特征,或者是它的索引(或约束)之一。检查表的 DDL。

【讨论】:

  • 似乎是这样的。我已经使用 VERSION=11.2 将表导出到 11.2 数据库,然后使用 VERSION=10.2 从那里导出表,似乎可以工作。
  • 这很奇怪,在我描述 AFAIK 的情况下,11 -> 10 导出不应该起作用,或者发生了某种转换。我建议您仔细比较 12c 和 10.2 之间的 DDL,可能会有惊喜。
猜你喜欢
  • 2019-02-09
  • 2016-04-18
  • 2023-03-11
  • 2011-11-23
  • 2016-05-11
  • 2021-02-19
  • 2019-10-01
  • 2018-01-01
  • 2016-05-19
相关资源
最近更新 更多