如何在同一台机器上安装oracle imp 11gr2和12cr2,并选择我想要使用的一台

如何在同一台机器上安装oracle imp 11gr2和12cr2,并选择我想要使用的一台,oracle,import,redhat,impdp,imp,Oracle,Import,Redhat,Impdp,Imp,我目前正在开发一个导入oracle dbs的应用程序。为了做到这一点,我正在使用数据泵和原始的imp客户端(版本12.2.0.1)。但是,我不能对11gr2数据库使用该imp客户端,我需要使用11gr2imp客户端 我已经有了从我的11gr2DBs之一获得的客户机和库,但是,如果我尝试执行它,我会得到以下错误: 未找到消息100;没有product=RDBMS的消息文件, facility=IMP:11.2.0.3.0版-1月5日星期五18:28:21生产 2018年 版权所有(c)1982、2

我目前正在开发一个导入oracle dbs的应用程序。为了做到这一点,我正在使用
数据泵
和原始的imp客户端(版本
12.2.0.1
)。但是,我不能对
11gr2
数据库使用该imp客户端,我需要使用
11gr2
imp客户端

我已经有了从我的
11gr2
DBs之一获得的客户机和库,但是,如果我尝试执行它,我会得到以下错误:

未找到消息100;没有product=RDBMS的消息文件, facility=IMP:11.2.0.3.0版-1月5日星期五18:28:21生产 2018年

版权所有(c)1982、2011、Oracl

导入实用程序名称的格式无效

验证ORACLE_HOME是否已正确设置

导入终止失败

IMP-00000:未找到消息0;没有product=RDBMS的消息文件, 设施=IMP

有人能指出如何让两个客户端在同一台机器上工作吗?提前谢谢

[更新] 我使用的是Red Hat OS,这是$ORACLE_HOME的输出: /root/oracle/instantclient\u 12\u 2


我尝试使用完整路径并将文件放在ORACLE_HOME中,但仍然出现相同的错误。谢谢

在Windows计算机上,我通常将目录(使用
CD
命令)更改为包含我想要使用的IMP的目录,例如:

C:\>
C:\>cd C:\oraclexe\app\oracle\product\11.2.0\server\bin

C:\oraclexe\app\oracle\product\11.2.0\server\bin>imp help=y

Import: Release 11.2.0.2.0 - Production on Sub Sij 6 06:45:43 2018
或者,如果您通过指定可执行文件的完整路径来调用这些实用程序,例如

C:\>
C:\>C:\oraclexe\app\oracle\product\11.2.0\server\bin\imp help=y

Import: Release 11.2.0.2.0 - Production on Sub Sij 6 06:47:30 2018

我希望您能够完成自己的任务。

您的问题很可能与将
LD\u LIBRARY\u PATH
PATH
设置到即时客户端目录有关。您可以在bash shell脚本中执行所有设置,如。
bash\u profile
.profile
.bashrc

  • 首先设置

    ORACLE_HOME=/root/oracle/instantclient_12_2; export ORACLE_HOME
    
  • 将包含即时客户端库的目录的名称添加到
    LD\u LIBRARY\u PATH
    。删除任何其他Oracle目录。 例如,要在Bourne或Korn Shell中设置
    LD_LIBRARY_PATH
    ,请使用以下语法:

    LD_LIBRARY_PATH=${ORACLE_HOME}/lib:${LD_LIBRARY_PATH}
    export LD_LIBRARY_PATH
    
    或者,要在
    C
    shell中设置
    LD\u LIBRARY\u路径
    ,请使用以下语法:

    % setenv LD_LIBRARY_PATH 
    $ORACLE_HOME/lib:$LD_LIBRARY_PATH
    
  • 确保从
    RPM
    安装的工具可执行文件是在
    路径中找到的第一个可执行文件。例如,要测试这一点,您可以输入
    哪个impdp
    ,哪个应该返回
    $ORACLE\u HOME/bin/impdp
    。如果没有,则从
    PATH
    中删除任何其他Oracle目录,或将
    $Oracle\u HOME/bin
    放在
    PATH
    中其他工具可执行文件之前,或使用绝对或相对路径启动Tools Instant Client。 例如,要在bash shell中设置
    路径

    PATH=/usr/bin:${PATH}:${ORACLE_HOME}:${ORACLE_HOME}/bin
    export PATH
    
  • 设置您的区域设置所需的Oracle全球化变量。如果未设置任何变量,则将假定默认区域设置

    NLS_LANG=AMERICAN_AMERICA.UTF8
    export NLS_LANG
    

  • 经过研究,我在尝试复制imp客户端版本11cr2时没有复制所有必需的文件。我通过复制$ORACLE\u HOME中的所有文件并将该位置作为我的新$ORACLE\u HOME来解决此问题。之后,只需将lib文件和imp从12cr2客户端安装复制到$ORACLE_HOME,并将imp 12cr2重命名为“imp12cr2”


    现在,如果我想使用11.2我使用imp,如果我想使用12cr2我使用imp12cr2

    你的操作系统是什么(基于unix或windows)?如果发布
    echo%ORACLE\u HOME%
    (如果基于windows)或
    echo$ORACLE\u HOME
    (如果基于unix),您会得到什么?请查看我的更新,是Red Hat,我包括了ORACLE\u HOME路径。谢谢,但我正在使用Red Hat,我已经尝试了完整路径,但它也不起作用。