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 =
第三:找到D:\app\Administrator\product\11.1.0\db_2\NETWORK\ADMIN下面的tnsnames.ora
ORCL =我出现的ORA-12170: TNS: 连接超时问题,解决方案,改上面的host名为主机名WIN-3IDOESF6ATU或127.0.0.1
HOST为本机的ip也可以填写计算机名称;此处为计算机名称。还有一点就是计算机名称有时候最好不要改,很容易出问题。
autotestingv2_129 =
(DESCRIPTION =
)
连接远程的服务器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
#
::1
添加一条记录
# localhost name resolution is handled within DNS itself.
#
127.0.0.1
#
::1
127.0.0.1
这样可以在连网的情况下也能正常连接数据库了。
第三种方案:
注意问题:
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
3.cmd----netstat -na 查看1521端口是否关闭,如果关闭Windows XP中的防火墙设置中将1521端口设为例外
4.cmd----lsnrctl status