我们在 2 个不同的服务器中安装了 oracle。
服务器 1:甲骨文版本详细信息
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
服务器 2:甲骨文版本详细信息
Oracle Database 11g Release 11.2.0.1.0 - 64bit Production
PL/SQL Release 11.2.0.1.0 - Production
"CORE 11.2.0.1.0 Production"
TNS for 64-bit Windows: Version 11.2.0.1.0 - Production
NLSRTL Version 11.2.0.1.0 - Production
我需要将数据库备份从服务器 1 导入到服务器 2。我试过这个。
从服务器 1 导出:
EXPDP Username/Password@xe DIRECTORY=CUSTOM_DIR SCHEMAS=PRICE DUMPFILE=PRICE.DMP
导入到服务器 2:
IMPDP Username/Password@"(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=Test)(PORT=1500)))(CONNECT_DATA=(SID=TESTSID)))" DIRECTORY=CUSTOM_DIR DUMPFILE=TEST.DMP TABLE_EXISTS_ACTION=REPLACE LOGFILE=TEST.LOG
导入时,我得到异常,因为,
Copyright (c) 1982, 2013, Oracle and/or its affiliates. All rights reserved.
UDI-00018: Data Pump client is incompatible with database version 11.2.0.1.0
是否可以在不同版本之间导入备份。?
是的,这是可能的。 您需要在导出时提供"版本"参数,并指定 11.2.0.1。 这将指示 expdp 创建与该版本兼容的 dmp 文件。 请参阅 expdp 命令参考
我尝试使用 Oracle Database 12g Data Pump 在 Oracle 11g数据库中导入转储文件。我得到的回报是UDI-00018:数据泵客户端与数据库版本11.2.0.4.0不兼容。
原因是:两个不同版本的 Oracle Homes,调用的 expdp/impdp 是错误的(验证路径变量)。
这可能发生在您身上。您的环境中有另一个 $ORACLE_HOME,并且调用的数据泵来自此环境。验证您的 .bash_profile 或 .profile 文件并设置正确的环境。