跨大版本升級 (11g → 12c) 涉及架構變更 (CDB/PDB)、優化器增強、參數廢除等,需嚴格遵循「評估→測試→演練→生產」流程。
根據 MOS Note 730365.1,11.2.0.4 可直接升級至 12.2.0.1 (支援路徑)。
$ORACLE_HOME_12c/jdk/bin/java -jar $ORACLE_HOME_12c/rdbms/admin/preupgrade.jar TERMINAL TEXT輸出包含:
INVALID OBJECTS、DEPRECATED PARAMETERS、RESOURCE LIMITS、TIMEZONE VERSION 等關鍵檢查項。
@?/rdbms/admin/utlrp.sql
EXEC DBMS_STATS.GATHER_DICTIONARY_STATS;
BACKUP DATABASE PLUS ARCHIVELOG;
@?/rdbms/admin/utltz_verify.sql -- 檢查 @?/rdbms/admin/utltz_upgrade.sql -- 升級 (需停機)
SHUTDOWN IMMEDIATE;
SEC_CASE_SENSITIVE_LOGON),新增必要參數 (如 COMPATIBLE=12.2.0)。export ORACLE_HOME=/u01/app/oracle/product/12.2.0/dbhome_1 export PATH=$ORACLE_HOME/bin:$PATH sqlplus / as sysdba STARTUP UPGRADE;
catctl.pl):
$ORACLE_HOME/perl/bin/perl $ORACLE_HOME/rdbms/admin/catctl.pl -n 4 catupgrd.sql
@?/rdbms/admin/utlrp.sql
@?/rdbms/admin/utltz_upgrade.sql
@?/rdbms/admin/utlu122s.sql -- 升級狀態摘要 @?/rdbms/admin/utlu122i.sql -- 無效物件檢查
ALTER SYSTEM SET COMPATIBLE='12.2.0' SCOPE=SPFILE; SHUTDOWN IMMEDIATE; STARTUP;
| 項目 | 動作 |
|---|---|
| 統計資訊 | 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 備份 |
核心建議:不要跳過演練。11g→12c 架構變更大,演練能暴露 90% 以上潛在問題。