修改使用者密碼引來的一系列麻煩

snowdba發表於2015-07-27
應用專案組緊急求助,說資料庫的使用者密碼被鎖不能使用了。

DBA介入後嘗試解鎖該使用者alter user HR account unlock; 該命令執行後可以收到修改成功的反饋,但是嘗試使用該使用者登入資料庫依然提示該使用者被鎖!

DBA嘗試修改該使用者密碼alter user HR identified by <old password>; 提示修改失敗,不允許再次使用該密碼。跟應用團隊溝通後DBA嘗試修改新密碼alter user HR identified by <new password>, 修改成功但是依然無法登入資料庫,該使用者還是被鎖定!

說到這裡,其實該警覺了。這個現象的背後就是因為修改密碼後,有使用者嘗試使用舊的密碼登入,當登入錯誤達到上限,oracle自動鎖定該使用者。 能做到這件事的元兇有兩個,一個是WAS,另一個是profile。 profile中可以設定使用者密碼錯誤達到一定上限鎖定使用者,was是除了oracle和任何其它終端有能力連線資料庫的發起者。

經過反覆排查最終理清了事情的起因和脈絡。
1. 由於應用團隊使用default profile導致應用程式使用者HR出現密碼過期的提示
2. 應用團隊手工為該使用者修改了新的密碼
3. 應用團隊沒有修改was密碼,導致was連線資料庫出錯達到profile規定的上限,該使用者HR被鎖
4. DBA介入時並不知道應用團隊已經做了前面的工作,只是聽說密碼被鎖的現象。
5. DBA嘗試解鎖,修改密碼都無法解決該使用者被鎖的狀態。其實是因為was在不停的沿用老密碼嘗試連線資料庫,導致profile鎖定該HR使用者。
6. 最終處理方案是停止應用程式,停止was,修改oracle使用者密碼,修改was連線資料庫密碼。重新啟動was,重新啟動應用程式,問題解決。

總結:
1. profile不要使用預設配置,防止應用使用者密碼過期問題。
2. 修改資料庫密碼,不要忘記修改was密碼。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29047826/viewspace-1753081/,如需轉載,請註明出處,否則將追究法律責任。

相關文章