RAC資料庫升級到10.2.0.5

fanhongjie發表於2010-10-09

[@more@]

1、備份crs資料夾(安全起見備份ocrvoteing disk,是否影響不確定)

2、滾動升級clusterware

2.1 停第一個節點的服務、監聽和例項等

emctl stop dbconsole

isqlplusctl stop

srvctl stop listener -n rac01

srvctl stop instance -d flhd -i flhd1

/*****************************************************************

$ srvctl stop service -d flhd [-s service_name_list [-i flhd1]]

$ srvctl stop asm -n rac01

$ srvctl stop nodeapps -n rac01

******************************************************************/

2.2 在第一個節點上使用oracle 使用者登入

./runInstaller 選擇安裝cluster

... 根據提示

在第一節點上root登入停crs服務執行root102.sh指令碼.crs_stat -t 此時2個節點都是啟動狀態。

在第二個節點上root登入停crs服務,執行root102.sh指令碼.crs_stat -t 此時2個節點都是啟動狀態。

執行後2個節點的crs都已升級為10.2.0.4crsctl query crs softwareversion

3、非滾動升級RDBMS軟體

3.1 停所有節點的服務、監聽和例項等

emctl stop dbconsole

isqlplusctl stop

srvctl stop listener -n rac01

srvctl stop listener -n rac02

srvctl stop database -d flhd

# crsctl stop crs /*****************************************************************

$ --srvctl stop service -d flhd

$ srvctl stop asm -n rac01

$ srvctl stop asm -n rac02

$ srvctl stop nodeapps -n rac01

$ srvctl stop nodeapps -n rac02

******************************************************************/

3.2 備份每個節點的ORACLE_BASE目錄,備份資料庫(可用RMAN,也可直接複製檔案)。

3.3 接下來在視窗介面中再次執行Disk1/runInstaller彈出OUI 的歡迎介面後點選下一步這次選擇OracDb 的主目錄

按提示在每個節點上執行指令碼。

在每個節點上使用oracle賬戶執行$ORACLE_HOME/install/changePerm.sh指令碼。

4、升級資料庫

完成前面的升級後接下來按以下步驟升級每個資料庫如果存在同一個Oracle home下多個資料庫

Note:

If you do not run the catupgrd.sql script as described in this section and you start up a database for normal operation,

then ORA-01092: ORACLE instance terminated. Disconnection forced errors will occur and the error ORA-39700: database must be opened with UPGRADE option will be in the alert log.

a. Oracle使用者登入

b. 每個節點上都啟動監聽

$ srvctl start listener -n rac01

$ srvctl start listener -n rac02

c. 使用SQL*Plus SYS使用者作為SYSDBA登入

$ sqlplus /nolog

SQL> CONNECT SYS AS SYSDBA

SQL> STARTUP NOMOUNT

d. 設定 CLUSTER_DATABASE 初始化引數為 FALSE,並關閉資料庫:

SQL> ALTER SYSTEM SET CLUSTER_DATABASE=FALSE SCOPE=spfile;

SQL> SHUTDOWN

e. 啟動資料庫到UPGRADE模式

SQL> STARTUP UPGRADE

f. 執行catupgrd.sql指令碼

SQL> SPOOL patch.log

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

SQL> SPOOL OFF

g. 檢查 patch.log 檔案看是否有錯誤同時檢視 the list of components that is displayed at the end

of catupgrd.sql script.This list provides the version and status of each SERVER component

in the database.

如有必要在解決了所列錯誤後重新執行 catupgrd.sql 指令碼。

h. 重啟資料庫

SQL> SHUTDOWN IMMEDIATE

SQL> STARTUP

i. 執行 utlrp.sql 指令碼重編譯所有在升級過程中失效的 PL/SQL packages這個步驟是可選的但建議這樣做。

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

Note:

When the 10.2.0.4 patch set is applied to an Oracle Database 10g Standard Edition database, there may be 54 invalid objects after the utlrp.sql script runs. These objects belong to the unsupported components and do not affect the database operation.

Ignore any messages indicating that the database contains invalid recycle bin objects similar to the following: BIN$4lzljWIt9gfgMFeM2hVSoA==$0

j. 執行下列命令檢查所有元件的狀態:

SQL> SELECT COMP_NAME, VERSION, STATUS FROM SYS.DBA_REGISTRY;

k. If you are using the Oracle Recovery Manager catalog, enter the following command:

$ rman catalog rman/rmanpass@bakupdb

l. Set the CLUSTER_DATABASE initialization parameter to TRUE:

SQL> ALTER SYSTEM SET CLUSTER_DATABASE=TRUE SCOPE=spfile;

m. 重啟資料庫

SQL> SHUTDOWN IMMEDIATE

SQL> STARTUP

/*****************************************************************

Start any database services that you want to use:

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

相關文章