Oracle資料庫從 9.2.0.1 到 9.2.0.8升級步驟for linux

47328983發表於2011-07-12
第一步下載安裝檔案1.1 確認系統版本

  1.2 下載補丁二, 升級預備三, 升級配置3.1 identify the oracle9i installation3.2 閱讀升級留意事項

  3.3 上傳升級包並解壓

  3.4 確認環境變數ORACLE_SID和ORACLE_HOME設定.

  3.5 shut Down oracle Database

  3.6 停用所有程式

  3.7 backup the system四安裝任務4.1 互動式安裝五, 安裝後的任務5.1 檢查表空間大小

  5.2 檢查shared_pool_size和java_pool_size初始化引數

  5.3 升級資料庫 第一步下載安裝檔案

  1.1 確認系統版本

  SQL> select * from v$version; BANNER -------------------------------------------------- ------------------------------ Oracle9i Enterprise Edition Release 9.2.0.4.0 - Production PL/SQL Release 9.2.0.4.0 - Production CORE 9.2.0.3.0Production TNS for Linux: Version 9.2.0.4.0 - Production NLSRTL Version 9.2.0.4.0 - Production 1.2 下載補丁

  Oracle的補丁集(Patch Set)需要登入metalink下載,下面是個版本升級補丁的號碼:

  9.2.0.4 =

  9.2.0.5 =

  9.2.0.6 =

  9.2.0.7 =

  9.2.0.8 = (9i終極)

  10.1.0.3 =

  10.1.0.4 =

  10.1.0.5 =

  10.2.0.2 =

  10.2.0.3 =

  10.2.0.4 = 沒有釋出

  下載補丁時,可進進cmd,使用ftp命令直接登入網站下載。相同版本,針對不同的操縱系統,會有不同的補丁。每個補丁大小約在500MB~1.3GB之間。下面以 9.2.0.8補丁為例(登陸的時候以metalink的使用者名稱和密碼登陸):

  C:\Users\sz>ftp updates.oracle.com

  連線到 bigip-updates-test-adc.oracle.com。

  220 FTP server ready.

  使用者(bigip-updates-test-adc.oracle.com:(none)):

  331 Username OK, please send password.

  密碼:

  230-

  230- Welcome to the Oracle Patch Download FTP Server

  230-

  230- For detailed help, use command "quote site help".

  230

  留意根目錄是不能ls的,由於Patch是海量的:

  ftp> ls

  200 PORT command OK.

  150 Opening data connection for file listing.

  226-Listing complete. Data connection has been closed.

  226-It is the policy of this server to deny all

  226-requests to list from the root directory.

  226-Only directories with names which match

  226 bug numbers exist and there are too many to be listed.

  ftp>

  我們必須知道確切的Patch號才能導航到下一級目錄:

  ftp> cd

  250 Changed directory OK.

  ftp> ls -la

  200 PORT command OK.

  150 Opening data connection for file listing.

  total 1

  -r--r--r-- 1 root other Aug 22 2006 p__AIX64-5L.z

  -r--r--r-- 1 root other May 22 2007 p__AXP.zip

  -r--r--r-- 1 root other Aug 22 2006 p__HP64.zip

  -r--r--r-- 1 root other Oct 4 2006 p__HPUX-IA64.z

  -r--r--r-- 1 root other Aug 25 2006 p__LINUX.zip

  -r--r--r-- 1 root other Aug 22 2006 p__Linux-IA64.

  -r--r--r-- 1 root other Aug 22 2006 p__Linux-x86-6

  -r--r--r-- 1 root other Aug 22 2006 p__MVS.zip

  -r--r--r-- 1 root other Aug 24 2006 p__SOLARIS.zip

  -r--r--r-- 1 root other Aug 24 2006 p__SOLARIS64.z

  -r--r--r-- 1 root other Mar 4 2007 p__TRU64.zip

  -r--r--r-- 1 root other Aug 21 2006 p__WINNT.zip

  -r--r--r-- 1 root other Aug 22 2006 p__WINNT64.zip

  226 Listing complete. Data connection has been closed.

  ftp: 收到 1099 位元組,用時 2.00秒 0.55千位元組/秒。

  ftp>

  然後使用get或mget命令下載即可。

  也可以使用FTP瀏覽器檢視並下載,比如迅雷的檢視如下圖: , 升級預備

  1.打補丁前一定要先閱讀升級包裡面的readme.htm

  2.看Oracle Universal Installer Version Requirements

  檢視該升級包適用於什麼版本

  3.看System Requirements

  看補丁是針對於哪個版本的操縱系統

  4.Set the ORACLE_HOME and ORACLE_SID Environment Variables

  設定shared_pool 和 java_pool 的大小各大於150M

  Shut Down Oracle Databases & listener & agent

  Stop All Processes

  Back Up the System

  檢查環境變數 LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib; export LD_LIBRARY_PATH

  5.開始執行升級包

  $ patchset_directory/Disk1

  $ ./runInstaller

  應用程式執行完成後有成功提示

  6.Enter the following SQL*Plus commands:

  SQL> STARTUP MIGRATE

  SQL> SPOOL patch.log

  SQL> @?/rdbms/admin/catpatch.sql

  SQL> SPOOL OFF

  7.檢查升級指令碼執行的結果,沒有題目的話,封閉並重新啟動資料庫

  8.Run the utlrp.sql script. to recompile all invalid PL/SQL packages now instead of when the packages are accessed for the first time. This step is optional but recommended.

  SQL> @?/rdbms/admin/utlrp.sql

  9.檢查升級指令碼執行的結果,沒有題目的話,封閉並重新啟動資料庫

  10.Change your directory to:

  $ cd $ORACLE_HOME/install

  Run changePerm.sh and specify the patched server Oracle home location, before accessing client-side utilities or libraries in the database home.

  升級完畢!

  忠告:資料庫的升級往往會有很多意想不到的結果發生,所以在升級之前一定要做好資料的備份.不要拿自己的飯碗來做賭注哦^_^

  , 升級配置

  3.1 identify the oracle9i installation

  升級的過程能夠執行的條件是系統中已經存在較低的oracle版本. 要確認oracle home資料夾的方式有兩個. 首先可以檢視$ORACLE_HOME環境變數設定.

  [oracle@localhost ~]$ echo $ORACLE_HOME

  /oracle/product/9.0.2

  其次, 使用者可以檢視檔案/etc/oratab中的配置.

  [oracle@localhost etc]$ more oratab

  #

  # This file is used by ORACLE utilities. It is created by root.sh

  # and updated by the Database Configuration Assistant when creating

  # a database.

  # A colon, ':', is used as the field terminator. A new line terminates

  # the entry. Lines beginning with a pound sign, '#', are comments.

  #

  # Entries are of the form.

  # $ORACLE_SID:$ORACLE_HOME::

  #

  # The first and second fields are the system identifier and home

  # directory of the database respectively. The third filed indicates

  # to the dbstart utility that the database should , "Y", or should not,

  # "N", be brought up at system boot time.

  #

  # Multiple entries with the same $ORACLE_SID are not allowed.

  #

  #

  *:/home/oracle/OraHome1:N

  *:/oracle/product/9.0.2:N

  crmtest:/oracle/product/9.0.2:N

  假如使用者在RAC環境中安裝本升級檔案, 則需要在執行資料庫安裝的同一臺機器上執行本過程. 3.2 閱讀升級留意事項

  假如是要升級一個生產資料庫, 請閱讀metalink上的.1文件.

  1, 在metalink上點選advanced;

  2, 在文件ID區域輸進.1然後點選submit. 3.3 上傳升級包並解壓

  通過ftp或者其他方式將升級包upload到伺服器上.然後執行

  $ unzip p_9208_LINUX.zip 3.4 確認環境變數ORACLE_SID和ORACLE_HOME設定.

  可以使用下述的命令設定環境變數.

  $ ORACLE_HOME=oracle_home

  $ ORACLE_SID=sid

  $ export ORACLE_HOME ORACLE_SID 3.5 shut Down oracle Database

  執行升級動作之前需要先封閉當前資料庫, 記得使用normal或者immediate選項. 假如是在RAC環境中執行操縱, 需要封閉所有節點的所有例項. 3.6 停用所有程式

  停用所有監聽或者其他在oracle_home資料夾中的程式. 3.7 backup the system

  Oracle推薦在執行升級包前先備份現有的oracle9i安裝. 安裝任務

  使用者可以採用下列方式之一執行升級包的安裝.

  互動式安裝;

  定製安裝. 4.1 互動式安裝

  假如你試圖將升級包安裝到一個不包含oracle9i安裝檔案的目錄中, oracle將提示一個錯誤資訊.

  There are no patches that need to be applied from the patchset oracle9i set 9.2.0.8.0.

  互動式安裝過程的描述如下.

  1, 使用oracle使用者登入;

  2, 假如是使用遠端登入到伺服器進行安裝, 需要執行如下配置將介面傳輸到本地系統:

  Bourne , bash, korn shell

  $ DISPLAY=local_host:0.0; export DISPLAY

  3, 對於RAC環境, 需要輸進下面的命令列表.

  $ cd oracle_home/oui/bin

  $ ./runInstaller updateNodeList noClusterEnabled local ORACLE_HOME=$ORACLE_HOME CLUSTER_NODES=node1,node2,node3

  4, 設定LD_LIBRARY_PATH環境變數為$ORACLE_HOME/lib

  $ LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib; export LD_LIBRARY_PATH

  5, 執行下述命令執行安裝.

  $ cd patchset_directory/Disk1

  $ ./runInstaller

  6, 按照提示以root身份登入執行指令碼 $oracle_home/root.sh script. . 假如是在RAC環境, 則需要在每個節點上都執行root.sh指令碼 , 安裝後的任務

  5.1 檢查表空間大小

  1, 檢查system tablespace大小

  假如在升級的過程中選擇安裝Jserver, 則需要確認system tablespace中至少有10M剩餘空間;

  selectsum(bytes)/1024/1024from dba_free_space dfs

  where dfs.tablespace_name = 'SYSTEM' ;

  假如系統表空間剩餘空間不足10M, 則需要為其增加資料檔案,或者修改現有資料檔案大小.

  altertablespacesystem

  adddatafile'/oracle/oradata/crmtest/system02.dbf'size500M;

  2, 檢查 XDB tablespace的大小

  對於RAC應用環境, 需要確保XDB tablespace至少有50M的剩餘空間.

  selectsum(bytes)/1024/1024from dba_free_space dfs

  where dfs.tablespace_name = 'XDB' ;

  同樣地, 假如剩餘空間不足, 需要為tablespace增加資料檔案.

  altertablespacesystem

  adddatafile'/oracle/oradata/crmtest/xdb02.dbf'size100M; 5.2 檢查shared_pool_size和java_pool_size初始化引數

  JVM和XDB是9201版本的預設安裝選項. 除非使用者顯式指定不使用這兩個選項安裝. 而一旦使用者選擇了安裝jvm和xdb. 則需要在執行catpatch.sql進行更新資料庫之前確認shared_pool_size和java_pool_size引數最小為150M. 假如設定的引數小於150M門限. 則有可能在升級過程中碰到錯誤提示.

  設定shared_pool_size和java_pool_size有兩種可以選擇的方式.

  5.2.1在資料庫環境下修改

  1, 使用sys或者其他具有sysdba許可權的使用者登入系統.

  $ sqlplus " / as sysdba";

  2, 確認當前系統使用的初始化引數檔案是initsid.ora還是spfiledbname.ora.

  SQL> show parameter pfile;

  上述命令將顯示本地引數檔案的檔名稱.

  3, 顯示當前引數檔案設定.

  SQL> show parameter java_pool_size;

  NAME TYPE VALUE

  ------------------------------------ ----------- ------------------------------

  java_pool_size big integer

  SQL> show parameter shared_pool_size;

  NAME TYPE VALUE

  ------------------------------------ ----------- ------------------------------

  shared_pool_size big integer

  4, 修改引數檔案的設定

  SQL> alter system set shared_pool_size='150M' scope=spfile;

  SQL>alter system set java_pool_size='150M' scope=spfile;

  5, 封閉資料庫

  SQL> shutdown immediate;

  5.2.2修改初始化引數檔案

  1, 確認當前系統啟動使用的是pfile還是spfile;

  SQL> show parameter pfile;

  2, 假如使用的是spfile引數檔案啟動, 則需要利用當前spfile檔案天生一個pfile檔案.

  SQL> create pfile from spfile;

  假如建立時沒有指定pfile檔案的位置則預設儲存在$ORACLE_HOME/dbs下或者$ORACLE_HOME/admin/sid/pfile下.

  3, 使用pfile重新啟動資料庫;

  SQL> shutdown immediate;

  Database closed.

  Database dismounted.

  ORACLE instance shut down.

  SQL> startup pfile='$ORACLE_HOME/dbs/initsid.ora'

  4, 利用pfile建立spfile檔案

  SQL> create spfile from pfile='$ORACLE_HOME/dbs/spfilesid.ora';

  5, 封閉資料庫並重新啟動.

  SQL> SHUTDOWN

  SQL>startup spfile=' $ORACLE_HOME/dbs/spfilesid.ora'; 5.3 升級資料庫

  在完成升級包的安裝之後, 使用者必須執行下述的操縱步驟完成對資料庫的升級.

  1, 使用oracle使用者登入;

  2, 對每一個RAC節點, 啟動global services Daemon(gsd).

  $ gsdctl start

  3, 啟動oracle網路監聽

  $ lsnrctl start

  4, 對單機資料庫伺服器, 使用sysdba許可權使用者登入

  $ sqlplus /nolog

  SQL> connect sys/sys_password as sysdba

  5, 對於RAC應用系統

  A, 使用下述命令啟動資料庫, 其中db_name是資料庫名稱.

  $ srvctl start database d db_name

  B, 使用sysdba許可權使用者登入

  $ sqlplus /nolog

  SQL> connect sys/sys_password as sysdba

  C, 設定cluster_database初始化引數為false

  SQL> alter system set cluster_database=false scope=spfile;

  D, 退出sqlplus並封閉資料庫

  SQL> exit

  $ srvctl stop database d db_name

  E, 使用sysdba許可權使用者登入資料庫

  $sqlplus "/ as sysdba"

  6, 執行下面的sqlplus命令

  SQL> startup migrate

  SQL> spool patch.log

  SQL> @?/rdbms/admin/catpatch.sql

  SQL> spool off

  7, 檢視patch.log檔案中是否有錯誤.

  8, 假如需要的話, 重新執行第六步, 執行catpatch.sql

  9, 重新啟動資料庫

  SQL> shutdown

  SQL> startup

  10, 這個步驟是可選的, 但oracle推薦執行. 執行utlrp.sql重新編譯所有失效的程式package, 以免在下次執行時報錯後再次重新編譯.

  SQL> @?/rdbms/admin/utlrp.sql

  11, 對於RAC環境

  A, 設定cluster_database初始化引數為true

  Sql> alter system set cluster_database=true scope=spfile;

  B, 重新啟動資料庫

  SQL> shutdown

  SQL> exit

  $ srvctl start database d db_name

  12, 假如使用了RMAN catalog, 輸進下面的命令更新catalog

  $ rman catalog username/password@alias

  RMAN> upgrade catalog

  

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/241379/viewspace-701975/,如需轉載,請註明出處,否則將追究法律責任。

相關文章