0

我正在使用以下命令通过 EXPDP 导出表的数据

nohup expdp \"/ as sysdba\" directory=DATA_PUMP_DIR dumpfile=EXP.dmp logfile=EXP.log version=11.2.0.4 TABLES=CRM.CATEGORIES QUERY='"where bank_id='43'"'

收到以下错误

ORA-31693: 表数据对象 "CRM"."CATEGORIES" 未能加载/卸载并且由于错误而被跳过:

ORA-29913: 执行 ODCIEXTTABLEPOPULATE 标注时出错

ORA-01722: 无效号码

如果我从导出命令中删除查询参数,它工作正常。我尝试将版本参数更改为不同的值,但仍然得到相同的错误表中的 BANK_ID 列是 NVARCHAR2 数据类型。我不能使用 EXP,因为它在 db 上被阻止了。源数据库和目标数据库的 Oracle 版本均为 12.1.0.2.0。

4

3 回答 3

0

您可以尝试以这种方式更改您的查询过滤器:

QUERY=(CRM.CATEGORIES:"WHERE bank_id='43'")

请注意:

编辑 我设法使它以这种方式工作:

expdp \"/ as sysdba\" dumpfile=DATA_PUMP_DIR:test.dmp tableS=CRM.CATEGORIES QUERY='(CRM.CATEGORIES:"WHERE bank_id=43")'   logfile=DATA_PUMP_DIR:test.log
于 2018-12-11T07:26:41.923 回答
0

使用par文件文件,更容易

...查询=“其中银行ID=43”

干杯布赖恩

于 2019-10-24T07:36:27.080 回答
0

这在 Solaris 中对我有用(查询参数中使用的日期值)

expdp xxxxx/xxxx dumpfile=test_table.dmp logfile=test_table.log tables=scott.TEST 目录=DUMDIR query=scott.TEST:\"其中IMG_SAVE_DTTIM \<\ \'01-\JAN-\19\'\"

有关更多信息,请参阅.Doc ID 277010.1

于 2019-11-29T06:13:37.640 回答