Oracle11g中监听程序认证方式有两种,一种是密码认证,一种系统认证,如下:
Microsoft Windows [版本 6.1.7601]
版权所有 (c) 2009 Microsoft Corporation。保留所有权利。
C:\Users\lenovo>lsnrctl
LSNRCTL for 64-bit Windows: Version 11.2.0.1.0- Production on 03-11月-2013 09:52:00
Copyright (c) 1991, 2010, Oracle. All rights reserved.
欢迎来到LSNRCTL, 请键入"help"以获得信息。
LSNRCTL> start
启动tnslsnr: 请稍候...
TNSLSNR for 64-bit Windows: Version11.2.0.1.0 - Production
系统参数文件为D:\app\lenovo\product\11.2.0\dbhome_1\network\admin\listener.ora
写入d:\app\lenovo\diag\tnslsnr\lenovo-PC\listener\alert\log.xml的日志信息
监听:(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1521ipc)))
监听: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=1521)))
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
LISTENER 的 STATUS
------------------------
别名 LISTENER
版本 TNSLSNRfor 64-bit Windows: Version 11.2.0.1.0 - Production
启动日期 03-11月-201309:52:05
正常运行时间 0 天 0 小时 0 分 3 秒
跟踪级别 off
安全性 ON: Password or Local OSAuthentication
SNMP OFF
监听程序参数文件 D:\app\lenovo\product\11.2.0\dbhome_1\network\admin\listener.ora
监听程序日志文件 d:\app\lenovo\diag\tnslsnr\lenovo-PC\listener\alert\log.xml
监听端点概要...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1521ipc)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=1521)))
服务摘要..
服务 "CLRExtProc" 包含 1 个实例。
实例"CLRExtProc", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
命令执行成功
LSNRCTL>
注意看安全性,如果为两种认证方式,修改密码,你在本地测试是无效的,下面我来实验:
C:\Users\lenovo>lsnrctl
LSNRCTL for 64-bit Windows: Version11.2.0.1.0 - Production on 03-11月-2013 09:54:52
Copyright (c) 1991, 2010, Oracle. All rights reserved.
欢迎来到LSNRCTL, 请键入"help"以获得信息。
LSNRCTL> set password zbcxy
命令执行成功
LSNRCTL> change_password
Old password:
New password:
Reenter new password:
TNS-01110: 不匹配 - 口令未改变
LSNRCTL> change_password
Old password:
New password:
Reenter new password:
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
LISTENER的口令已更改
命令执行成功
LSNRCTL> save_config
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
保存的LISTENER配置参数。
监听程序参数文件 D:\app\lenovo\product\11.2.0\dbhome_1\network\admin\listener.ora
旧的参数文件D:\app\lenovo\product\11.2.0\dbhome_1\network\admin\listener.bak
命令执行成功
注意监听程序默认的密码是:listener 我之前已经改为zbcxy了
下面试试关闭和启动:
LSNRCTL> stop
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
命令执行成功
LSNRCTL> start
启动tnslsnr: 请稍候...
TNSLSNR for 64-bit Windows: Version11.2.0.1.0 - Production
系统参数文件为D:\app\lenovo\product\11.2.0\dbhome_1\network\admin\listener.ora
写入d:\app\lenovo\diag\tnslsnr\lenovo-PC\listener\alert\log.xml的日志信息
监听:(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1521ipc)))
监听: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=1521)))
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
LISTENER 的 STATUS
------------------------
别名 LISTENER
版本 TNSLSNRfor 64-bit Windows: Version 11.2.0.1.0 - Production
启动日期 03-11月-201310:06:52
正常运行时间 0 天 0 小时 0 分 3 秒
跟踪级别 off
安全性 ON:Password or Local OS Authentication
SNMP OFF
监听程序参数文件 D:\app\lenovo\product\11.2.0\dbhome_1\network\admin\listener.ora
监听程序日志文件 d:\app\lenovo\diag\tnslsnr\lenovo-PC\listener\alert\log.xml
监听端点概要...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1521ipc)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=1521)))
服务摘要..
服务 "CLRExtProc" 包含 1 个实例。
实例"CLRExtProc", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
命令执行成功
LSNRCTL>
可以看到根本没有密码认证,这是因为操作系统认证而导致的,这时候我们做以下操作:
1. 找到listener.ora文件,参考我的位置:
D:\app\lenovo\product\11.2.0\dbhome_1\NETWORK\ADMIN
2.设置禁用操作系统认证(下面红色内容为添加内容):
# listener.ora Network Configuration File:D:\app\lenovo\product\11.2.0\dbhome_1\network\admin\listener.ora
# Generated by Oracle configuration tools.
#close os Authenticationby zbcxy
LOCAL_OS_AUTHENTICATION_LISTENER= OFF
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = CLRExtProc)
(ORACLE_HOME = D:\app\lenovo\product\11.2.0\dbhome_1)
(PROGRAM = extproc)
(ENVS ="EXTPROC_DLLS=ONLY:D:\app\lenovo\product\11.2.0\dbhome_1\bin\oraclr11.dll")
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
)
ADR_BASE_LISTENER = D:\app\lenovo
#----ADDED BY TNSLSNR 03-11月-201309:19:44---
PASSWORDS_LISTENER = 1EA422C7BA5126F9
#---------------------------------------------
这时候重新开一个cmd窗口:
LSNRCTL> start
启动tnslsnr: 请稍候...
TNSLSNR for 64-bit Windows: Version11.2.0.1.0 - Production
系统参数文件为D:\app\lenovo\product\11.2.0\dbhome_1\network\admin\listener.ora
写入d:\app\lenovo\diag\tnslsnr\lenovo-PC\listener\alert\log.xml的日志信息
监听: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1521ipc)))
监听: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=1521)))
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
LISTENER 的 STATUS
------------------------
别名 LISTENER
版本 TNSLSNRfor 64-bit Windows: Version 11.2.0.1.0 - Production
启动日期 03-11月-201310:13:13
正常运行时间 0 天 0 小时 0 分 5 秒
跟踪级别 off
安全性 ON: Password
SNMP OFF
监听程序参数文件 D:\app\lenovo\product\11.2.0\dbhome_1\network\admin\listener.ora
监听程序日志文件 d:\app\lenovo\diag\tnslsnr\lenovo-PC\listener\alert\log.xml
监听端点概要...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1521ipc)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=1521)))
服务摘要..
服务 "CLRExtProc" 包含 1 个实例。
实例"CLRExtProc", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
命令执行成功
LSNRCTL> stop
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
TNS-01169: 监听程序尚未识别口令
这时候我们需要做如下操作才能关闭服务:
LSNRCTL> set password xin
命令执行成功
LSNRCTL> stop
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
命令执行成功
LSNRCTL>