Oracle Database從11.2.0.3的RMAN備份資料還原到11.2.0.4版本

Oracle Database從11.2.0.3的備份資料還原到11.2.0.4版本時,會遇到「ORA-39700: database must be opened with UPGRADE option」錯誤,透過下面幾個步驟就可以輕鬆的將資料庫升級,讓資料庫可以順利開啟。

情境說明:
將Oracle 11.2.0.3的rman備份還原到11.2.0.4的版本,當開啟資料庫時遇到下圖的ORA-39700錯誤訊息。

一、檢查升級sql腳本檔案是否存在
su – oracle
ls -la $ORACLE_HOME/rdbms/admin/catupgrd.sql
ls -la $ORACLE_HOME/rdbms/admin/utlu112s.sql
ls -la $ORACLE_HOME/rdbms/admin/catuppst.sql
ls -la $ORACLE_HOME/rdbms/admin/utlrp.sql
※如果檔案都存在就可以進行下一步驟

二、以升級模式啟動資料庫
SQL>startup upgrade;

三、查看預備升级的資訊
SQL>@$ORACLE_HOME/rdbms/admin/utlu112i.sql

四、執行升級SQL腳本
SQL>@$ORACLE_HOME/rdbms/admin/catupgrd.sql
SQL>@$ORACLE_HOME/rdbms/admin/utlu112s.sql
SQL>@$ORACLE_HOME/rdbms/admin/catuppst.sql
SQL>@$ORACLE_HOME/rdbms/admin/utlrp.sql
※如果過程有遇到資料庫被關閉的狀況,就重新執行步驟二「以升級模式啟動資料庫」,將資料庫重新啟動。

五、重新啟動資料庫
SQL>shutdown immediate;
ORA-01109: database not open
Database dismounted.
ORACLE instance shut down.
SQL>startup;