Oracle11.2.0.3升級至11.2.0.4

一、安裝圖形界面
yum search tiger   #搜索安裝vnc服務(wù)器
yum grouplist   #顯示可用group列表
yum -y groupinstall desktop
二、升級grid
  1. 圖形界面升級grid,在啟動安裝軟件后第二步installation option選擇“Upgrade Oracle Grid Infrastructure or Oracle Automatic Storage Management”。第七步installation location的software location選擇新建的11.2.0.4的GI目錄/oracle/grid/11.2.0.4
  2. 修改grid用戶下的.bash_profile文件,將ORACLE_HOME環(huán)境變量修改為新的ORACLE_HOME
三、db升級前準(zhǔn)備
  1. 將11.2.0.4的db軟件安裝至新目錄,注意是安裝軟件,不是升級
  2. 收集字典信息
exec DBMS_STATS.GATHER_FIXED_OBJECTS_STATS();
exec DBMS_STATS.GATHER_DICTIONARY_STATS(ESTIMATE_PERCENT=>100,METHOD_OPT=>'FOR ALL COLUMNS SIZE AUTO',DEGREE=>8,GRANULARITY=>'AUTO',CASCADE=>TRUE,OPTIONS=>'GATHER AUTO'); 
  1. 11.2.0.3數(shù)據(jù)庫pre-upgrade 腳本檢查
SQL> SPOOL upgrade_info.log
SQL> @$11204_ORACLE_HOME/rdbms/admin/utlu112i.sql(新的oracle home下的腳本)
SQL> SPOOL OFF
  1. 一些數(shù)據(jù)庫信息查詢
-- 1. 物化視圖刷新完成
SELECT *
FROM   sys.obj$ o,
       sys.user$ u,
       sys.sum$ s
WHERE  o.type# = 42
       AND Bitand(s.mflags, 8) = 8;
-- 2. 無待恢復(fù)文件
SELECT *
FROM   v$recover_file;
-- 3. 無備份狀態(tài)文件
SELECT *
FROM   v$backup
WHERE  status != 'NOT ACTIVE';
--4. 未完成分布式事務(wù)
SELECT *
FROM   dba_2pc_pending;
-- 若有輸出
SELECT local_tran_id
FROM   dba_2pc_pending;
EXECUTE dbms_transaction.purge_lost_db_entry('&local_tran_id');
commit;
  1. 清除并關(guān)閉recyclebin
PURGE dba_recyclebin;
Alter system set recyclebin=off;
  1. 修改cluster_database參數(shù)
Alter system set CLUSTER_DATABASE=false scope=spfile;
四、手工升級db
  1. 停庫
shutdown immediate
  1. 檢查環(huán)境變量
    檢查ORACLE_SID,ORACLE_HOME,PATH等環(huán)境變量是否設(shè)置為新庫
  2. copy11.2.0.3數(shù)據(jù)庫參數(shù)文件和密碼文件至11.2.0.4數(shù)據(jù)庫,執(zhí)行升級
SQL> Startup upgrade
SQL> SPOOL upgrade.log
SQL>@$ORACLE_HOME/rdbms/admin/catupgrd.sql
  1. 重新啟動數(shù)據(jù)庫,執(zhí)行其他步驟
Startup
-- 查詢升級信息
@$ORACLE_HOME/rdbms/admin/utlu112s.sql
-- 執(zhí)行其他升級步驟
@$ORACLE_HOME/rdbms/admin/catuppst.sql
-- 編譯失效對象
Alter system set job_queue_processes=60;
@?/rdbms/admin/utlrp.sql
五、升級后步驟
  1. 設(shè)置相關(guān)參數(shù)
 Alter system set COMPATIBLE='11.2.0.4' scope=spfile;
 Alter system set CLUSTER_DATABASE=true scope=spfile; --單節(jié)點(diǎn)不要設(shè)置此參數(shù)
 Shutdown immediate
 Startup
  1. 執(zhí)行psu post
@?/rdbms/admin/catbundle.sql psu apply
  1. 收集全庫統(tǒng)計信息
begin
  dbms_stats.gather_database_stats(estimate_percent => dbms_stats.auto_sample_size,
                                   degree           => 8,
                                   method_opt       => 'for all columns size auto',
                                   cascade          => True);
end;
/
exit;
六、問題總結(jié)
  1. 如果是非RAC環(huán)境升級,升級后不要設(shè)置CLUSTER_DATABASE=true
  2. 檢查監(jiān)聽服務(wù)是否都正確拉起來了
#檢查命令
crsctl status resource -t
#如果有資源未拉起,執(zhí)行以下步驟
srvctl upgrade database -d db_name -o $ORACLE_HOME
shutdown immediate
startup
  1. 單節(jié)點(diǎn)升級后有未注冊組件
--查詢代碼
SET linesize 200

SELECT *
FROM   dba_registry
WHERE  status <> 'VALID';

若以上查詢代碼有輸出,執(zhí)行以下步驟

1. shell中執(zhí)行
cd $ORACLE_HOME/bin
./adapters ./oracle
2. 進(jìn)數(shù)據(jù)庫編譯失效對象
@?/rdbms/admin/utlrp.sql
3. 編譯數(shù)據(jù)庫程序文件
cd $ORACLE_HOME/rdbms/lib
make -f ins_rdbms.mk rac_on ioracle
  1. 升級備庫
    先升級GI,然后安裝db程序,db程序安裝好后停11.2.0.3的庫,以
startup upgrade

方式打開11.2.0.4數(shù)據(jù)庫,應(yīng)用11.2.0.3的歸檔日志,11.2.0.3的歸檔日志應(yīng)用完畢后,應(yīng)用11.2.0.4歸檔日志會報錯,此時,執(zhí)行

 Alter system set COMPATIBLE='11.2.0.4' scope=spfile;

重啟數(shù)據(jù)庫,即可正常應(yīng)用11.2.0.4的歸檔日志

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容