故障修复结论:ORA-39114错误是因为网络作业(NETWORK_LINK参数)不支持直接使用转储文件(DUMPFILE)。解决方案是移除NETWORK_LINK参数,或使用数据库链接从源库直接导入数据,而非依赖本地dump文件。教程步骤:1. 检查impdp命令,确保未同时指定NETWORK_LINK和DUMPFILE;2. 如果必须用dump文件,改用本地导入模式directory参数;3. 远程处理时,创建DB_LINK后运行impdp network_link=源DB_LINK directory=本地目录。
来源1
ORA-39114: Network jobs do not support dump files. Cause: An attempt was made to specify one or more dump files when the network link parameter was specified. Network jobs do not utilize dump files. Action: Do not specify the dump file or directory parameters with the network_link parameter. If the dump file is on the auxiliary instance, use the dump file with a parallel Data Pump import using the DBMS_DATAPUMP package.
来源2
这个问题通常发生在使用impdp进行网络导入时,同时指定了dumpfile参数。网络链接模式下,Data Pump会直接从远程数据库读取数据,而不需要dump文件。修复方法:删除命令中的dumpfile和directory参数,只保留network_link和schemas等参数。例如:impdp user/pass@remote_db directory=DATA_PUMP_DIR schemas=HR network_link=REMOTE_DB。
来源3
远程处理指南:在源数据库执行expdp生成dump文件,然后在目标数据库使用impdp本地导入。如果必须网络导入,确保源端有数据库链接权限。测试命令:impdp system/password@targetpdb directory=ADMIN schemas=TESTUSER network_link=source_link remap_schema=TESTUSER:NEWUSER。避免混用NETWORK_LINK和DUMPFILE。
来源4
用户遇到ORA-39114,是因为在impdp命令中写了directory和network_link同时使用。正确做法是对于网络导入,directory参数仅用于日志文件,不用于dump文件位置。修改命令:impdp "/ as sysdba" schemas=APP_USER network_link=PROD_LINK logfile=import.log nlogtable=NONE。
来源5
故障排除:确认源数据库版本兼容,检查TNSNAMES.ORA配置,授予源用户DATAPUMP_IMP_FULL_DATABASE角色。远程指南:使用DBMS_DATAPUMP API编程方式处理复杂场景,如ADD_FILE句柄用于日志而非数据文件。
来源6
实际案例:expdp from prod to dump, then impdp to test with network_link=prod caused ORA-39114. Fix: impdp directly with network_link without dumpfile reference. Or scp dump to target and import locally.
FAQ
Q: 为什么网络作业不支持dump文件?
A: 因为NETWORK_LINK模式下Data Pump直接从远程DB元数据和数据流传输,无需中间dump文件。
Q: 如何创建数据库链接用于impdp?
A: CREATE DATABASE LINK link_name CONNECT TO user IDENTIFIED BY pass USING 'tns_name'; 然后impdp network_link=link_name。
Q: 可以并行网络导入吗?
A: 是,使用PARALLEL参数,但需源端worker进程支持。
Q: 错误后如何清理?
A: 检查并删除失败作业:SELECT * FROM dba_datapump_jobs; 然后DBMS_DATAPUMP.DETACH或STOP_JOB。