zoukankan      html  css  js  c++  java
  • Oracle监听器—静态注册

    注册就是将数据库作为一个服务注册到监听程序。客户端不需要知道数据库名和实例名,只需要知道该数据库对外提供的服务名就可以申请连接到数据库。这个服务名可能与实例名一样,也有可能不一样。

    注册分:
    1. 静态注册
    2. 动态注册


    静态注册

    为了静态注册一个实例,我们需要在 listener.ora中添加相应监听器条目。

    这里我们建立了两个LISTENER(LISTENER — 默认的,LISTENER1 - 自己新建的),服务名(全局数据库名)分别为test,test1。

    下面是我的listener.ora文件的内容。位置: C:oracleproduct10.2.0db_1NETWORKADMINlistener.ora

    LISTENER =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = Tough)(PORT = 1521))
      )

    SID_LIST_LISTENER =
      (SID_LIST =
        (SID_DESC =
          (GLOBAL_DBNAME = test)
          (ORACLE_HOME = C:oracleproduct10.2.0db_1)
          (SID_NAME = ora11g)
        )
      )  

      
    LISTENER1 =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = Tough)(PORT = 1522))
      )

    SID_LIST_LISTENER1 =
      (SID_LIST =
        (SID_DESC =
          (GLOBAL_DBNAME = test1)
          (ORACLE_HOME = C:oracleproduct10.2.0db_1)
          (SID_NAME = ora11g)
        )
      )

     


    C:>lsnrctl

    LSNRCTL for 32-bit Windows: Version 10.2.0.1.0 - Production on 07-4月 -2014 12:56:43

    Copyright (c) 1991, 2005, Oracle.  All rights reserved.

    欢迎来到LSNRCTL, 请键入"help"以获得信息。


    //可以查看lsnrctl下可以执行的命令,常用到的是start, stop, status, reload, services
    LSNRCTL> help
    以下操作可用
    星号 (*) 表示修改符或扩展命令:

    start               stop                status
    services            version             reload
    save_config         trace               change_password
    quit                exit                set*
    show*


    //如果只输入start,则启动默认监听器 LISTENER
    LSNRCTL> start LISTENER
    启动tnslsnr: 请稍候...

    TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Production
    系统参数文件为c:oracleproduct10.2.0db_1 etworkadminlistener.ora
    写入c:oracleproduct10.2.0db_1 etworkloglistener.log的日志信息
    监听: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=Tough)(PORT=1521)))

    正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=Tough)(PORT=1521)))
    LISTENER 的 STATUS
    ------------------------
    别名                      LISTENER
    版本                      TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Production
    启动日期                  07-4月 -2014 12:56:49
    正常运行时间              0 天 0 小时 0 分 1 秒
    跟踪级别                  off
    安全性                    ON: Local OS Authentication
    SNMP                      OFF
    监听程序参数文件          c:oracleproduct10.2.0db_1 etworkadminlistener.ora
    监听程序日志文件          c:oracleproduct10.2.0db_1 etworkloglistener.log
    监听端点概要...
      (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=Tough)(PORT=1521)))
    服务摘要..
    服务 "test" 包含 1 个例程。
      例程 "ora11g", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
    命令执行成功


    //如果只输入status,则查看默认监听器 LISTENER状态
    LSNRCTL> status LISTENER
    正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=Tough)(PORT=1521)))
    LISTENER 的 STATUS
    ------------------------
    别名                      LISTENER
    版本                      TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Production
    启动日期                  07-4月 -2014 12:56:49
    正常运行时间              0 天 0 小时 1 分 9 秒
    跟踪级别                  off
    安全性                    ON: Local OS Authentication
    SNMP                      OFF
    监听程序参数文件          c:oracleproduct10.2.0db_1 etworkadminlistener.ora
    监听程序日志文件          c:oracleproduct10.2.0db_1 etworkloglistener.log
    监听端点概要...
      (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=Tough)(PORT=1521)))
    服务摘要..

    服务 "ora11g" 包含 1 个例程。
      例程 "ora11g", 状态 READY, 包含此服务的 1 个处理程序...

    服务 "ora11gXDB" 包含 1 个例程。
      例程 "ora11g", 状态 READY, 包含此服务的 1 个处理程序...
    服务 "ora11g_XPT" 包含 1 个例程。
      例程 "ora11g", 状态 READY, 包含此服务的 1 个处理程序...

    服务 "test" 包含 1 个例程。
      例程 "ora11g", 状态 UNKNOWN, 包含此服务的 1 个处理程序...

    命令执行成功

     

    蓝色部分是动态注册的监听器的状态。红色部分是我们静态注册的监听器的状态。


    //若不是启动默认监听器 LISTENER,则需要指定启动的监听器
    LSNRCTL> start LISTENER1
    启动tnslsnr: 请稍候...

    TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Production
    系统参数文件为c:oracleproduct10.2.0db_1 etworkadminlistener.ora
    写入c:oracleproduct10.2.0db_1 etworkloglistener1.log的日志信息
    监听: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=Tough)(PORT=1522)))

    正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=Tough)(PORT=1522)))
    LISTENER 的 STATUS
    ------------------------
    别名                      LISTENER1
    版本                      TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Production
    启动日期                  07-4月 -2014 12:57:07
    正常运行时间              0 天 0 小时 0 分 1 秒
    跟踪级别                  off
    安全性                    ON: Local OS Authentication
    SNMP                      OFF
    监听程序参数文件          c:oracleproduct10.2.0db_1 etworkadminlistener.ora
    监听程序日志文件          c:oracleproduct10.2.0db_1 etworkloglistener1.log
    监听端点概要...
      (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=Tough)(PORT=1522)))
    服务摘要..

    服务 "test1" 包含 1 个例程。
      例程 "ora11g", 状态 UNKNOWN, 包含此服务的 1 个处理程序...

    命令执行成功


    LSNRCTL> status LISTENER1
    正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=Tough)(PORT=1522)))
    LISTENER 的 STATUS
    ------------------------
    别名                      LISTENER1
    版本                      TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Production
    启动日期                  07-4月 -2014 12:57:07
    正常运行时间              0 天 0 小时 1 分 13 秒
    跟踪级别                  off
    安全性                    ON: Local OS Authentication
    SNMP                      OFF
    监听程序参数文件          c:oracleproduct10.2.0db_1 etworkadminlistener.ora
    监听程序日志文件          c:oracleproduct10.2.0db_1 etworkloglistener1.log
    监听端点概要...
      (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=Tough)(PORT=1522)))
    服务摘要..

    服务 "test1" 包含 1 个例程。
      例程 "ora11g", 状态 UNKNOWN, 包含此服务的 1 个处理程序...

    命令执行成功

     


    建立好监听器后,我们还需要在客户端机器上的tnsnames.ora设置相关条目。位置:C:oracleproduct10.2.0db_1NETWORKADMIN nsnames.ora


    A =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = tough)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = test)
        )
      )

     

    A1 =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = tough)(PORT = 1522))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = test1)
        )
      )

     

     

    测试静态注册的监听器:

    C:>sqlplus /@a as sysdba

    SQL*Plus: Release 10.2.0.1.0 - Production on 星期一 4月 7 13:11:37 2014

    Copyright (c) 1982, 2005, Oracle.  All rights reserved.


    连接到:
    Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
    With the Partitioning, OLAP and Data Mining options

     

    C:>sqlplus /@a1 as sysdba

    SQL*Plus: Release 10.2.0.1.0 - Production on 星期一 4月 7 13:11:54 2014

    Copyright (c) 1982, 2005, Oracle.  All rights reserved.


    连接到:
    Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
    With the Partitioning, OLAP and Data Mining options

     

    连接成功!

     


     

     

  • 相关阅读:
    SQLdiag-配置文件-ProfilerCollector
    SQLdiag-配置文件-PerfmonCollector
    SQLdiag-初识
    Trace-跟踪高消耗的语句需添加哪些事件
    RML Utilities for SQL Server
    【译】第十五篇 Integration Services:SSIS参数
    修改数据文件和日志文件路径
    Trace-导出已有的服务器端跟踪
    iphoneX的适配问题
    添加阿里巴巴图标,让你页面小图标都是CSS3写成
  • 原文地址:https://www.cnblogs.com/toughhou/p/3778818.html
Copyright © 2011-2022 走看看