PL/Sql 连接数据库 超时问题解决--转(2012-08-01 10:14:27)转载▼标签: oraclepl/sql 分类: 数据库SQL
前提配置:本机是ORACLE服务端 用PLSQL连接远程的服务端
大致有以下解决方案:
第一个方案:
按照配置流程:
第一:保证数据库安装没有出问题,本页有数据库安装的具体介绍。
第二:找到D:\app\Administrator\product\11.1.0\db_2\NETWORK\ADMIN下面的listener.ora 其中的HOST为本机的ip也可以填写计算机名称;此处为计算机名称。
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = WIN-3IDOESF6ATU)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
)
第三:找到D:\app\Administrator\product\11.1.0\db_2\NETWORK\ADMIN下面的tnsnames.ora
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = WIN-3IDOESF6ATU)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
我出现的ORA-12170: TNS: 连接超时问题,解决方案,改上面的host名为主机名WIN-3IDOESF6ATU或127.0.0.1
HOST为本机的ip也可以填写计算机名称;此处为计算机名称。还有一点就是计算机名称有时候最好不要改,很容易出问题。
autotestingv2_129 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.6.50.129)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
连接远程的服务器IP为10.6.50.129的数据库服务器。 注意 autotestingv2_129前面不要有空格。
第二种方案:
PLSQL登陆时报异常:ORA-12170: TNS: 连接超时
下面是调试测试的各个步骤:
在CMD窗口可以正常连接数据库
CMD输入:lsnrctl status 结果:命令执行成功
CMD输入:tnsping ora11g 结果:TNS-12535: TNS: 操作超时
CMD输入:ping Michael-PC 结果:发现IP是当前网络的地址并不是127.0.0.1或者localhost
其中Michael-PC 为计算机名称。
基于上面的调试分析如下:连网的情况下系统未能把Michael-PC解析为localhost
解决方法如下:
C:\Windows\System32\drivers\etc 找到系统的hosts文件,修改如下:
# localhost name resolution is handled within DNS itself.
# 127.0.0.1 localhost
# ::1 localhost
添加一条记录
# localhost name resolution is handled within DNS itself.
# 127.0.0.1 localhost
# ::1 localhost
127.0.0.1 Michael-PC
这样可以在连网的情况下也能正常连接数据库了。
第三种方案:
注意问题:
1 、安装的时候注意先不要装超级兔子,很容易跟ORACLE起冲突。
2、计算机名称最好不要改。
3.、如果是ORACLE重装的话 一定要把以前的删除干净,ORACLE删除本页有详细说明。
附:其他
一、TNListener没有开启
1.cmd---services.msc----以Oracle开头TNListener结尾的服务启动它
2.如果还没有启动,修改注册表cmd--regedit
找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\OracleTnsListener
添加一个字符串imagepath值为TNSLSNR.exe的路径
我的是D:\Oracle\Administrator\product\11.1.0\db_1\BIN\TNSLSNR
终于可以连接上了,高兴!
二
如果在本机可以正常使用,可是到局域网中的其他机器就出现“ORA-12170:TNS:连接超时
解决方法:
1.cmd-----ping ip地址 查看网络问题,看能否ping通
2.cmd-----tnsping ip地址(或者是服务器的实例名SID)如果报“TNS-12535:操作超时”,可能是服务器端防火墙 没有关闭
3.cmd----netstat -na 查看1521端口是否关闭,如果关闭Windows XP中的防火墙设置中将1521端口设为例外
4.cmd----lsnrctl status lsnrctl是listener-control 监听器的缩写,查看监听的状态