zoukankan      html  css  js  c++  java
  • Oracle listener lsnrctl

    lsnrctl(Listener Control)是一家SQL*Net具,用于控制数据库listener,此工具提供了控制命令listener开端、停止,查看listener状态,更改listener配置参数。

    lsnrctl简介

    命令行中输入lsnrctl,你将得到:

    C:Documents and SettingsAdministrator>lsnrctl
    
    LSNRCTL for 32-bit Windows: Version 10.2.0.1.0 - Production on 26-9月 -2014 08:44:15
    
    Copyright (c) 1991, 2005, Oracle.  All rights reserved.
    
    欢迎来到LSNRCTL, 请键入"help"以获得信息。
    
    LSNRCTL>

    使用help命令,你将看到全部可用的命令:

    LSNRCTL> help
    下面操作可用
    星号 (*) 表示改动符或扩展命令:
    
    start               stop                status
    services            version             reload
    save_config         trace               change_password
    quit                exit                set*
    show*

    以下是对这些命令的简单说明:

    1)start:使用指定listener名启动listener,否则将启动LISTERNER。

    在Windows系统,listener也能冲控制中心的服务中启动;
    2)stop:停止listener。

    Windows系统也能从控制中心的服务中停止。
    3)status:提供listener的状态信息,包含启动时间、执行时间和trace级别;
    4)services:打印全部可用的服务;
    5)version:打印listener的版本号信息。
    6)reload:不停止和启动listener的情况下强行读取配置文件获取新配置;
    7)save_config:为当前listener.ora文件创建一个备份。并保存改变到当前版本号;
    8)trace:设置trace级别。可用值:OFF,USER,ADMIN和SUPPORT。
    9)dbsnmp_start:启动DBSNMP副代理。
    10)dbsnmp_stop:停止DBSNMP副代理;
    11)dbsnmp_status:打印DBSNMP副代理的状态;
    12)change_password:为listener设置一个新的密码。
    13)quit或exit:退出;
    14)set:改变不论什么參数的值;
    15)show:打印当前參数的设置。

    lsnrctl应用实例

    以下介绍几个lsnrctl的使用实例。

    启动listener

    当listener被停止后,连接数据库实例将导致ORA-12541异常,查看listener状态将得到:

    LSNRCTL> status
    正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=10.74.216.39)(PORT=1521))(CONNECT_DATA=(SID=lytest)(SERVER=DEDICATED)))
    TNS-12541: TNS: 无监听程序
     TNS-12560: TNS: 协议适配器错误
      TNS-00511: 无监听程序
       32-bit Windows Error: 61: Unknown error

    这时你能够启动listener:

    LSNRCTL> start
    启动tnslsnr: 请稍候...
    
    TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Production
    系统參数文件为E:oracleproduct10.2.0db_1
    etworkadminlistener.ora
    写入E:oracleproduct10.2.0db_1
    etworkloglistener.log的日志信息
    监听: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.74.216.39)(PORT=1521)))
    监听: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\.pipeEXTPROC0ipc)))
    
    正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=10.74.216.39)(PORT=1521)))
    LISTENER 的 STATUS
    ------------------------
    别名                      LISTENER
    版本号                      TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Production
    启动日期                  26-9月 -2014 09:33:40
    正常执行时间              0 天 0 小时 0 分 4 秒
    跟踪级别                  off
    安全性                    ON: Local OS Authentication
    SNMP                      OFF
    监听程序參数文件          E:oracleproduct10.2.0db_1
    etworkadminlistener.ora
    监听程序日志文件          E:oracleproduct10.2.0db_1
    etworkloglistener.log
    监听端点概要...
      (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.74.216.39)(PORT=1521)))
      (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\.pipeEXTPROC0ipc)))
    服务摘要..
    服务 "PLSExtProc" 包括 1 个例程。
      例程 "PLSExtProc", 状态 UNKNOWN, 包括此服务的 1 个处理程序...
    命令运行成功

    到这里。listener启动成功。

    trace文件

    listener的trace文件为我们提供了listener的工作过程信息。帮助我们定位listener的故障。以下是lsnrctl为trace提供的帮组信息:

    LSNRCTL> help trace
    trace OFF | USER | ADMIN | SUPPORT [<listener_name>] : set tracing to the specified level

    以下是对參数的解释:
     1)OFF:no trace output;
     2)USER:user trace information。
     3)ADMIN:administration trace information;
     4)SUPPORT:Oracle Support Services trace information
    以下开启跟踪:

    LSNRCTL> trace support
    正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=10.74.216.39)(PORT=1521)))
    打开的跟踪文件: E:oracleproduct10.2.0db_1
    etwork	racelistener.trc
    命令运行成功

    查看listener状态:

    LSNRCTL> status
    正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=10.74.216.39)(PORT=1521)))
    LISTENER 的 STATUS
    ------------------------
    别名                      LISTENER
    版本号                      TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Production
    启动日期                  26-9月 -2014 10:35:06
    正常执行时间              0 天 0 小时 31 分 26 秒
    跟踪级别                  support
    安全性                    ON: Password or Local OS Authentication
    SNMP                      OFF
    监听程序參数文件          E:oracleproduct10.2.0db_1
    etworkadminlistener.ora
    监听程序日志文件          E:oracleproduct10.2.0db_1
    etworkloglistener.log
    监听程序跟踪文件          E:oracleproduct10.2.0db_1
    etwork	racelistener.trc
    监听端点概要...
      (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.74.216.39)(PORT=1521)))
      (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\.pipeEXTPROC0ipc)))
    ......

    在“监听程序跟踪文件”中能够看到跟踪文件路径信息:E:oracleproduct10.2.0db_1 etwork racelistener.trc。
    能够通过以下的命令查询跟踪文件名称:

    LSNRCTL> show trc_file
    正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=10.74.216.39)(PORT=1521)))
    LISTENER 參数 "trc_file" 设为 listener.trc
    命令运行成功

    查看跟踪级别:

    LSNRCTL> show trc_level
    正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=10.74.216.39)(PORT=1521)))
    LISTENER 參数 "trc_level" 设为 support
    命令运行成功

    改动跟踪文件名称:

    LSNRCTL> set trc_file 'lylistener.trc'
    正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=10.74.216.39)(PORT=1521)))
    LISTENER 參数 "trc_file" 设为 lylistener.trc
    命令运行成功

    注意改动跟踪文件名称后跟踪将被关闭,须要又一次设置(这里使用set设置。和使用trace一样的效果):

    LSNRCTL> set trc_level user
    正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=10.74.216.39)(PORT=1521)))
    LISTENER 參数 "trc_level" 设为 user
    命令运行成功

    以下再次查看listener状态:

    LSNRCTL> status
    正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=10.74.216.39)(PORT=1521)))
    LISTENER 的 STATUS
    ------------------------
    别名                      LISTENER
    版本号                      TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Production
    启动日期                  26-9月 -2014 10:35:06
    正常执行时间              2 天 0 小时 8 分 3 秒
    跟踪级别                  user
    安全性                    ON: Password or Local OS Authentication
    SNMP                      OFF
    监听程序參数文件          E:oracleproduct10.2.0db_1
    etworkadminlistener.ora
    监听程序日志文件          E:oracleproduct10.2.0db_1
    etworkloglistener.log
    监听程序跟踪文件          E:oracleproduct10.2.0db_1
    etwork	racelylistener.trc
    监听端点概要...
      (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.74.216.39)(PORT=1521)))
      (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\.pipeEXTPROC0ipc)))
    ......
    命令运行成功

    能够看到跟踪文件名称已经更改。

    为listener设置password保护

    Oracle 10g后,Oracle本地用户关闭listener是不须要口令的。设置口令主要为了防止:
     1)本机的其它用户关闭listener;
     2)远程关闭listener。
    以下是详细的方法。

    LSNRCTL> change_password
    Old password:<输入原始密码>
    New password:<输入新密码>
    Reenter new password:<新密码确认>

    运行成功后你看到:

    正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=10.74.216.39)(PORT=1521)))
    LISTENER的口令已更改
    命令运行成功

    接下来。你须要保存配置:

    LSNRCTL> save_config
    正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=10.74.216.39)(PORT=1521)))
    保存的LISTENER配置參数。
    监听程序參数文件          E:oracleproduct10.2.0db_1
    etworkadminlistener.ora
    旧的參数文件E:oracleproduct10.2.0db_1
    etworkadminlistener.bak
    命令运行成就

    这是你的listener配置password保。

    版权声明:本文博主原创文章。博客,未经同意不得转载。

  • 相关阅读:
    896. 单调数列
    819. 最常见的单词
    collections.Counter()
    257. 二叉树的所有路径
    万里长征,始于足下——菜鸟程序员的学习总结(三)
    Ogre启动过程&原理
    Ogre导入模型
    四元数
    Ogre3D嵌入Qt框架
    如何搭建本地SVN服务
  • 原文地址:https://www.cnblogs.com/lcchuguo/p/4847191.html
Copyright © 2011-2022 走看看