今天遇到了一個Enterprise Manager 無法連接到數據庫實例的錯誤,無法使用OEM,經過檢查發現是 SYSMAN用戶被鎖定了,關於Enterprise Manager 無法連接到數據庫實例的錯誤 網上其實早已有解決辦法 那就是要保證如下用戶必須是OPEN狀態:
SELECT username,account_status FROM dba_users WHERE username in ('SYSTEM','SYS','SYSMAN','DBSNMP','MGMT_VIEW'); |
SYSTEM OPEN |
經過檢查 發現SYSMAN果然是LOCKED狀態,於是馬上解除鎖定狀態
ALTER USER sysman ACCOUNT UNLOCK; |
然后再次登陸OEM,發現還是 無法連接到數據庫實例,於是再次檢查用戶狀態,發現SYSMAN又被鎖定了,如此反復多次之后,網上說是由於OEM打開時會嘗試使用這些這些用戶連接數據庫,由於profiles的限制造成鎖定,於是以管理員用戶登陸到數據庫
SQL> CONN / AS SYSDBA 已連接。 SQL> ALTER PROFILE DEFAULT LIMIT failed_login_attempts UNLIMITED ; 配置文件已更改 |
但是發現OEM還是無法使用:Enterprise Manager 無法連接到數據庫實例。再次檢查用戶狀態,發現SYSMAN現在沒有被鎖定了。突然想到既然是由於多次登陸SYSMAN被鎖定造成的,那么肯定是由於密碼不正確導致SYSMAN被錯誤的多次嘗試造成的鎖定,於是查找以前的安裝記錄,修改為剛開始安裝數據庫時設定的密碼,然后再次刷新網頁,OK 網頁可以正常使用了,雖然問題已經解決,但是如果初始密碼未知,難道非要重建OEM嘛?
帶着疑問 再次做幾個小測試:
SQL> alter user sys identified by test_dba; 用戶已更改。 SQL> alter user system identified by test_dba; 用戶已更改。 |
然后刷新OEM,發現依然可以使用,但是一旦SYSMAN、DBSNMP的密碼被更改,就無法打開實例了。而對於'MGMT_VIEW'用戶,由於不屬於在初始化時設置的用戶,不知道$ORACLE_HOME\RDBMS\ADMIN\ 文件夾下的那個腳本是創建該用戶的,同時又是正式庫,因此不敢貿然修改。 下來有時間在本機上再繼續測試吧。