記一次utlrp.sql指令碼執行引發的結果

zhcunique發表於2021-02-26

utlrp.sql指令碼可以在資料庫執行的狀態下執行以編譯、資料庫中的invalid物件.
oracle建議在對資料庫進行遷移、升級、降級後都執行一遍utlrp.sql以編譯無效物件。

===========================================================================

問題現象:A庫的a使用者莫名其妙被鎖定,A庫設定了密碼安全策略為錯誤密碼登入10次鎖定

定位經過:透過分析A庫的登入行為,發現鎖定前有多次來自B庫的連線行為,如下圖所示。透過資訊細節分析,連線來源為B庫中的某個db-link

登入B庫,檢視所有dblink,確實有一個連線A庫a使用者的dblink,測試該dblink的連通性,確實提示密碼不正確。

百思不得其解的是,該dblink確實沒有程式或手工呼叫,是什麼在呼叫該dblink,發起的連線行為?

透過綜合連線時點和操作時點,綜合判斷:執行utlrp.sql指令碼可能會觸發自動測試庫中所有dblink的連通性,修改dblink的使用者密碼後再次發起執行utlrp.sql,果然在A庫中又捕獲到登入行為。

由於網上能搜到的utlrp.sql相關內容不多,也看不到指令碼原始碼,落實猜測還需大家證實。

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

相關文章