--*********************************
-- Oracle 10.2.0.1 升 級 到 10.2.0.4
--*********************************
?
? 數 據 庫 升 級并 不 難 ,只要遵循其步 驟 ,一般 問題 不大。但是升 級 失 敗 的情 況 也是 屢見 不 鮮 ,尤其是生 產數 據 庫 的升 級 , 搞 不定的 時 候甚至要 創 建 SR 。
? 下面描述基于 Linux(Oracle Linux 5.4 / 2.6 .18- 164 .el5PAE) 平臺下 Oracle 10.2 .0.1 升 級 到 10.2 .0.4 的步 驟 。
? Oracle 升 級 包的下 載 , 請鏈 接: Oracle 補 丁全集 (Oracle 9i 10g 11g Path)
? 注:
??? 在 9i 以前,無 論 升 級 / 降 級 , 數 據 庫 都是 startup migrate
??? 10 g 后增加了 upgrade 參數 ,升 級 可直接用 startup upgrade ,降 級 仍是 startup migrate
?
一、 單實 例升 級 先 決條 件:
?
1 . 表空 間 需求
? 確保 system 表空 間 至少有 10M 空 間 可用,下面 給 出 查詢語 句
??????????
??? col "tablespace_name" for a20
??? col "Usage_Percent" for a10
??? SELECT upper (f.tablespace_name) "tablespace_name"
???????? ,d.tot_grootte_mb "tablespace_size(M)"
???????? ,d.tot_grootte_mb - f.total_bytes "used_size(M)"
???????? ,to_char( round ((d.tot_grootte_mb - f.total_bytes) / d.tot_grootte_mb * 100 ,
?????????????? 2 ),
???????????? '990.99' ) "Usage_Percent"
???????? ,f.total_bytes "free_size(M)"
??? FROM ?? ( SELECT tablespace_name
??????????? , round ( SUM (bytes) / 1024 / 1024 ) total_bytes
??????????? , round ( MAX (bytes) / ( 1024 * 1024 ), 2 ) max_bytes
??????? FROM ?? sys.dba_free_space
??????? GROUP ? BY tablespace_name) f
??????? ,( SELECT dd.tablespace_name
??????????? , round ( SUM (bytes) / 1024 / 1024 ) tot_grootte_mb
??????? FROM ?? sys.dba_data_files dd
??????? GROUP ? BY dd.tablespace_name) d
??? WHERE ? d.tablespace_name = f.tablespace_name
??? ORDER ? BY 2 DESC ;
?
2 . 系 統參數 :
? 確保 參數 SHARED_POOL_SIZE 和 JAVA_POOL_SIZE 大于 150MB 以上, 為 加快升 級 速度,在系 統內 存可用的情 況 下,可 臨時調 大 這 2 個參數
????????? SQL > SHOW PARAMETER SHARED_POOL_SIZE
????????? SQL > SHOW PARAMETER JAVA_POOL_SIZE
????????? SQL > ALTER SYSTEM SET SHARED_POOL_SIZE= '200M' SCOPE = spfile ;
????????? SQL > ALTER SYSTEM SET JAVA_POOL_SIZE= '200M' SCOPE = spfile ;
?
二、 實 施升 級
?
1 . 關閉 需要升 級 的 實 例
? 停止 實 例
??? SQL > shutdown immediate ?
? 停止 與該實 例相 關 的所有后臺 進 程
??? lsnrctl emctl
?
2 . 備份 Oracle Home 目 錄 及 數 據 庫
? tar -cvf $ORACLE_BASE /orabak/ ??? -- 確保 Oracle 相 關 的所有配置都位于 $ORACLE_BASE 目 錄 ,如 監 聽等
? cp *.dbf con*.ora redo*.log /orabak/ ? -- 對數 據 庫實 施冷 備
?
3 . 升 級軟 件
? ./runIstanller ?? -->oracle 賬戶
? root.sh ????????? -->root 賬戶
?
4 . 更新 數 據字典
? SQL > startup upgrade
? SQL > spool patch.log
? SQL > @?/rdbms/ admin /catupgrd.sql ?? -- 注 9i 使用 catpatch.sql
? SQL > spool off
?
5 . 重 編譯 失效 對 象:
? sql > shutdown immediate
? sql >startup
? SQL >@?/rdbms/ admin /utlrp.sql
?
6 . 升 級 后的 檢測
? SQL > select comp_name, version ,status from sys.dba_registry;
?
? 檢查組 件的升 級 情 況
? SQL > select * from utl_recomp_errors;
?
7 . 修改兼容性 參數
?
? SQL > alter system set compatible= '10.2.0.4.0' scope = spfile ;
?
8 . 重新 啟動數 據 庫 :
? SQL > SHUTDOWN
? SQL > STARTUP
?
9 . 如果使用了恢 復 目 錄 , 則執 行下面的命令
? $ rman catalog username/ password @ alias
? RMAN> UPGRADE CATALOG;
?
10 . 升 級 回退:
? SQL > STARTUP DOWNGRADE
?
? SQL > SPOOL downgrade.log
?
? SQL > @catdwgrd.sql ( 10.2 .10 運 行的是 這個 ,而 10.1 降 級 用的是 d92000.sql ,即 dold_release.sql )
?
? Sql >spool off
?
? Sql > shutdown immediate
?
12 . 檢查 升 級 后的情 況
?
? SQL > select comp_name, version ,status from sys.dba_registry;
?
? COMP_NAME ??????????????????????????????? VERSION ??????????????????????? STATUS
? ---------------------------------------- ------------------------------ -----------
? Oracle Database Catalog Views ??????????? 10.2 .0.4.0 ???????????????????? VALID
? Oracle Database Packages and Types ?????? 10.2 .0.4.0 ???????????????????? VALID
? Oracle Workspace Manager ???????????????? 10.2 .0.4.3 ???????????????????? VALID
? JServer JAVA Virtual Machine ???????? ???? 10.2 .0.4.0 ???????????????????? VALID
? Oracle XDK ?????????????????????????????? 10.2 .0.4.0 ???????????????????? VALID
? Oracle Database Java Packages ??????????? 10.2 .0.4.0 ???????????????????? VALID
? Oracle Expression Filter ???????????????? 10.2 .0.4.0 ? ??????????????????? VALID
? Oracle Data Mining ?????????????????????? 10.2 .0.4.0 ???????????????????? VALID
? Oracle Text ????????????????????????????? 10.2 .0.4.0 ???????????????????? VALID
? Oracle XML Database ????????????????????? 10.2 .0.4.0 ????????????????? ??? VALID
? Oracle Rule Manager ????????????????????? 10.2 .0.4.0 ???????????????????? VALID
?
? COMP_NAME ??????????????????????????????? VERSION ??????????????????????? STATUS
? ---------------------------------------- ------------------------------ -----------
? Oracle interMedia ??????????????????????? 10.2 .0.4.0 ???????????????????? VALID
? OLAP Analytic Workspace ????????????????? 10.2 .0.4.0 ???????????????????? VALID
? Oracle OLAP API ????????????????????????? 10.2 .0.4.0 ???????????????????? VALID
? OLAP Catalog ???????????????????????????? 10.2 .0.4.0 ???????????????????? VALID
? Spatial ????????????????????????????????? 10.2 .0.4.0 ???????????????????? VALID
? Oracle Enterprise Manager ??????????????? 10.2 .0.4.0 ???????????????????? VALID
?
? 17 rows selected.
?
? SQL > select * from utl_recomp_errors;
?
? no rows selected
?
?
?
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
