Posted on 2008-01-02 04:08
leekiang 閱讀(618)
評論(0) 編輯 收藏 所屬分類:
oracle
1,必須把所有的oracle服務停掉。如果忘停就執行升級,則會報錯,不要緊,這時仍然可以停掉oracle服務然后retry
2,缺省是新建一個ORACLE_HOME,我們應該選擇原來裝的ORACLE_HOME,如C:\oracle\ora92,名字為"OraHome92",否則升級可能不成功
3,如果報"無法確定主機的IP地址時產生異常錯誤",解決辦法:
?????修改 c:\windows\system32\drivers\etc\hosts,加一行
???? 192.168.1.101????? LENOVO-PC
?????其中ip是通過ipconfig查得的,右邊是機器名,可通過hostname命令查得。
???? 同時需要啟動服務“TCP/IP NetBIOS Helper Service”
4,修改shared_pool_size=150M;shared_pool_size=150M。 必須以spfile的方式。
這時可能報:
ORA-02097: 無法修改參數, 因為指定的值無效
ORA-04033: 沒有足夠的內存來增加池的容量
原因是sga_max_size太小,把其調大。
select sum(bytes)/1024/1024 from v$sgastat where name='free memory';
它統計的空閑空間是當前各緩沖池未使用的空間,而不是SGA預留而未分配給各池的空間。
詳細步驟:
C:\>sqlplus /nolog
conn sys/sys as sysdba;
startup;
--設置共享池和Java池大于150M
ALTER SYSTEM SET SHARED_POOL_SIZE='150M' SCOPE=spfile;
ALTER SYSTEM SET JAVA_POOL_SIZE='150M' SCOPE=spfile;
--修改System表空間大小,保證有50M的多余空間
--修改XDB表空間大小,保證有20M的多余空間
shutdown immediate;
--重新啟動數據庫到升級狀態
STARTUP MIGRATE;
SPOOL c:\patch.log;
@C:\oracle\ora92\rdbms\admin\catpatch.sql;
--開始運行升級腳本,內存足夠的話運行時間小于1個小時,建議在運行期間關閉所有其它相關的運行程序,另外最好有200M的多余內存空間
--升級時可以通過WINDOWS任務管理器監視ORACLE是否在升級。
SPOOL OFF;
--還原共享池和JAVA池大小,根據實際情況設置
ALTER SYSTEM SET SHARED_POOL_SIZE='50M' SCOPE=spfile;
ALTER SYSTEM SET JAVA_POOL_SIZE='50M' SCOPE=spfile;
shutdown immediate;
STARTUP;
--以下腳本為重新編譯所有失效對象
@C:\oracle\ora92\rdbms\admin\utlrp.sql;
詳見http://www.cnblogs.com/njlhb/archive/2007/12/23/1011410.html
http://dev.21tx.com/2005/03/07/11952.html