1

我正在尝试使用数据泵导入模式。这是我的问题:我只能访问源数据库服务器上的实用程序,但它是 11.1 版本,而目标数据库版本是 11.2,所以如果我运行导入,我得到一个错误:

UDI-00018: Data Pump client is incompatible with database version 11.01.00.06.00

我想通过使用我的笔记本电脑来解决这个问题,该笔记本电脑安装了与目标数据库相同的 Oracle express 版本 11.2,使用以下命令:

impdp username/password@targetDB directory=data_pump_dir network_link=sourceDB schemas=EMP

在此命令中,targetDB是在我的本地 oracle 上创建的公共数据库链接,并且已将相同的记录添加到tnsnames.orasourceDB是在目标数据库中创建的公共数据库链接,指向源数据库。

但我得到了这个错误:

Connected to: Oracle Database 11g Release 11.2.0.2.0 - 64bit Production
ORA-39001: invalid argument value
ORA-39200: Link name "sourceDB" is invalid.
ORA-12170: TNS:Connect timeout occurred

源数据库版本是:

Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - 64bit Production PL/SQL Release 11.1.0.6.0 - Production
CORE 11.1.0.6.0 Production
TNS for 64-bit Windows: Version 11.1.0.6.0 - Production
NLSRTL Version 11.1.0.6.0 - Production

目标数据库版本是:

Oracle Database 11g Release 11.2.0.2.0 - 64bit Production
PL/SQL Release 11.2.0.2.0 - Production
CORE 11.2.0.2.0 Production
TNS for Linux: Version 11.2.0.2.0 - Production
NLSRTL Version 11.2.0.2.0 - Production

我的本地数据库版本是:

Oracle Database 11g Express Edition Release 11.2.0.2.0 - Production              
PL/SQL Release 11.2.0.2.0 - Production                                           
CORE    11.2.0.2.0  Production                                                         
TNS for 32-bit Windows: Version 11.2.0.2.0 - Production                          
NLSRTL Version 11.2.0.2.0 - Production  

那么我做错了什么?

有没有办法从源导入到目标?

4

1 回答 1

0

看起来您无法远程访问本地数据库:

为了避免

ORA-12170: TNS:Connect timeout occurred 是为了确保您能够连接到远程数据库。

我建议您开始确保它适用于访问 db-link 的简单查询:

SQL> select * from dual@sourceDB;

另一种解决方案

您的问题的另一个解决方案是在导出文件时指定导出文件的目标版本,例如:

version=11.1
于 2016-06-07T07:24:47.033 回答