Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1142389
  • 博文数量: 231
  • 博客积分: 2500
  • 博客等级: 少校
  • 技术积分: 2662
  • 用 户 组: 普通用户
  • 注册时间: 2009-11-03 16:35
个人简介

学无止境

文章分类

全部博文(231)

文章存档

2014年(7)

2013年(103)

2011年(11)

2010年(53)

2009年(57)

分类: Oracle

2010-06-07 10:47:36

适用于
--------
Oracle Net Services
本文信息适用于所有平台
实用性检查于8-OCT-2009
 
目标
-----
如何设置10g和新增监听密码,通过默认OS机制存放。
在Oracle 10g和新监听中,监听对外是安全的,不需要设置监听密码去限制LSNRCTL命令的执行权限。
从10g开始,监听采用本地OS认证。当执行LSNRCTL特权命令(stop、status等)时,如果用户与启动监听的用户是同一个,则该用户具有正在运行监听的所有管理权限,不需要提供密码。
该安全特性被默认启用,在监听启用或者执行LSNRCTL STATUS命令时可以通过如下显示确认:
Security ON: Local OS Authentication
 
如果oracle用户启动了TNSListener,之后用户sales尝试管理监听,或者其他节点的oracle用户尝试管理监听,会有如下错误显示:
TNS-01190: The user is not authorized to execute the requested listener command
 
以下命令都是特权命令:

SAVE_CONFIG, STOP, TRACE, SPAWN, RELOAD,
 
SET {LOG_FILE, LOG_STATUS, INBOUND_CONNECT_TIMEOUT, SAVE_CONFIG_STOP_ON, 
TRC_FILE, TRC_LEVEL, LOG_DIRECTORY, STARTUP_WAITTIME}
 
SHOW {RULES, TRC_DIRECTORY, LOG_FILE, LOG_STATUS, INBOUND_CONNECT_TIMEOUT, 
SNMP_VISIBLE, TRC_FILE, TRC_LEVEL, LOG_DIRECTORY, STARTUP_WAITTIME, 
SAVE_CONFIG_STOP_ON}

解决方案
----------
监听设置密码之后,一些其他用户想要管理必须通过密码验证,例如,oracle用户设置了一个加密口令,用户sales想要停止监听:
oracle用户设置加密口令:
1) LSNRCTL> set current_listener
2) LSNRCTL> change_password
    Old password:
    New password: 10glistener  (内容不会明文显示)
    Reenter new password: 10glistener    (内容不会明文显示)
3) LSNRCTL> save_config
4) LSNRCTL> status
 
STATUS output will now show:
Security                  ON: Password or Local OS Authentication

sales用户登录,输入密码管理监听:
1) LSNRCTL> set password
    Password: 10glistener   (内容不会明文显示)
2) LSNRCTL> stop
阅读(3496) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~