设置 Oracle 监听器密码(LISTENER)
而造成任意新的会话都将无法建立连接。在Oracle 9i 中Oracle监听器允许任何一个人利用lsnrctl从远程发起对监听器的管理。也容易导致数
据库受到损坏。
1. 未设定密码情形下停止监听
[oracle@test ~]$ lsnrctl stop listener_demo92
LSNRCTL for Linux: Version 9.2.0.8.0 - Production on 26-JUN-2011 08:22:26
Copyright (c) 1991, 2006, Oracle Corporation.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=test)(PORT=1521)))
The command completed successfully
2. 重新启动监听并设置密码
[oracle@test ~]$ lsnrctl
LSNRCTL for Linux: Version 9.2.0.8.0 - Production on 26-JUN-2011 08:24:09
Copyright (c) 1991, 2006, Oracle Corporation.
Welcome to LSNRCTL, type "help" for information.
LSNRCTL> set current_listener listener_demo92
Current Listener is listener_demo92
LSNRCTL> start
LSNRCTL> change_password
Old password:
New password:
Reenter new password:
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=test)(PORT=1521)))
Password changed for listener_demo92
The command completed successfully
LSNRCTL> save_config
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=test)(PORT=1521)))
TNS-01169: The listener has not recognized the password
LSNRCTL> set password
Password:
The command completed successfully
LSNRCTL> save_config
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=test)(PORT=1521)))
Saved listener_demo92 configuration parameters.
Listener Parameter File
Old Parameter File
The command completed successfully
-->增加密码之后可以看到listener.ora文件中有一条新增的记录,即密码选项(注:尽管使用了密码管理方式,仍然可以无需密码启动监听)
[oracle@test admin]$ more listener.ora
3. 尝试未使用密码的情况下停止监听
[oracle@test ~]$ lsnrctl stop listener_demo92
LSNRCTL for Linux: Version 9.2.0.8.0 - Production on 26-JUN-2011 06:09:51
Copyright (c) 1991, 2006, Oracle Corporation.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=test)(PORT=1521)))
TNS-01169: The listener has not recognized the password
4. 使用密码来停止监听
[oracle@test ~]$ lsnrctl
LSNRCTL> set current_listener listener_demo92
Current Listener is listener_demo92
LSNRCTL> stop
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=test)(PORT=1521)))
TNS-01169: The listener has not recognized the password
LSNRCTL> set password
Password:
The command completed successfully
LSNRCTL> stop
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=test)(PORT=1521)))
The command completed successfully
5. save_config失败的问题
-->在 Oracle 9i中,使用save_config命令将会失败
-->应该先使用set password之后再save_config,则保存配置成功。
6.
转自:http://blog.csdn.net/robinson_0612/article/details/6629249