lsnrctl(Listener Control)是一个SQL*Net工具,用于控制数据库listener,这个工具提供了命令用于控制listener的启动、停止,查看listener的状态,改变listener的配置参数等。

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

  • C:\Documents and Settings\Administrator>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:\oracle\product\10.2.0\db_1\network\admin\listener.ora
  • 写入E:\oracle\product\10.2.0\db_1\network\log\listener.log的日志信息
  • 监听: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.74.216.39)(PORT=1521)))
  • 监听: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC0ipc)))
  • 正在连接到 (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:\oracle\product\10.2.0\db_1\network\admin\listener.ora
  • 监听程序日志文件 E:\oracle\product\10.2.0\db_1\network\log\listener.log
  • 监听端点概要...
  • (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.74.216.39)(PORT=1521)))
  • (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC0ipc)))
  • 服务摘要..
  • 服务 "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:\oracle\product\10.2.0\db_1\network\trace\listener.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:\oracle\product\10.2.0\db_1\network\admin\listener.ora
  • 监听程序日志文件 E:\oracle\product\10.2.0\db_1\network\log\listener.log
  • 监听程序跟踪文件 E:\oracle\product\10.2.0\db_1\network\trace\listener.trc
  • 监听端点概要...
  • (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.74.216.39)(PORT=1521)))
  • (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC0ipc)))
  • ......
  • 在“监听程序跟踪文件”中可以看到跟踪文件路径信息:E:\oracle\product\10.2.0\db_1\network\trace\listener.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:\oracle\product\10.2.0\db_1\network\admin\listener.ora
  • 监听程序日志文件 E:\oracle\product\10.2.0\db_1\network\log\listener.log
  • 监听程序跟踪文件 E:\oracle\product\10.2.0\db_1\network\trace\lylistener.trc
  • 监听端点概要...
  • (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.74.216.39)(PORT=1521)))
  • (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC0ipc)))
  • ......
  • 命令执行成功

可以看到跟踪文件名已经更改。

为listener设置密码保护
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:\oracle\product\10.2.0\db_1\network\admin\listener.ora
  • 旧的参数文件E:\oracle\product\10.2.0\db_1\network\admin\listener.bak
  • 命令执行成功

这样就为你的listener设置了密码保护。

参考:https://blog.csdn.net/tomato__/article/details/39638383

Oracle——listener数据库监听 lsnrctl的更多相关文章

  1. /var/tmp/.oracle 和 oracle listener (监听)的一点理解

    关于 /var/tmp/.oracle 的作用測试 ~---查看 /var/tmp 的权限 [root@lixora var]# ll total 164 ... drwxrwxrwt  3 root ...

  2. Oracle 数据库监听配置和服务

    -- 补充说明 如果要远程连接192.168.10.44上的oracle,那么192.168.10.44服务器必须启动TNSListener.(配置文件 listener.ora) PLSQL Dev ...

  3. cmd启动Oracle服务和监听服务

    启动数据库服务 net start oracleserviceorcl 启动数据库监听 lsnrctl start

  4. 记录一份Oracle 正确的监听配置文件listener.ora与tnsnames.ora

    一.前言 昨天中午接到领导指示,有其他组的负责人B在厄瓜多尔演示他们组的产品,然后我们组的负责人就想说也在那边搭一套环境,(北美那边的亚马逊云环境),让B帮忙演示下我们的系统. 于是,开始了一个比较曲 ...

  5. Linux下oracle启动/关闭监听(bash:lsnrctl:command not found)

    打开终端 切换帐户 # su - Oracle 启动监听 $ lsnrctl start 关闭监听 $ lsnrctl stop 切换帐户一定要加 "-" 否则会出现:   bas ...

  6. AIX下RAC搭建 Oracle10G(五)安装oracle、建立监听

    AIX下RAC搭建系列 AIX下RAC搭建 Oracle10G(五)安装oracle.建立监听 环境 节点 节点1 节点2 小机型号 IBM P-series 630 IBM P-series 630 ...

  7. Oracle RAC修改监听端口号

    目录 修改OracleRAC监听端口号: 1.查看当前数据库监听状态: 2.修改集群监听端口: 3.手动修改LOCAL_LISTENER: 4.停止集群监听和SCAN: 5.修改listener.or ...

  8. Oracle非默认监听的处理会遇到的问题以及处理方法

    第一种情况:只是修改默认端口 1.当前监听状态: C:\Windows\system32>lsnrctl status LSNRCTL for 64-bit Windows: Version 1 ...

  9. Linux下启动Oracle服务和监听程序步骤

    Linux下启动Oracle服务和监听程序启动和关闭步骤整理如下: 1.安装oracle: 2.创建oracle系统用户: 3./home/oracle下面的.bash_profile添加几个环境变量 ...

随机推荐

  1. Redis:学习笔记-04

    Redis:学习笔记-04 该部分内容,参考了 bilibili 上讲解 Redis 中,观看数最多的课程 Redis最新超详细版教程通俗易懂,来自 UP主 遇见狂神说 10. Redis主从复制 1 ...

  2. NGINX杂谈——flask_limiter的IP获取(怎么拿到真实的客户端IP)

    本篇博客将 flask_limiter 作为切入点,来记录一下自己对 remote_addr 和 proxy_add_x_forwarded_for 两个变量.X-Real-IP 和 X-Forwar ...

  3. UVA-1498 Activation

    UVA-1498 DP应该是肯定的,设 f [ i ] [ j ] 表示现在对中共有 i 人,Tomato在第 j 个,出现所求情况的概率,我们可以很(简单的)艰难的列出下列方程: f[i][1] = ...

  4. Netty:Netty的介绍以及它的核心组件(一)—— Channel

    1. Netty 介绍 Netty 是一个无阻塞的输入/输出(NIO)框架,它使开发低级网络服务器和客户端变得相对简单.Netty为需要在套接字级别上工作的开发人员提供了令人难以置信的强大功能,例如, ...

  5. Celery Task(定时任务)及参数

    celery beat 是一个调度器:它以常规的时间间隔开启任务,任务将会在集群中的可用节点上运行. 默认情况下,入口项是从 beat_schedule 设置中获取,但是自定义的存储也可以使用,例如在 ...

  6. 最新JS正则表达式验证手机号码(2019)

    根据移动.联通.电信的电话号码号段,实现一个简单的正则表达式来验证手机号码: // 手机号校验 export function isPhoneNumber(phoneNum) { // let reg ...

  7. (转)linux下错误的捕获:errno和strerror的使用,以及perror和strerror的区别

    经常在调用linux 系统api 的时候会出现一些错误,比方说使用open() write() creat()之类的函数有些时候会返回-1,也就是调用失败,这个时候往往需要知道失败的原因.这个时候使用 ...

  8. hdu 4788 Hard Disk Drive (水题)

    题意: Input The first line contains an integer T, which indicates the number of test cases. For each t ...

  9. zabbix 监控redis 挂掉自动重启 并发送企业微信

    1.创建redis监控项[配置]-[主机]-[监控项]-创建监控项,监控6379端口(注意关闭防火墙或者开启防火墙端口6379) redis配置文件设置允许任何地址监听: 添加监控项 2.创建redi ...

  10. 基于 Istio 的全链路灰度方案探索和实践

    作者|曾宇星(宇曾) 审核&校对:曾宇星(宇曾) 编辑&排版:雯燕 背景 微服务软件架构下,业务新功能上线前搭建完整的一套测试系统进行验证是相当费人费时的事,随着所拆分出微服务数量的不 ...