依賴官方文檔與Metalink筆記解決問題,成功率常不足100%。本文以三個真實案例揭示「完整指南」的缺漏,並給出應對策略。
舊版執行spcreate.sql會調用spcusr.sql進而載入dbmsjob腳本,若系統已存在DBMS_JOB會產生衝突,導致大量物件失效。utlrp.sql重編譯無法修復DBMS_UTILITY包體。Metalink筆記149113.1六年後才建議註釋掉spcusr.sql中調用dbmsjob的代碼。10g版spcusr已移除該調用。
筆記316889.1「手動升級到10gR2完整檢查清單」遺漏兩點:
執行utlirp.sql重編譯所有物件後提示成功,實際上SYS表STATUS欄位被設為6,utlrp.sql並未真正被調用。所有PL/SQL處於失效狀態,需手動重編譯。
Oracle支援機制缺乏將客戶回饋修正進文檔的閉環。SR關閉邏輯優先於知識庫更新,導致已知錯誤長期殘留。
電影《死亡地帶》台詞道盡心聲:「你知道了,是不是,你一定知道了」——有人明知文檔有誤卻不發聲。DBA唯有自救,構建可信知識體系。