最近因为远程数据库服务器IP改了,然后因为我本机同时安装了oracle数据库服务器端和客户端,修改客户端的tnsnames.ora的host的IP;然后pl/sql就一直连不上远程数据库,一直报“连接超时”的错误。弄了两天才弄好,现在写下博客以作记录。(如果你可以连接本地数据库,但是不能连接远程数据库,可以往下看)
报错:
连接超时:TNS HOST的IP不对
无法解析指定的连接标识符;没有配置远程数据库TNS
问题在于:除了客户端目录下tnsnames.ora文件需要配置远程数据库的TNS,本机安装的服务器端oracle目录下也需要配置TNS,PL/SQL才能连接远程数据库。下面是详细步骤:
1.oracle客户端安装目录下的tnsnames.ora文件,需要配置远程数据库的TNS;我的路径是D:\oracle\Instant Client\network\admin\tnsnames.ora
远程服务器数据库名(知道数据库名忽略)可以通过xshell登录远程服务器后,输入"sqlplus",登录后,输入下列命令就可以看到数据库名了:
SQL> select name from v$database;
dqdb =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.159)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = dqdb)
)
)
2.本机安装的oracle服务器端目录下tnsnames.ora配置如上远程服务器的TNS参数。我的目录为:
D:\oracle\product\10.2.0\db_1\NETWORK\ADMIN\tnsnames.ora
3.PL/SQL的Tool(工具)——Preference(首选项)——connection(连接),oracle主目录和OCI库配置如下:
通过上面3步就可以连接上远程数据库了!
如果还是不能解决你的问题,可以在以下博客中看看:
http://blog.youkuaiyun.com/snow_crazy/article/details/19987135
提示:查看TNS配置的情况可以通过:开始菜单——oralce服务器端文件目录下——Net Manager工具