我们在2个不同的服务器上安装了oracle。
服务器1:Oracle版本详细信息
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版本详细信息
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
是否无法在不同版本之间导入备份。?
答案 0 :(得分:0)
是的,有可能。你需要提供"版本"导出参数,并指定11.2.0.1。这将指示expdp创建与该版本兼容的dmp文件。见expdp command reference
答案 1 :(得分:0)
我尝试使用 Oracle Database 12g数据泵在 Oracle 11g数据库中导入转储文件。我得到的回报是UDI-00018:Data Pump客户端与数据库版本11.2.0.4.0不兼容。
原因是:两个版本不同的Oracle Home,并且调用的expdp / impdp错误(验证路径变量)。
这可能与您有关。您的环境中还有另一个$ ORACLE_HOME,并且调用的数据泵来自该环境。验证您的.bash_profile或.profile文件并设置正确的环境。