【问题标题】:-bash: imp: command not found oracle-bash: imp: 找不到命令 oracle
【发布时间】:2014-05-08 06:46:57
【问题描述】:

我有一台centos Linux 机器和一台oracle server 安装在位于远程位置的服务器上。

我已经使用链接在我的 Linux centos 机器上安装了oracle client

How to install SQL * PLUS client in linux

可能会注意到在安装客户端时没有/network/admin 目录,因此没有tnsnames.ora 文件。现在我手动创建了目录并创建了一个 tnsnames.ora 文件。我可以连接到远程服务器。

现在当我查看 bin 文件夹时,我只得到了三个 exe

 adrci  genezi  sqlplus.

我找不到小鬼。

因此,当我尝试将转储文件从 centos 导入到 oracle 时,出现错误:

-bash: imp: command not found

我正在使用以下命令在 oracle 服务器上导入转储:

imp 'rdsuser@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(Host=oracledbrds.cwuabchlhlu.us-east-2.rds.amazonaws.com)(Port=1521))(CONNECT_DAT                                                                                        A(SID=oracledb)))'

请帮忙

【问题讨论】:

    标签: sql linux oracle bash oracle11g


    【解决方案1】:

    即时客户端不包含完整客户端中的许多工具,包括imp/exp、它们较新的数据泵等价物、SQL*Loader 等。See the instant client FAQ,这突出表明它主要用于分发您自己的应用程序,但可以包括 SQL*Plus - 唯一提到的工具。

    如果您需要使用导出/导入或任何其他工具,那么您需要安装完整的客户端,或在服务器上运行它们;这可能是 AWS 的问题。 Amazon have an article on importing data into Oracle.

    顺便说一句,只要将 TNS_ADMIN 设置为指向该位置,您就可以将 tnsnames.ora 文件放在任何位置,但无论如何您都没有在 imp 命令中引用它 - 您指定了所有连接数据。如果您知道服务名称,它可能与 SID 不同(您可以在服务器上运行 lsnrctl services 以找到正确的值),您可以使用“easy connect”语法:

    sqlplus rdsuser@//oracledbrds.cwuabchlhlu.us-east-2.rds.amazonaws.com:1521/your_service_name
    

    【讨论】:

    • 如何安装完整的 oracle 客户端或 imp/exp 实用程序
    • 您可以获取快速版here,或标准/企业版here - 您可以从平台旁边的“查看全部”链接获取客户端,11g 或 12c .不过,您需要考虑许可,具体取决于您在做什么。安装说明因版本和平台而异,您可以从相同的链接获取。
    • 您的转储文件来自哪里 - 您可以将数据直接从原始数据库传输到 AWS(请参阅我添加到答案中的文档链接)?或者,如果您坚持使用旧版导出而不是数据泵,您可以在导出的服务器上使用 imp 工具吗?
    • 我无法直接将数据库导入oracle rds,我必须使用一些实用程序。请帮忙。
    • oracle服务器版本为11.2
    猜你喜欢
    • 2011-09-30
    • 2022-10-19
    • 2016-09-02
    • 1970-01-01
    • 2020-03-11
    • 2013-03-01
    • 2016-03-24
    • 2018-05-28
    • 2018-12-16
    相关资源
    最近更新 更多