ORA-31655 使用 VERSION=10.2 和 expdp

Posted

技术标签:

【中文标题】ORA-31655 使用 VERSION=10.2 和 expdp【英文标题】:ORA-31655 when using VERSION=10.2 with 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

为什么?有什么想法吗?

【问题讨论】:

你的 KAT 表有外键吗? 是的,确实如此。为什么这很重要?只有当我添加 VERSION 参数时它才会失败。 希望这个答案能解决你的问题community.oracle.com/thread/2258458?start=0&tstart=0 【参考方案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,可能会有惊喜。

以上是关于ORA-31655 使用 VERSION=10.2 和 expdp的主要内容,如果未能解决你的问题,请参考以下文章

表名在数据库中的存储大写和小写略解

深度学习第一步——Pytorch-Gpu环境配置:Win11/Win10+Cuda10.2+cuDNN8.5.0+Pytorch1.8.0(步步巨细,少走十年弯路)

Transportable tablespace on standby (Doc ID 788176.1)

Android问题-“signaturs do not match the previously installed version”

POI使用--循环word模版填入对应数据图片(包含嵌套循环)

POI使用--循环word模版填入对应数据图片(包含嵌套循环)