一、安裝圖形界面
yum search tiger #搜索安裝vnc服務(wù)器
yum grouplist #顯示可用group列表
yum -y groupinstall desktop
二、升級grid
- 圖形界面升級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
- 修改grid用戶下的.bash_profile文件,將ORACLE_HOME環(huán)境變量修改為新的ORACLE_HOME
三、db升級前準(zhǔn)備
- 將11.2.0.4的db軟件安裝至新目錄,注意是安裝軟件,不是升級
- 收集字典信息
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');
- 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
- 一些數(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;
- 清除并關(guān)閉recyclebin
PURGE dba_recyclebin;
Alter system set recyclebin=off;
- 修改cluster_database參數(shù)
Alter system set CLUSTER_DATABASE=false scope=spfile;
四、手工升級db
- 停庫
shutdown immediate
- 檢查環(huán)境變量
檢查ORACLE_SID,ORACLE_HOME,PATH等環(huán)境變量是否設(shè)置為新庫 - 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
- 重新啟動數(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
五、升級后步驟
- 設(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
- 執(zhí)行psu post
@?/rdbms/admin/catbundle.sql psu apply
- 收集全庫統(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é)
- 如果是非RAC環(huán)境升級,升級后不要設(shè)置CLUSTER_DATABASE=true
- 檢查監(jiān)聽服務(wù)是否都正確拉起來了
#檢查命令
crsctl status resource -t
#如果有資源未拉起,執(zhí)行以下步驟
srvctl upgrade database -d db_name -o $ORACLE_HOME
shutdown immediate
startup
- 單節(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
- 升級備庫
先升級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的歸檔日志