zoukankan      html  css  js  c++  java
  • Oracle非默认监听的处理会遇到的问题以及处理方法

    第一种情况:只是修改默认端口

    1.当前监听状态:

    C:Windowssystem32>lsnrctl status
    
    LSNRCTL for 64-bit Windows: Version 11.2.0.1.0 - Production on 05-3月 -2015 11:48:45
    
    Copyright (c) 1991, 2010, Oracle.  All rights reserved.
    
    正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=zen-pc)(PORT=1521)))
    LISTENER 的 STATUS
    ------------------------
    别名                      LISTENER
    版本                      TNSLSNR for 64-bit Windows: Version 11.2.0.1.0 - Production
    启动日期                  05-3月 -2015 11:38:26
    正常运行时间              0 天 0 小时 10 分 23 秒
    跟踪级别                  off
    安全性                    ON: Local OS Authentication
    SNMP                      OFF
    监听程序参数文件          D:oracleInstallproduct11.2.0dbhome_1
    etworkadminlistener.ora
    监听程序日志文件          d:oracleinstalldiag	nslsnrzen-pclisteneralertlog.xml
    监听端点概要...
      (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=zen-pc)(PORT=1521)))
      (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\.pipeEXTPROC1521ipc)))
    服务摘要..
    服务 "CLRExtProc" 包含 1 个实例。
      实例 "CLRExtProc", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
    服务 "orclXDB" 包含 1 个实例。
      实例 "orcl", 状态 READY, 包含此服务的 1 个处理程序...
    服务 "zen" 包含 1 个实例。
      实例 "orcl", 状态 READY, 包含此服务的 1 个处理程序...
    命令执行成功

    2.修改监听端口:

    # listener.ora Network Configuration File: D:oracleInstallproduct11.2.0dbhome_1
    etworkadminlistener.ora
    # Generated by Oracle configuration tools.
    
    SID_LIST_LISTENER =
      (SID_LIST =
        (SID_DESC =
          (SID_NAME = CLRExtProc)
          (ORACLE_HOME = D:oracleInstallproduct11.2.0dbhome_1)
          (PROGRAM = extproc)
          (ENVS = "EXTPROC_DLLS=ONLY:D:oracleInstallproduct11.2.0dbhome_1inoraclr11.dll")
        )
      )
    
    LISTENER =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = TCP)(HOST = zen-pc)(PORT = 1522))
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
        )
      )
    
    ADR_BASE_LISTENER = D:oracleInstall

    3.重启监听:

    C:Windowssystem32>lsnrctl status
    
    LSNRCTL for 64-bit Windows: Version 11.2.0.1.0 - Production on 05-3月 -2015 12:32:53
    
    Copyright (c) 1991, 2010, Oracle.  All rights reserved.
    
    正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=zen-pc)(PORT=1522)))
    LISTENER 的 STATUS
    ------------------------
    别名                      LISTENER
    版本                      TNSLSNR for 64-bit Windows: Version 11.2.0.1.0 - Production
    启动日期                  05-3月 -2015 11:56:26
    正常运行时间              00 小时 3630 秒
    跟踪级别                  off
    安全性                    ON: Local OS Authentication
    SNMP                      OFF
    监听程序参数文件          D:oracleInstallproduct11.2.0dbhome_1
    etworkadminlistener.ora
    监听程序日志文件          d:oracleinstalldiag	nslsnrzen-pclisteneralertlog.xml
    监听端点概要...
      (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=zen-pc)(PORT=1522)))
      (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\.pipeEXTPROC1521ipc)))
    服务摘要..
    服务 "CLRExtProc" 包含 1 个实例。
      实例 "CLRExtProc", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
    命令执行成功
    
    C:Windowssystem32>
    
    手动注册:
    SQL> alter system register;
    
    系统已更改。
    
    SQL>
    
    C:Windowssystem32>lsnrctl status
    
    LSNRCTL for 64-bit Windows: Version 11.2.0.1.0 - Production on 05-3月 -2015 12:40:54
    
    Copyright (c) 1991, 2010, Oracle.  All rights reserved.
    
    正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=zen-pc)(PORT=1522)))
    LISTENER 的 STATUS
    ------------------------
    别名                      LISTENER
    版本                      TNSLSNR for 64-bit Windows: Version 11.2.0.1.0 - Production
    启动日期                  05-3月 -2015 11:56:26
    正常运行时间              00 小时 4431 秒
    跟踪级别                  off
    安全性                    ON: Local OS Authentication
    SNMP                      OFF
    监听程序参数文件          D:oracleInstallproduct11.2.0dbhome_1
    etworkadminlistener.ora
    监听程序日志文件          d:oracleinstalldiag	nslsnrzen-pclisteneralertlog.xml
    监听端点概要...
      (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=zen-pc)(PORT=1522)))
      (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\.pipeEXTPROC1521ipc)))
    服务摘要..
    服务 "CLRExtProc" 包含 1 个实例。
      实例 "CLRExtProc", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
    命令执行成功
    
    C:Windowssystem32>

    可以看出实例还是没有注册上。在oracle的实例中指定本地监听

    SQL> show parameters listener
    
    NAME                                 TYPE        VALUE
    ------------------------------------ ----------- ------------------------------
    listener_networks                    string
    local_listener                       string
    remote_listener                      string
    SQL> alter system set local_listener=LISTENER ;
    alter system set local_listener=LISTENER
    *1 行出现错误:
    ORA-02097: 无法修改参数, 因为指定的值无效
    ORA-00119: 系统参数 LOCAL_LISTENER 的说明无效
    ORA-00132: 语法错误或无法解析的网络名称 'LISTENER'
    
    修改D:oracleInstallproduct11.2.0dbhome_1NETWORKADMIN	nsnames.ora,添加:
    LISTENER22 =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = zen-pc)(PORT = 1522))
        )
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = zen)
        )
      )
    
    重新设置
    SQL> show parameters listener
    
    NAME                                 TYPE        VALUE
    ------------------------------------ ----------- ------------------------------
    listener_networks                    string
    local_listener                       string
    remote_listener                      string
    SQL> alter system set local_listener=LISTENER22 ;
    
    系统已更改。
    
    SQL> show parameters listener
    
    NAME                                 TYPE        VALUE
    ------------------------------------ ----------- ------------------------------
    listener_networks                    string
    local_listener                       string      LISTENER22
    remote_listener                      string
    SQL>
    
    再次查看监听状态
    C:Windowssystem32>lsnrctl status
    
    LSNRCTL for 64-bit Windows: Version 11.2.0.1.0 - Production on 05-3月 -2015 13:50:01
    
    Copyright (c) 1991, 2010, Oracle.  All rights reserved.
    
    正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=zen-pc)(PORT=1522)))
    LISTENER 的 STATUS
    ------------------------
    别名                      LISTENER
    版本                      TNSLSNR for 64-bit Windows: Version 11.2.0.1.0 - Production
    启动日期                  05-3月 -2015 11:56:26
    正常运行时间              01 小时 5338 秒
    跟踪级别                  off
    安全性                    ON: Local OS Authentication
    SNMP                      OFF
    监听程序参数文件          D:oracleInstallproduct11.2.0dbhome_1
    etworkadminlistener.ora
    监听程序日志文件          d:oracleinstalldiag	nslsnrzen-pclisteneralertlog.xml
    监听端点概要...
      (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=zen-pc)(PORT=1522)))
      (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\.pipeEXTPROC1521ipc)))
    服务摘要..
    服务 "CLRExtProc" 包含 1 个实例。
      实例 "CLRExtProc", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
    服务 "orclXDB" 包含 1 个实例。
      实例 "orcl", 状态 READY, 包含此服务的 1 个处理程序...
    服务 "zen" 包含 1 个实例。
      实例 "orcl", 状态 READY, 包含此服务的 1 个处理程序...
    命令执行成功
    
    C:Windowssystem32>

    至此监听成功注册上。

    第二种情况监听的名字非默认,端口也非默认:

    SQL> show parameters listener
    
    NAME                                 TYPE        VALUE
    ------------------------------------ ----------- ------------------------------
    listener_networks                    string
    local_listener                       string      LISTENER22
    remote_listener                      string
    SQL>
    
    C:Windowssystem32>lsnrctl status LISTENER_NEW
    
    LSNRCTL for 64-bit Windows: Version 11.2.0.1.0 - Production on 05-3月 -2015 14:13:22
    
    Copyright (c) 1991, 2010, Oracle.  All rights reserved.
    
    正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=zen-pc)(PORT=1522)))
    LISTENER 的 STATUS
    ------------------------
    别名                      LISTENER_NEW
    版本                      TNSLSNR for 64-bit Windows: Version 11.2.0.1.0 - Production
    启动日期                  05-3月 -2015 14:12:19
    正常运行时间              00 小时 17 秒
    跟踪级别                  off
    安全性                    ON: Local OS Authentication
    SNMP                      OFF
    监听程序参数文件          D:oracleInstallproduct11.2.0dbhome_1
    etworkadminlistener.ora
    监听程序日志文件          d:oracleinstalldiag	nslsnrzen-pclistener_newalertlog.xml
    监听端点概要...
      (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=zen-pc)(PORT=1522)))
    服务摘要..
    服务 "orclXDB" 包含 1 个实例。
      实例 "orcl", 状态 READY, 包含此服务的 1 个处理程序...
    服务 "zen" 包含 1 个实例。
      实例 "orcl", 状态 READY, 包含此服务的 1 个处理程序...
    命令执行成功
    
    C:Windowssystem32>

    结论:1.实例注册监听,确切的说pmon在注册监听的时候监听的名称不重要。

    2.pmon在注册监听的时候会找默认的端口1521,如果端口不是这个就需要手动指定监听的端口以便于pmon发现将实例注册上。

    3.非标准端口的监听在指定监听名称时无需和tnsnames.ora中指定的网络名字相同,

    即文中示例中的(LISTENER_NEW与 local_listener string LISTENER22可以不同)。应此乐大师此文中的与此相关的表述有些许失误http://blog.csdn.net/leshami/article/details/6396989

  • 相关阅读:
    SAM4E单片机之旅——2、LED闪烁之轮询定时器
    SAM4E单片机之旅——1、LED闪烁之空循环
    C#使用WinAPI 修改电源设置,临时禁止笔记本合上盖子时睡眠
    阻止系统自动睡眠的小软件,附C#制作过程
    Python3做采集
    判断浏览器类型
    任意几个数求和
    常见Z纯CSS小样式合集(三角形)
    数据脱敏项目中遇见的问题
    点击左侧跳到右侧
  • 原文地址:https://www.cnblogs.com/Alex-Zeng/p/4315737.html
Copyright © 2011-2022 走看看