資料庫升級報錯

anycall2010發表於2009-01-01

論壇一位網友在升級資料庫報錯,不是什麼大問題。但是,我覺得他的處理方法比較得當,收藏!

http://www.itpub.net/viewthread.php?tid=1108147&pid=12536047&page=1&extra=#pid12536047

某物流公司升級資料庫報錯

------------------
一. 背景
------------------
今天收到一個使用者的遠端電話,客戶正在升級生產資料庫,windows平臺,由10201升級到10204,在執行升級的過程中,使用dbua圖形介面工具,在升級執行完成86%的時候,遇到一個錯誤。
其實就是EM啟動不了。。。。。。。。
當時由於正在另外一個城市的現場,上網不方便。不過客戶比較著急。只好在自己的電腦上,搜一些資料。

------------------
二. 處理過程
------------------
*) 詢問客戶,升級前有備份沒有?
   客戶說有備份,windows平臺的冷備份,但是沒有備份登錄檔相關部分。
   還好,有這個冷備份還是很好的,登錄檔部分應該通過編輯,可以進行正確修改,不過可能有點麻煩。
*) 立即建議客戶將現在的幾個鍵完成匯出備份,每個鍵備份成名稱分別為1,2,3....,這樣比較快一點。
  備份登錄檔,以便保護現場,如果編輯登錄檔不成功,可以恢復到那個時刻的狀態。
   報錯是跟OEM有關的,這個一時還找不到具體原因,不過這個可以在以後再解決,先把資料庫正常運轉再說。
*) 讓客戶將監聽器啟用
*) 讓客戶使用使用客戶端工具,sqlplus登入
  select open_mode from v$database;
*) 檢查資料庫的各個部件的升級狀態和版本
  select comp_id,comp_name,version,procedure,status,modified from dba_registry;
*) 檢查無效物件,然後重新編譯
  @%ORACLE_HOME%\rdbms\admin\utlrp.sql
*) 結束,資料庫本身執行正常。
*) 關於OEM的配置,以後再處理。這個需要執行某些指令碼,參照說明進行配置。

------------------
三. 小結
------------------
1.) 執行小版本升級,一般有兩種方法,使用手工升級和使用dbua進行。
    手工升級就是比較靈活,自己可以掌控升級的進度,但是步驟很多,很多操作手工完成,有時候容易忘記而出錯。
    dbua很簡單,點選next一路往下。對客戶很黑箱,不知道現在到底幹什麼,當然可以開啟升級日誌進行觀察。
    兩種方法都可以做。
    我喜歡用手工方式進行升級
2.) 升級前,有很多預操作要做,一定要做足功夫。比如關掉程式和服務,嚴格按照操作文件執行。
    一般來所,預操作做好了,升級一般會順利。
3.) 升級前有條件的,儘量做好備份,做好備份就是給自己上安全保險。有退路。

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

相關文章