日期:2014-05-17  浏览次数:21053 次

oracle exp/imp 无法解析指定的连接标识符
环境:oracle10g
本地机器IP: 192.168.8.89
本地Oracle数据库SID: sysdb
tnsnames.ora写法如下:
SYSDB =
  (DESCRIPTION =
  (ADDRESS = (PROTOCOL = TCP)(HOST = Haiyang-TP)(PORT = 1521))
  (CONNECT_DATA =
  (SERVER = DEDICATED)
  (SERVICE_NAME = sysdb)
  )
  )
其中Haiyang-TP是我的主机名。

问题说明:
使用 exp test/test@sysdb file=d:\d1.dmp 可以成功的导出数据库。
但是如下两种写法均会出现“无法解析指定的连接标识符”的错误
exp test/test@192.168.8.89/sysdb file=d:\d1.dmp
exp test/test@127.0.0.1/sysdb file=d:\d1.dmp
exp test/test@Haiyang-TP/sysdb file=d:\d1.dmp
为什么?

------解决方案--------------------
简单连接应该是可以的。
你查的一下你的%ORACLE_HOME\network\admin下的sqlnet.ora
是否有NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)
如果有,在连接时加上端口试试,如:

exp test/test@192.168.8.89:1521/sysdb file=d:\d1.dmp
exp test/test@127.0.0.1:1521/sysdb file=d:\d1.dmp
exp test/test@Haiyang-TP:1521/sysdb file=d:\d1.dmp