監聽密碼忘記,處理方式

一、設置監聽的密碼

 

LSNRCTL> change_password    
Old password:     
New password:     
Reenter new password:     
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=db02.nowexit)(PORT=1521)))     
Password changed for LISTENER     
The command completed successfully     
LSNRCTL> save_config     
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=db02.nowexit)(PORT=1521)))     
Saved LISTENER configuration parameters.     
Listener Parameter File   /u01/app/oracle/oracle/product/10.2.0/db_1/network/admin/listener.ora     
Old Parameter File   /u01/app/oracle/oracle/product/10.2.0/db_1/network/admin/listener.bak     
The command completed successfully

在listener.ora文件中添加LOCAL_OS_AUTHENTICATION_LISTENER = OFF,啓用監聽密碼

 

二、這下我們再來停止監聽

[oracle@db02 ~]$ lsnrctl stop

LSNRCTL for Linux: Version 10.2.0.2.0 - Production on 09-MAR-2014 23:59:53

Copyright (c) 1991, 2005, Oracle.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=db02.nowexit)(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=db02.nowexit)(PORT=1521)))     
The command completed successfully

 

執行密碼以後則可以正常關閉。

 

當我們在忘記密碼的時候,就算將監聽文件刪除、替換都沒有辦法重置密碼。這個時候,我們則需要查殺監聽進程

[oracle@db02 admin]$ ps -elf | grep lsnr | grep -v grep    
0 S oracle   18572 17481  0  78   0 -  4748 -      00:01 pts/0    00:00:00 lsnrctl     
0 S oracle   18574     1  0  78   0 - 10591 stext  00:01 ?        00:00:00 /u01/app/oracle/oracle/product/10.2.0/db_1/bin/tnslsnr LISTENER –inherit

[oracle@db02 admin]$ kill -9 18574

 

同時註釋監聽文件文件中的以下兩項

#PASSWORDS_LISTENER = 7AAA926EC45D3A02      
      #LOCAL_OS_AUTHENTICATION_LISTENER = OFF

 

這樣既想當於無密碼,重啓監聽即可。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章