PL/Sql 连接数据库 超时问题解决

前提配置:本机是ORACLE服务端 用PLSQL连接远程的服务端

大致有以下解决方案:

第一个方案:

按照配置流程:

第一:保证数据库安装没有出问题,本页有数据库安装的具体介绍。

第二:找到C:\oracle\product\10.2.0\db_1\NETWORK\ADMIN下面的listener.ora 其中的HOST为本机的ip也可以填写计算机名称;此处为计算机名称。

LISTENER =
(DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
      (ADDRESS = (PROTOCOL = TCP)(HOST = samfoo)(PORT = 1521))
    )
)

第三:找到C:\oracle\product\10.2.0\db_1\NETWORK\ADMIN下面的tnsnames.ora

ORCL =
(DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = samfoo)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)
    )
)

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删除本页有详细说明。

 

 

http://www.blogjava.net/freeman1984/archive/2011/04/15/348350.html

你可能感兴趣的:(PL/Sql 连接数据库 超时问题解决)