监听问题的常见处理方法

在介绍监听问题之前,先来介绍一下动态监听和静态监听,可以参阅:

http://blog.itpub.net/12679300/viewspace-1969620/  

根据日常的工作经验,监听有关的问题,常见的有如下几点(以下均以windows为例):

1.动态监听问题

动态监听注册失败,通常会报“监听找不到相关的服务”等,该报错通常会出现在windows操作系统下,处理办法有两种:

(1) 第一种处理 办法是登录数据库 ,然后注册服务:

sqlplus  / as sysdba

SQL> alter system register 

(2) 如果第一种方法解决不了问题,我们将动态监听修改为静态监听,监听文件类似如下:


2.监听日志太大问题

监听日志文件超过4G,现象是数据库连接工具连接数据库时卡顿,同时监听服务在启动时也会出现卡顿,这时很可能是监听日志文件过大的问题导致的,处理办法是进入到数据库安装路径下的监听日志路径,以windows为例,路径如下:

C:\app\Administrator\diag\tnslsnr\WIN-CGJ06AGK74N\listener\trace

进入到该路径后会看到一个listener.log日志文件,我们可以先确定一下该文件的大小 ,如果已经达到4G,可以直接删除该监听文件,或者备份到其他路径,然后删除该文件,之后重启监听,问题就可以得到解决。

3.监听端口问题

在有些oracle数据库中使用的不是默认端口1521,而是其他端口,这时我们在连接数据库时就需要使用相应的端口,确认端口的方法:

我们在cmd窗口中输入 lsnrctl status:

4. 端口映射问题

在有些项目中需要做内外网的端口映射,映射完之后,可能内网数据库端口是1521,而外网端口是映射端口。当我们的项目中有端口映射的时候,一定要注意区分开来,在内外网中使用相应的端口。

5. 监听配置文件问题

有些同事在通过数据库管理工具删除监听重新配置后,监听无法 正常启动,原因是通过工具删除监听时,监听文件内容仍保留了,以至于再重新配置时,监听文件的内容是混乱的,导致监听无法正常启动,此时我们可以手动修改监听文件:

例如路径为 :C:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN

比如这里我们修改为动态监听:

SID_LIST_LISTENER =

  (SID_LIST =

    (SID_DESC =

      (SID_NAME = CLRExtProc)

      (ORACLE_HOME = C:\app\Administrator\product\11.2.0\dbhome_1)

      (PROGRAM = extproc)

      (ENVS = "EXTPROC_DLLS=ONLY:C:\app\Administrator\product\11.2.0\dbhome_1\bin\oraclr11.dll")

    )

  )


LISTENER =

  (DESCRIPTION_LIST =

    (DESCRIPTION =

      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))

      (ADDRESS = (PROTOCOL = TCP)(HOST = WIN-CGJ06AGK74N)(PORT = 1521))

    )

  )


ADR_BASE_LISTENER = C:\app\Administrator


以下就是配置混乱的例子:

SID_LIST_LISTENER =

  (SID_LIST =

    (SID_DESC =

      (SID_NAME = CLRExtProc)

      (ORACLE_HOME = C:\app\Administrator\product\11.2.0\dbhome_1)

      (PROGRAM = extproc)

      (ENVS = "EXTPROC_DLLS=ONLY:C:\app\Administrator\product\11.2.0\dbhome_1\bin\oraclr11.dll")

    )   

   (SID_DESC =

      (SID_NAME = ORCL)

      (GLOBAL_DBNAME = ORCL)

      (ORACLE_HOME = C:\app\Administrator\product\11.2.0\dbhome_1)

    )

  )


LISTENER =

  (DESCRIPTION_LIST =

    (DESCRIPTION =

      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))

      (ADDRESS = (PROTOCOL = TCP)(HOST = WIN-CGJ06AGK74N)(PORT = 1521))

    )

  )


ADR_BASE_LISTENER = C:\app\Administrator


可以看到上面的配置中既有动态监听的配置,又有静态监听的配置,此时我们启动监听时肯定是无法正常启动的;

这里的处理方法是要么修改为动态监听,要么修改为静态监听,动态监听如上所述,静态监听如下:

SID_LIST_LISTENER =

  (SID_LIST =

   (SID_DESC =

      (SID_NAME = ORCL)

      (GLOBAL_DBNAME = ORCL)

      (ORACLE_HOME = C:\app\Administrator\product\11.2.0\dbhome_1)

    )

  )


LISTENER =

  (DESCRIPTION_LIST =

    (DESCRIPTION =

      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))

      (ADDRESS = (PROTOCOL = TCP)(HOST = WIN-CGJ06AGK74N)(PORT = 1521))

    )

  )


ADR_BASE_LISTENER = C:\app\Administrator


以上就是监听问题的总结,后续如有其它,再进行补充。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/69902769/viewspace-2644693/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/69902769/viewspace-2644693/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值