Oracle 10 2 0 1 升級到 10 2 0 4
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow
也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!
--*********************************
-- 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
10g後增加了upgrade引數,升級可直接用startup upgrade,降級仍是startup migrate
一、單實例升級先決條件:
1.表空間需求
確保system表空間至少有10M空間可用,下面給出查詢語句
col "tablespace_name" for a20
col "Usage_Percent"
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.如果使用了恢復目