• lsnrctl 与 tnsnames.ora 的联系


    平台:Windoxs XP+Oracle 11G

    当使用oralce的 Net Manager创建了一个名为“L3”的Listener后,要想使用lsnrctl启动和关闭 L3 还必须在tnsnames.ora 中配置一个名为L3的条目.

    listener.ora

    L3 =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = princessd)(PORT = 1523))
      )


    SID_LIST_L3 =
      (SID_LIST =
        (SID_DESC =
          (GLOBAL_DBNAME = m_oracle)
          (ORACLE_HOME = F:appAdministratorproduct11.2.0home)
          (SID_NAME = oracle)
        )
      )

    ADR_BASE_L3 = f:appAdministrator

    *****************************************************************

    tnsnames.ora

    L3 =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1523))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = m_oracle)
        )
      )

    tnanames.ora 中,services_name 必须与你想连接的数据库所暴露出的GLOBAL_DBNAME 相同.

    一个监听上是可以注册多个数据库的,而一个CONNECT_DATA只能指定一个services_name.

    如果缺少 tnanames.ora 中对应的条目,L3 服务也能够起来。

    因为启动监听的时候,会先启动对所定义的地址的监听程序,然后验证在TNAnames.ora中又没有对应的条目。

    LSNRCTL> start L3
    启动tnslsnr: 请稍候...

    TNSLSNR for 32-bit Windows: Version 11.2.0.1.0 - Production
    系统参数文件为F:appAdministratorproduct11.2.0homeNETWORKADMINlistener.ora
    写入f:appadministratordiag nslsnrprincessdl3alertlog.xml的日志信息
    监听: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=princessd)(PORT=1523)))

    TNS-01101: 无法找到服务名称

    虽然验证失败,但是后台的监听仍然是正确启动的,第一启动的时候还会创建一个 Windows服务,然后你就可以用那个Windows服务来启动和停止监听了。

    但是如果想要用命令 stop L3来停止监听或者 status L3来查询状态,结果如下。因为lsnrctl在查询和关闭监听的时候,是先从tnsnames中找到对应的条目,

    然后根据地址连接到监听程序,然后查询状态或者要求监听停止的。因为缺少名为L3的条目,所以不知道到那里查询或者停止监听.

    LSNRCTL> stop L3
    TNS-01101: 无法找到服务名称L3

    LSNRCTL> status L3
    TNS-01101: 无法找到服务名称L3

     这个时候要么从Windows服务总去停止监听,或者添加对应的条目在tnsnames.ora中.

  • 相关阅读:
    IIS的FTP出错: 451 No mapping for the unicode character exists in the target multibyte code page
    silverlight中AES加密RijndaelManaged的使用
    ManualResetEvent详解
    Silverlight如何与JS相互调用
    SQL Server 2008备份策略设计
    mysql 服务无法启动
    Silverlight Resource
    TCP 烟囱卸载
    .net程序 混淆、强签名、加密
    开源客户关系管理系统SplendidCRM下的二次开发
  • 原文地址:https://www.cnblogs.com/princessd8251/p/3339961.html
Copyright © 2020-2023  润新知