首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> Oracle 資料庫 >> Oracle 教學

Oracle 資料庫從 32 位遷移至 64 位平台完整操作手冊:備份、UTLIRP、OLAP 處理與驗證

     編輯:Oracle 教學

Oracle 32位遷移 64位平台完整操作手冊

客戶 32 位 Oracle 系統磁碟損壞,需遷移至 64 位新硬體 (64G 記憶體、RHEL 6.2)。因 wordsize 差異,直接複製資料檔不可行,系統存儲過程需手動重編譯。以下為完整遷移流程。

遷移步驟總覽

  1. 完整備份資料庫(RMAN 或冷備份)。
  2. 備份控制檔至 Trace:ALTER DATABASE BACKUP CONTROLFILE TO TRACE; 取得 CREATE CONTROLFILE 腳本。
  3. 檢查無效物件與組件狀態:SELECT COUNT(*) FROM DBA_OBJECTS WHERE STATUS='INVALID';、SELECT COMP_NAME, STATUS FROM DBA_REGISTRY; 均應為 VALID。
  4. 複製參數檔、控制檔、資料檔、日誌檔至 64 位主機對應目錄(建議保持路徑一致)。
  5. 在 64 位主機建立 udump/adump 等目錄。
  6. 如目錄異動,依 Trace 腳本重建控制檔;否則直接啟動。
  7. 以 UPGRADE 模式啟動並執行 UTLIRP 將 PL/SQL 標記失效:
    STARTUP UPGRADE;  -- 10g/11g
    SPOOL mig.log;
    @?/rdbms/admin/utlirp.sql
    SPOOL OFF;
  8. 正常重啟資料庫。
  9. 移除 OLAP 組件(避免編譯錯誤):
    @?/olap/admin/catnoamd.sql
    @?/olap/admin/olapidrp.plb
    @?/olap/admin/catnoxoq.sql
    @?/olap/admin/catnoaps.sql
    @?/olap/admin/cwm2drop.sql  -- 僅 11g 需執行
  10. 重新編譯無效物件:@?/rdbms/admin/utlrp.sql(此時會報錯,因 OLAP 未裝)。
  11. 重新安裝 OLAP:@?/olap/admin/olap.sql SYSAUX TEMP;
  12. 再次執行 @?/rdbms/admin/utlrp.sql 完成編譯。
  13. 驗證:SELECT COUNT(*) FROM DBA_OBJECTS WHERE STATUS<>'VALID'; 應為 0,DBA_REGISTRY 全部 VALID。
  14. 重新編譯 JAVA 物件(必要時):執行內建 PL/SQL 區塊清除並重載 JAVA CLASS。

關鍵驗證結果

遷移後驗證:
SELECT COUNT(*) FROM DBA_OBJECTS WHERE STATUS<>'VALID';  -- 0
SELECT COMP_NAME, STATUS FROM DBA_REGISTRY;  -- 17 組件皆 VALID

注意事項

  • 遷移期間禁止 DDL 操作,防止死結。
  • 保持目錄結構一致可大幅降低風險。
  • UTLIRP 執行前務必確認資料庫處於 UPGRADE/MIGRATE 模式。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved