-bash: imp: 找不到命令 oracle

Posted

技术标签:

【中文标题】-bash: imp: 找不到命令 oracle【英文标题】:-bash: imp: command not found 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)))'

请帮忙

【问题讨论】:

【参考方案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

以上是关于-bash: imp: 找不到命令 oracle的主要内容,如果未能解决你的问题,请参考以下文章

Oracle数据库

为啥oracle ogg monitor jagent进程找不到,请教大神

oracle用imp导入用户数据时,提示表或视图不存在

我安装了oracle客户端 ,为啥在dos下不能imp/exp 指令

我在Oracle Linux上装了LibreOffice,装完后找不到菜单运行项,谁装成功过,命令行如何运行

Python import .pyc模块时提示找不到