Oracle中静态注册监听的问题

问题描述:

         用ASP.net基于oracle写的BS web应用程序,出现一个困扰很久的问题,就是过一段时间就会莫名其妙地出现无法连接数据库的问题。可是直接通过sqlplus本地连接又是可以的。只能是重启oracle开头的所有服务,连接成功。

查找原因:

        刚开始以为是程序的问题,数据库开了没关,查找了很久也没有找到。又以为是iis的问题,重启iis、设置连接数、配置连接池什么的都不行。后来偶然发现是因为服务器重启导致的,每次重启之后就发现网站无法连接的问题,有几次试着重启tnslisener监听,发现问题解决。上网发贴问了好久,有个热心人回答试着在listener.ora中加入静态注册。

         于是在服务器重启之后,利用命令lnsrctl status 查看监听程序,果然是服务orcl没有启动。在listener.ora中加入静态注册之后,再重启服务器连接正常。

解决方案:

      listener.ora完整文件,黑体部分是后来新增的静态注册文件。

      # listener.ora Network Configuration File: D:\app\Administrator\product\11.2.0\dbhome_1\network\admin\listener.ora
      # Generated by Oracle configuration tools.


SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = CLRExtProc)
      (ORACLE_HOME = D:\app\Administrator\product\11.2.0\dbhome_1)
      (PROGRAM = extproc)
      (ENVS = "EXTPROC_DLLS=ONLY:D:\app\Administrator\product\11.2.0\dbhome_1\bin\oraclr11.dll")
    )
    (SID_DESC =
      (SID_NAME = orcl)
      (ORACLE_HOME = D:\app\Administrator\product\11.2.0\dbhome_1)
      (GLOBAL_DBNAME = orcl)
    )

  )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.11.13)(PORT = 1521))
    )
  )

ADR_BASE_LISTENER = D:\app\Administrator

一些猜测:

         我本机的配置是 win7 32位+oracle 11g,没有出现这个问题。

          服务器的配置是windows server 64位+oracle 11g 32 位,会出现这个问题,有可能是系统与数据库版本兼容的问题?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值