我有一台 centos Linux
计算机和一个安装在远程位置的服务器上的 oracle 服务器
。
我已经使用以下链接在我的 Linux centos 计算机上安装了 oracle 客户端
:
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)))'
请帮忙
最佳答案
即时客户端不包含完整客户端中的许多工具,包括 imp
/exp
、其较新的数据泵等效项、SQL*Loader 等。See the instant client FAQ ,其中强调它主要用于与您自己的应用程序一起分发,但可以包括 SQL*Plus - 唯一提到的工具。
如果您需要使用导出/导入或任何其他工具,那么您将需要安装完整的客户端,或在服务器上运行它们;这可能是 AWS 的问题。 Amazon have an article on importing data into Oracle .
顺便说一句,您可以将 tnsnames.ora
文件放在任何位置,只要将 TNS_ADMIN
设置为指向该位置即可,但您无论如何都不会在 imp
命令中引用它 - 您正在指定所有连接数据。如果您知道服务名称,该名称可能与 SID 不同(您可以在服务器上运行 lsnrctl services 来查找正确的值),您可以使用“easy connect”语法:
sqlplus rdsuser@//oracledbrds.cwuabchlhlu.us-east-2.rds.amazonaws.com:1521/your_service_name
关于sql - -bash : imp: command not found oracle,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23534668/