oracle 9i升級到oracle9208資料庫
背景:在windows 2003 server上安裝了Oracle 9.2.0.1.0,現打算將其升級到9.2.0.8版本,並打上最新的安全補丁April 2008版。
1.升級oracle(administrator使用者許可權)
(1)到metalink下載升級壓縮包,patch號為4547809,壓縮包名稱為 p4547809_92080_WINNT.zip,for windows 32bit。
(2)解壓縮zip,下邊包含一個Disk1和readme.html檔案。安裝升級補丁之前,在管理中停掉所有的oracle相關服務,在命令提示符中lsnrctl stop,停掉監聽器。
(3)在雙擊Disk下的setup.exe前,確保環境變數中有ORACLE_HOME變數,並已正確設定。否則會出現錯誤(錯誤忘了)。
(4)雙擊setup.exe,自動升級到9.2.0.8,命令提示符提示安裝完成後,說明元件已經安裝上。
(5)4步並沒有update元件,所以還需要update.此時需要開啟Oracle的服務,最好是重起電腦,Oracle預設服務會自啟動。
(6)以sysdba身份登入資料庫後,SQL>startup 安裝oracle有有jvm和xdb的使用者確保init.ora中的引數SHARED_POOL_SIZE 和JAVA_POOL_SIZE 為150m。方法是檢視現有兩個引數大小
SQL>SHOW PARAMETER SHARED_POOL_SIZE
SQL>SHOW PARAMETER JAVA_POOL_SIZE
如果大小不是150m,進行設定:
SQL> ALTER SYSTEM SET SHARED_POOL_SIZE='150M' SCOPE=spfile;
SQL> ALTER SYSTEM SET JAVA_POOL_SIZE='150M' SCOPE=spfile;
設定成功後shutdown immediate關閉資料庫。
(7)以sysdba登入資料庫
執行 SQL> STARTUP MIGRATE
SQL> SPOOL patch.log
SQL> @ORACLE_BASE\ORACLE_HOME\rdbms\admin\catpatch.sql
SQL> SPOOL OFF
spool patch.log是把做升級日誌到patch.log,供以後察看。
其中ORACLE_BASE\ORACLE_HOME表示你的oracle目錄,假設oracle安裝目錄為c:\oracle\ora92,則第三句應為:
SQL>@c:\oracle\ora92\rrdbms\admin\catpatch.sql 其中@表示執行以下指令碼。
這個過程持續大概20分鐘。
(8)完成後shutdown資料庫,然後startup,執行另外一個指令碼
SQL> @ORACLE_BASE\ORACLE_HOME\rdbms\admin\utlrp.sql,完成後升級補丁打完!!
(8)重起資料庫,登陸後select * from v$version;可以看到oracle升到了9208。
2.oracle打安全補丁
(1)補丁資訊:Critical Patch Update Note Release 9.2.0.8 for Microsoft Windows (32-Bit),patch號為6867138。
(2)CPU是過渡性補丁,需要用Oracle的安裝工具opatch安裝。
安裝CPU之前,檢視相應的opatch版本應為1.0.0.0.57,9.2.0.1版oracle自帶版本為55的,到metalink下載57版本的,壓縮包名為p2617419_10102_GENERIC。解壓縮後將OPATCH目錄覆蓋%oracle_home%\opatch就行了。
(3)在用OPATCH安裝安全補丁之前,停掉所有的oracle服務,但是實踐中發現,程式中仍會有相關的dll被未知(我未知)的程式佔用,導致couldn't copy一些.dll檔案。因此建議重啟伺服器,進入安全模式進行。
(4)在安全模式下,在命令提示符中直接Opatch apply %補丁所在位置%,比如在我的電腦中補丁在 D:\software\oracle9\p6867138_92080_WINNT\6867138中,則我在命令提示符中輸入 Opatch apply D:\software\oracle9\p6867138_92080_WINNT\6867138,自動安裝安全補丁。
(5)安裝完成後,補丁還不算打成功,都快哭了~~~~。咬牙,接著來
跑remove_demo.js指令碼來移除不穩定的Oracle HTTP Server demos.命令提示符中cd到6867138目錄。
>cscript. //nologo remove_demo.js
(6)把修改過的 .sql檔案匯入資料庫:
啟動oracle服務,cd %ORACLE_HOME%\cpu\CPUApr2008 然後以sysdba登入後執行SQL>@catcpu.sql
如果在這個過程中報有invalid的物件,則需要執行(7),否則直接執行(8).
(7)cd %ORACLE_HOME%\rdbms\admin後以sysdba登入,執行@utlrp.sql,之後你可以用
SQL> SELECT OBJECT_NAME FROM DBA_OBJECTS WHERE STATUS= 'INVALID';檢查,可以看到已沒有invalid物件。
(8)重新編譯資料庫中的檢視
cd %ORACLE_HOME%\cpu\view_recompile然後sysdba登入,執行SQL> @recompile_precheck_jan2008cpu.sql 這個是計算下需要執行的時間等。
shutdown資料庫,以migrate方式startup,SQL>startup migrate 然後SQL> @view_recompile_jan2008cpu.sql 關閉資料庫。如果有invalid物件,手動compile,但是一般沒有。
總結:oracle不同的補丁還有不同的打法,實在是很不智慧,所以之前要仔細的閱讀readme,是個很鬱悶的活!而且安裝完了不是真正的安裝完!!崩潰了吧~~~上邊的操作是新建資料庫之後就直接進行的,因此也沒有考慮到資料庫備份等工作。如果你已經在使用資料庫做了一些工作,建議先備份資料庫,以免補丁沒有打上,影響資料庫的使用。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/235507/viewspace-582231/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle 9i升級到oracle9208Oracle
- 手工升級9i資料庫到11g資料庫
- oracle資料庫升級11.2.0.3升級到11.2.0.4Oracle資料庫
- 9I 資料庫升級到10g的步驟資料庫
- Oracle 資料庫升級Oracle資料庫
- oracle資料庫11.2.0.3升級到11.2.0.4Oracle資料庫
- (轉)使用DBUA從9i到10G升級資料庫資料庫
- oracle 資料庫從10.2.0.4升級到11.2.0.3Oracle資料庫
- 升級到資料庫到10.2.0.5.0版本資料庫
- Oracle資料庫從 9.2.0.1 到 9.2.0.8升級步驟 for winOracle資料庫
- RAC資料庫升級到10.2.0.5資料庫
- Oracle資料庫升級(轉發)Oracle資料庫
- Oracle 資料庫 升級為 RACOracle資料庫
- 探索Oracle之資料庫升級二 11.2.0.3升級到11.2.0.4完整步驟Oracle資料庫
- rac 升級crs 升級資料庫軟體,升級資料庫資料庫
- Oracle資料庫從 9.2.0.1 到 9.2.0.8升級步驟for linuxOracle資料庫Linux
- Oracle10g RAC 資料庫升級為10.2.0.4 ,clusterware需要升級到10.2.0.4 ?Oracle資料庫
- Oracle資料庫升級與補丁Oracle資料庫
- Oracle 資料庫升級注意事項Oracle資料庫
- 靜默方式安裝、升級oracle(三): 升級資料庫軟體及資料庫Oracle資料庫
- 資料庫升級資料庫
- ♀♀資料庫升級♀♀資料庫
- Oracle 9i/10g/11g資料庫升級路線圖總覽Oracle資料庫
- RAC 資料庫升級 10.2.0.1.0 到 10.2.0.2.0 之升級catalog資料庫
- 【操作】升級資料庫軟體到10.2.0.3資料庫
- ORACLE資料庫升級詳細步驟Oracle資料庫
- oracle 9i的資料庫的dmp匯入到10G資料庫Oracle資料庫
- Oracle 9i 11g歷史庫升級遷移資料至19c CDBOracle
- 探索Oracle之資料庫升級一 升級補丁修復概述Oracle資料庫
- (轉)手工升級資料庫10.1到10.2資料庫
- Oracle 12c資料庫升級實戰Oracle資料庫
- ZT 升級和移植Oracle資料庫方法若干Oracle資料庫
- 資料庫升級之-Dataguard滾動升級資料庫
- oracle 9i資料庫做spaOracle資料庫
- 資料庫升級之-資料泵資料庫
- 升級資料庫到11.2.0.2需要注意的bug資料庫
- 資料庫升級和工具資料庫
- 資料庫升級之-XTTS資料庫TTS