最近搭建了oracle客户端,用于连接oracle服务器,因为是64位首次安装,出了不少问题,最后勉强全部安装完毕。
其中客户端是oracle10g,服务器是oracle11g。
但是碰到了问题,纠结了很长时间。
客户端连接服务端时,比如sqlplus wangjm/wangjm@myora,连接不通,报ORA-12154: TNS:could not resolve the connect identifier specified。
但是sqlplus wangjm/wangjm@192.168.10.1:1521/ora11g,可以连接成功。
网上找了很多资料,大部分说是客户端没有配置tnsnames.ora,和sqlnet.ora,但是我配置了之后发现还是不行。
tnsnames.ora配置如下:
MYORA =
(DESCRIPTION =
(CONNECT_DATA=(SERVICE_NAME=ora11g))
(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.10.1)(PORT=1521))
)
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)
sqlnet.ora配置如下:
NAMES.DIRECTORY_PATH= (TNSNAMES)
最后尝试用tnsping myora,发现还是不同,报错TNS-03505: Failed to resolve name,同样tnsping 192.168.10.1:1521/ora11g 可以成功。
最后在一篇资料中发现可能和环境变量有关系,查看了下.bash_profile,发现TNS_ADMIN没有配置,最后在环境变量中加入
export TNS_ADMIN=/home/oracle/product/10.2.0/client_1/network/admin/samples
tnsping sqlplus都显示成功
----end