我正在尝试使用数据泵导入架构。这是我的问题:我只能访问源数据库服务器上的impdp实用程序,但它的版本是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.ora
; sourceDB
是在目标数据库中创建的公共数据库链接,指向源数据库。
但我收到了这个错误:
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
那我做错了什么?
有没有办法从源导入到目标?
答案 0 :(得分:0)
为了避免
LocalDate localDate = LocalDate.parse("2016-04-17"); LocalDateTime localDateTime = localDate.atStartOfDay(); Instant instant = localDateTime.toInstant(ZoneOffset.UTC);
是为了确保您能够连接到远程数据库。
我建议你开始确保它可以使用访问db-link的简单查询:
ORA-12170: TNS:Connect timeout occurred
您的问题的另一个解决方案是在导出文件时指定导出文件的目标版本,例如用:
SQL> select * from dual@sourceDB;