我在位于远程位置的服务器上安装了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)))'
请帮助
答案 0 :(得分:0)
即时客户端不包含完整客户端中的许多工具,包括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