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

Oracle 資料庫升級實戰:從 11.2.0.4 升級至 12.2.0.1 關鍵步驟與風險控制

     編輯:Oracle 教學

Oracle 資料庫升級實戰:從 11.2.0.4 升級至 12.2.0.1

跨大版本升級 (11g → 12c) 涉及架構變更 (CDB/PDB)、優化器增強、參數廢除等,需嚴格遵循「評估→測試→演練→生產」流程。

升級路徑確認

根據 MOS Note 730365.1,11.2.0.4 可直接升級至 12.2.0.1 (支援路徑)。

Phase 1:升級前評估 (Pre-Upgrade Assessment)

  1. 執行 Pre-Upgrade Information Tool (12.2 安裝媒體自帶):
    $ORACLE_HOME_12c/jdk/bin/java -jar $ORACLE_HOME_12c/rdbms/admin/preupgrade.jar TERMINAL TEXT
    
    輸出包含:INVALID OBJECTS、DEPRECATED PARAMETERS、RESOURCE LIMITS、TIMEZONE VERSION 等關鍵檢查項。
  2. 清理無效物件:
    @?/rdbms/admin/utlrp.sql
    
  3. 收集字典統計資訊**:
    EXEC DBMS_STATS.GATHER_DICTIONARY_STATS;
    
  4. 備份資料庫** (RMAN Level 0 + Archivelog):
    BACKUP DATABASE PLUS ARCHIVELOG;
    
  5. 時區檔版本升級** (若 preupgrade 提示):
    @?/rdbms/admin/utltz_verify.sql  -- 檢查
    @?/rdbms/admin/utltz_upgrade.sql -- 升級 (需停機)
    

Phase 2:升級演練

  • 在**與生產規格一致**的測試環境完整跑一次升級。
  • 驗證應用功能、效能基準 (AWR/ADDM 對比)、備份恢復演練。
  • 測試 CDB/PDB 架構遷移** (12c 強制 CDB,單實例建議建 1 個 PDB)。

Phase 3:生產升級步驟 (停機窗口)

  1. 關閉應用、監聽器、排程作業。
  2. 關閉資料庫**:
    SHUTDOWN IMMEDIATE;
    
  3. 複製/修改參數檔**:移除廢除參數 (如 SEC_CASE_SENSITIVE_LOGON),新增必要參數 (如 COMPATIBLE=12.2.0)。
  4. 以新 ORACLE_HOME 啟動 UPGRADE 模式**:
    export ORACLE_HOME=/u01/app/oracle/product/12.2.0/dbhome_1
    export PATH=$ORACLE_HOME/bin:$PATH
    sqlplus / as sysdba
    STARTUP UPGRADE;
    
  5. 執行升級腳本** (12.2 採用平行升級 catctl.pl):
    $ORACLE_HOME/perl/bin/perl $ORACLE_HOME/rdbms/admin/catctl.pl -n 4 catupgrd.sql
    
  6. 重新編譯無效物件**:
    @?/rdbms/admin/utlrp.sql
    
  7. 升級時間區檔** (若尚未完成):
    @?/rdbms/admin/utltz_upgrade.sql
    
  8. 執行 Post-Upgrade 檢查**:
    @?/rdbms/admin/utlu122s.sql  -- 升級狀態摘要
    @?/rdbms/admin/utlu122i.sql  -- 無效物件檢查
    
  9. 設定 COMPATIBLE=12.2.0 並重啟**:
    ALTER SYSTEM SET COMPATIBLE='12.2.0' SCOPE=SPFILE;
    SHUTDOWN IMMEDIATE;
    STARTUP;
    

Phase 4:升級後驗證與優化

項目動作
統計資訊EXEC DBMS_STATS.GATHER_DICTIONARY_STATS; EXEC DBMS_STATS.GATHER_FIXED_OBJECTS_STATS;
優化器特性測試 OPTIMIZER_FEATURES_ENABLE=12.2.0.1 對核心 SQL 影響
Unified Auditing啟用新審計架構 (傳統審計廢除)
PDB 管理建立應用 PDB、設定 Resource Manager Plan
備份策略調整 RMAN 腳本支援 CDB/PDB 備份

風險控制清單

  • ✅ 完整 RMAN 備份 + 離線備份 (冷備份)
  • ✅ 回滾方案:保留舊 ORACLE_HOME、參數檔、控制檔備份
  • ✅ 關鍵 SQL 執行計劃基準線 (SPM) 捕捉
  • ✅ 應用連線池測試 (JDBC/ODP.NET 版本相容性)
  • ✅ 升級期間鎖定 Schema 變更 (DDL 凍結)

核心建議:不要跳過演練。11g→12c 架構變更大,演練能暴露 90% 以上潛在問題。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved