【发布时间】:2016-04-15 21:42:07
【问题描述】:
我在服务器中安装了 2 个 oracle 数据库(即)2 个不同的实例。从用户名、密码、SID、监听器,一切都不同。如下所述。
实例 1:
用户名:TEST
密码:TEST123
端口:1111
SID : 测试
实例 2:
用户名:新
密码:NEW123
端口:2222
SID : ForNew
我正在尝试通过给出以下 EXPDP 命令从实例 1 中导出一个表。
EXPDP TEST/TEST123@ForTest DIRECTORY=EXP_DIREC DUMPFILE=MAP_TABLE.DMP version=11.1 TABLES=MAP_TABLE
我遇到了这样的异常,
UDE-12154: operation generated ORACLE error 12154
ORA-12154: TNS:could not resolve the connect identifier specified
我在哪里可以指定,导出应该使用特定的实例。
【问题讨论】:
-
ForTest 是您应该在 tnsnames.ora 中拥有的连接标识符。另一种方法是使用这样的连接字符串(对于 Instance 1):
EXPDP TEST/TEST123@"(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(Host=YourHostName)(Port=1111)))(CONNECT_DATA=(SID=ForTest)))" DIRECTORY=EXP_DIREC DUMPFILE=MAP_TABLE.DMP version=11.1 TABLES=MAP_TABLE。甚至还有一种更短的方式称为 EzConnect,但它需要使用服务名称,并且根据您的操作系统,一些引号会转义。 -
在第二种方式中,我要去,但得到异常,LRM-00116:'ADDRESS_LIST' 处的语法错误'('
-
试试这个:
EXPDP TEST/TEST123@\"(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(Host=YourHostName)(Port=1111)))(CONNECT_DATA=(SID=ForTest)))\" DIRECTORY=EXP_DIREC DUMPFILE=MAP_TABLE.DMP version=11.1 -
非常感谢。效果很好。
-
这就是我所说的转义:)