linux環境下升級9204-9208

 

第一步 下載安裝文件... 2

1.1 確認系統版本... 2

1.2 下載補丁... 2

, 升級準備... 4

, 升級配置... 5

3.1 identify the oracle9i installation. 5

3.2 閱讀升級注意事項... 6

3.3 上傳升級包並解壓... 6

3.4 確認環境變量ORACLE_SIDORACLE_HOME設置. 6

3.5 shut Down oracle Database. 7

3.6 停用所有進程... 7

3.7 backup the system.. 7

安裝任務... 7

4.1 交互式安裝... 7

, 安裝後的任務... 8

5.1 檢查表空間大小... 8

5.2 檢查shared_pool_sizejava_pool_size初始化參數... 8

5.3 升級數據庫... 9

 


 

第一步 下載安裝文件

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.0 Production

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   = 3095277
9.2.0.5   = 3501955
9.2.0.6   = 3948480
9.2.0.7   = 4163445
9.2.0.8   = 4547809
9i最終)
10.1.0.3 = 3761843
10.1.0.4 = 4163362
10.1.0.5 = 4505133
10.2.0.2 = 4547817
10.2.0.3 = 5337014
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)): [email protected]
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 4547809
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    1011302810 Aug 22 2006 p4547809_92080_AIX64-5L.z

-r--r--r--   1 root     other    301383322 May 22 2007 p4547809_92080_AXP.zip
-r--r--r--   1 root     other    614741565 Aug 22 2006 p4547809_92080_HP64.zip
-r--r--r--   1 root     other    915111254 Oct 4 2006 p4547809_92080_HPUX-IA64.z
-r--r--r--   1 root     other    382660178 Aug 25 2006 p4547809_92080_LINUX.zip
-r--r--r--   1 root     other    650429665 Aug 22 2006 p4547809_92080_Linux-IA64.
-r--r--r--   1 root     other    487245960 Aug 22 2006 p4547809_92080_Linux-x86-6
-r--r--r--   1 root     other    173812249 Aug 22 2006 p4547809_92080_MVS.zip
-r--r--r--   1 root     other    369346915 Aug 24 2006 p4547809_92080_SOLARIS.zip
-r--r--r--   1 root     other    435868682 Aug 24 2006 p4547809_92080_SOLARIS64.z
-r--r--r--   1 root     other    1018459573 Mar 4 2007 p4547809_92080_TRU64.zip
-r--r--r--   1 root     other    257710303 Aug 21 2006 p4547809_92080_WINNT.zip
-r--r--r--   1 root     other    378323336 Aug 22 2006 p4547809_92080_WINNT64.zip
226 Listing complete. Data connection has been closed.
ftp:
收到 1099 字節,用時 2.00 0.55千字節/秒。
ftp>

然後使用getmget命令下載即可。

也可以使用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:<N|Y>:

#

# 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上的189908.1文檔.

1, metalink上點擊advanced;

2, 在文檔ID區域輸入189908.1然後點擊submit.

3.3 上傳升級包並解壓

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

$ unzip p4547809_9208_LINUX.zip

3.4 確認環境變量ORACLE_SIDORACLE_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剩餘空間;

select sum(bytes)/1024/1024 from dba_free_space dfs
where dfs.tablespace_name = 'SYSTEM' ;

如果系統表空間剩餘空間不足10M, 則需要爲其增加數據文件,或者修改現有數據文件大小.

alter tablespace system
add datafile '/oracle/oradata/crmtest/system02.dbf' size 500M;

2, 檢查 XDB tablespace的大小

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

select sum(bytes)/1024/1024 from dba_free_space dfs
where dfs.tablespace_name = 'XDB' ;

同樣地, 如果剩餘空間不足, 需要爲tablespace增加數據文件.

alter tablespace system
add datafile '/oracle/oradata/crmtest/xdb02.dbf' size 100M;

5.2 檢查shared_pool_sizejava_pool_size初始化參數

JVMXDB9201版本的默認安裝選項. 除非用戶顯式指定不使用這兩個選項安裝. 而一旦用戶選擇了安裝jvmxdb. 則需要在執行catpatch.sql進行更新數據庫之前確認shared_pool_sizejava_pool_size參數最小爲150M. 如果設置的參數小於150M門限. 則有可能在升級過程中碰到錯誤提示.

設置shared_pool_sizejava_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 83886080

 

SQL> show parameter shared_pool_size;

 

NAME                                 TYPE        VALUE

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

shared_pool_size                     big integer 83886080

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

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章