Oracle——listener数据库监听 lsnrctl
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的更多相关文章
- /var/tmp/.oracle 和 oracle listener (监听)的一点理解
关于 /var/tmp/.oracle 的作用測试 ~---查看 /var/tmp 的权限 [root@lixora var]# ll total 164 ... drwxrwxrwt 3 root ...
- Oracle 数据库监听配置和服务
-- 补充说明 如果要远程连接192.168.10.44上的oracle,那么192.168.10.44服务器必须启动TNSListener.(配置文件 listener.ora) PLSQL Dev ...
- cmd启动Oracle服务和监听服务
启动数据库服务 net start oracleserviceorcl 启动数据库监听 lsnrctl start
- 记录一份Oracle 正确的监听配置文件listener.ora与tnsnames.ora
一.前言 昨天中午接到领导指示,有其他组的负责人B在厄瓜多尔演示他们组的产品,然后我们组的负责人就想说也在那边搭一套环境,(北美那边的亚马逊云环境),让B帮忙演示下我们的系统. 于是,开始了一个比较曲 ...
- Linux下oracle启动/关闭监听(bash:lsnrctl:command not found)
打开终端 切换帐户 # su - Oracle 启动监听 $ lsnrctl start 关闭监听 $ lsnrctl stop 切换帐户一定要加 "-" 否则会出现: bas ...
- AIX下RAC搭建 Oracle10G(五)安装oracle、建立监听
AIX下RAC搭建系列 AIX下RAC搭建 Oracle10G(五)安装oracle.建立监听 环境 节点 节点1 节点2 小机型号 IBM P-series 630 IBM P-series 630 ...
- Oracle RAC修改监听端口号
目录 修改OracleRAC监听端口号: 1.查看当前数据库监听状态: 2.修改集群监听端口: 3.手动修改LOCAL_LISTENER: 4.停止集群监听和SCAN: 5.修改listener.or ...
- Oracle非默认监听的处理会遇到的问题以及处理方法
第一种情况:只是修改默认端口 1.当前监听状态: C:\Windows\system32>lsnrctl status LSNRCTL for 64-bit Windows: Version 1 ...
- Linux下启动Oracle服务和监听程序步骤
Linux下启动Oracle服务和监听程序启动和关闭步骤整理如下: 1.安装oracle: 2.创建oracle系统用户: 3./home/oracle下面的.bash_profile添加几个环境变量 ...
随机推荐
- Java High Level REST Client 使用地理位置查询
Java High Level REST Client 使用地理位置查询 一.需求 二.对应的query语句 三.对应java代码 1.引入 jar 包 2.创建 RestHighLevelClien ...
- QEvent
QEvent类是所有事件类的基类,每一个对象都包含事件参数.Qt的主事件循环(QCoreApplication::exec())从事件队列中接收本地窗口系统的事件,并将它们翻译成QEvent,将这些事 ...
- 零基础入门stm32基本定时器详解
一.基本定时器介绍 在STM32中,基本定时器有TIM6.TIM7等.基本定时器主要包含时基单元,提供16位的计数,能计数0~65535.基本定时器除了计数功能以外,还能输出给DAC模块一个TRGO信 ...
- Linux入门所必备的Linux命令和C语言基础
文件和目录(底部有视频资料) cd /home 进入 '/ home' 目录' cd - 返回上一级目录 cd -/- 返回上两级目录 cd 进入个人的主目录 cd ~user1 进入个人的主目录 c ...
- 攻防世界 杂项13.can_has_stdio?
打开发现是由trainfuck编码组成的小星星阵容,果断交给解密网站进行解密, 解密网站:http://ctf.ssleye.com/brain.html flag:flag{esolangs_for ...
- Android上安装第三方库
在Android sdk中安装预安装第三方的(动态,静态)库,到系统中,方便模块无差别的使用. Android.mk include $(CLEAR_VARS) LOCAL_MODULE_TAGS : ...
- LCA-离线tarjan模板
/* *算法引入: *树上两点的最近公共祖先; *对于有根树的两个结点u,v,最近公共祖先LCA(T,u,v)表示一个结点x,满足x是u,v的祖先且x的深度尽可能大; *对于x来说,从u到v的路径一定 ...
- Redis INFO CPU 信息详解
一.INFO CPU 通过INFO CPU命令可以查看Redis进程对于CPU的使用情况,如下: 这几个字段的含义如下所示: used_cpu_sys: System CPU consumed by ...
- 使用python操作HDF5文件
HDF Hierarchical Data Format,又称HDF5 在深度学习中,通常会使用巨量的数据或图片来训练网络.对于如此大的数据集,如果对于每张图片都单独从硬盘读取.预处理.之后再送入网络 ...
- sqlalchemy insert or ignore
insert ignore # insert ignoreinsert_stmt = TimePoint.__table__.insert().prefix_with(" ignore&qu ...