Oracle 10g 以上密碼失效問題
Oracle em無法登錄,我自己遇到的問題總結(jié)如下:
其中有兩個用戶可能密碼失效
1、 sysman
2、 dbsnmp
SYSMAN和DBSNMP跟涉及到Oracle的EM,所以跟其他的用戶修改密碼方式有所區(qū)別。
DBSNMP是Oracle數(shù)據(jù)庫中用于智能代理(Intelligent Agent)的用戶,用來監(jiān)控和管理數(shù)據(jù)庫相關(guān)性能的用戶,如果停止該用戶,則無法提取相關(guān)的數(shù)據(jù)信息;-
SYSMAN是Oracle數(shù)據(jù)庫中用于EM管理的用戶,如果你不用該用戶,也可以刪除;
首先,以SYS DBA身份進入sqlpuls
打開sqlpuls
SQL->sqlplus /nolog
SQL->sys / as sysdba
登錄成功以后查詢DBA用戶狀態(tài)
SQL->select username,account_status from dba_users;
查看其中常用的用戶狀態(tài)是否是EXPIRED 還是LOCKED
有的是LOCKED<TIME>
如果sysman狀態(tài)是過期,修改密碼方法:
1、執(zhí)行emctl stop dbconsole
使用下面的命令來檢查是否缺失停止了:
emctl status dbconsole
確認停止以后就可以在sqlpuls里改密碼了
2、執(zhí)行下面的命令修改sysman密碼:
SQL->alter user sysman identified by <你要改的密碼>;
不過首先你得確認一下sysman是否被鎖定,就是執(zhí)行
SQL->select username,account_status from dba_users;
看sysman的狀態(tài),如果是LOCKED,那么你先得解鎖:
SQL->alter user sysman account unlock;
解鎖完成后再修改密碼,或者修改后再解鎖都行,步驟可以顛倒,但是絕對不能少。
修改完成后
SQL->connect sysman/密碼
如果連接成功就可以進行下一步了。
3、修改emoms.properties
在路徑 Oracle_HOME\[HOST]_[SID]\sysman\config下
找到文件后編輯以下兩句:
Oracle.sysman.eml.mntr.emdRepPwd= [Your encrypted password]
Oracle.sysman.eml.mntr.emdRepPwdEncrypted=True
找到后把[Your encrypted password]改成你這個用戶要改的密碼(明文),然后把下面的True改成False.
4、重新啟動dbConsole
emctl start dbconsole
啟動后你再到emoms.properties里看,是不是密碼給你加密了,而且emdRepPwdEncrypted變成了True!
如果用戶dbsnmp也失效的話,同樣的辦法,先停止dbconsole和agent然后在sqlplus里確保他的狀態(tài)是open,修改密碼,然后再去文件中改,不過這次文件不一樣,變成了targets.xml ,它的路徑在
Oracle_HOME\[HOST]_[SID]\sysman\emd
修改以下行:
<Property NAME="password" VALUE="<[Your encrypted password]>" ENCRYPTED="TRUE"/>
同樣把<[Your encrypted password]>改成你要改的密碼,把后面的TRUE改成FALSE,保存。重新啟動dbconsole
本文出自:億恩科技【mszdt.com】
服務(wù)器租用/服務(wù)器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM]
|