AIX平臺HA雙機互備環境下升級兩個oracle 11g資料庫

湖湘文化發表於2013-12-05
 

環境及需求

環境

     兩臺P570機器,作業系統為AIX 6.1,資料庫軟體為oracle 11.2.0.1.0HA雙機互備模式,兩個例項db1db2(兩個庫、不同的業務系統),平時每臺機器上各跑一個。

需求

      HA雙機兩端oracle軟體升級到11.2.0.3.0

      HA涉及的兩個庫db1db2升級到11.2.0.3.0

升級方案

升級步驟

升級主要步驟如下所示:

停應用、停ha雙機(停資料庫);

停監聽、isqlplusdbconsole等;

手工varyonvg、掛載相應vg

備份base目錄和資料存放目錄,檢查備份是否完整有效;

上傳並解壓縮補丁包,建立新的oracle home目錄,調整oracle環境變數引數檔案;

安裝軟體;

升級庫,更新升級資料字典、重新編譯無效物件等;

複製、修改引數檔案和監聽配置檔案等;

手工解除安裝相應vg varyoffvgHA切換測試;

(說明:以下升級軟體、升級庫、HA測試、調整資料庫引數、建表空間和建使用者,均是db1所在機器和庫上執行的操作;升級db2所在機器上的軟體和庫,步驟一樣,不再重複。)

升級oracle軟體

需求

HA雙機兩端的oracle資料庫軟體升級到11.2.0.3.0

實施

?  停應用、停HA雙機(停資料庫)

# smitty clstop

?  停監聽、isqlplusdbconsole

監聽已經透過HA雙機停了

DB1host:/home/oracle$isqlplusctl stop

DB1host:/home/oracle$ emctl stop dbconsole

?  varyonvg相應VG並掛載

#lspv

#lsvg

# varyonvg DB1_datavg

# mount /oracle/oradata/DB1data

# mount

# varyonvg DB1_backupvg

# mount /backup/DB1

# mount

?  備份軟體

資料庫為空庫,沒有資料,故只需備份oracle BASE目錄及資料庫檔案(包括引數檔案、控制檔案、日誌檔案、資料檔案、口令檔案、密碼檔案和監聽配置檔案等)所在的目錄。

# chown -R oracle:oinstall /backup/DB1

DB1host:/home/oracle$ cp -r /oracle/*  /backup/DB1/ &

?  上傳並解壓縮補丁包

上傳並解壓縮補丁包,建立新的oracle home目錄,調整oracle環境變數引數檔案;

上傳p10404530_112030_AIX64-5L_1of7.zipp10404530_112030_AIX64-5L_2of7.zip/tmp/oracle_patch目錄;

解壓縮:

jar xvf p10404530_112030_AIX64-5L_1of7.zip

jar xvf p10404530_112030_AIX64-5L_2of7.zip

建立新目錄:

DB1host:/home/oracle$ mkdir -p /oracle/product/11.2.0.3

注意:

Oracle 11.2.0.3.0是一個全新安裝,因此可以不先安裝11.2.0.1.0,直接安裝11.2.0.3.0Oracle推薦在一個新的家目錄下升級安裝,然後使用新軟體庫更新資料庫,如果指定原來的目錄會報錯INS-35432

修改環境變數引數檔案:

DB1host:/home/oracle$ cp .profile .profile.bak20120712

DB1host:/home/oracle$ vi .profile

export ORACLE_HOME=$ORACLE_BASE/product/11.2這一行註釋掉,然後在其下新增一行

export ORACLE_HOME=$ORACLE_BASE/product/11.2.0.3  儲存後退出

使修改生效:

DB1host:/home/oracle$ . ./.profile

?  安裝軟體

xmanager遠端圖形化顯示

# su - oracle

DB1host:/home/oracle$ export DISPLAY=192.168.1.195:0.0     (這裡紅色標記部分為本地ip

DB1host:/home/oracle$ xclock

root身份執行指令碼rootpre.sh,以oracle身份執行./runInstaller安裝軟體

# cd /tmp/oracle_patch/database

#./rootpre.sh

#su - oracle

DB1host:/home/oracle$ cd /tmp/oracle_patch/database

DB1host:/home/oracle$./runInstaller

root身份執行指令碼/oracle/product/11.2.0.3/root.sh

升級oracle

需求

HA雙機互備兩端的庫db1db2升級到11.2.0.3.0

實施

?  升級庫

升級庫,更新升級資料字典、重新編譯無效物件等;

DB1host:/tmp/oracle_patch/database$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.3.0 Production on Thu Jul 12 15:49:43 2012

Copyright (c) 1982, 2011, Oracle.  All rights reserved.

Connected to an idle instance.

SQL> startup upgrade

ORACLE instance started.

Total System Global Area 1.2994E+10 bytes

Fixed Size                  2233680 bytes

Variable Size            6543116976 bytes

Database Buffers         6442450944 bytes

Redo Buffers                6590464 bytes

Database mounted.

Database opened.

SQL> !pwd

/tmp/oracle_patch/database

SQL> spool patch.log

SQL>  @/oracle/product/11.2.0.3/rdbms/admin/utlu112i.sql

SQL> spool off

SQL> spool upgrade.log

SQL> @/oracle/product/11.2.0.3/rdbms/admin/catupgrd.sql

升級資料字典的指令碼最後會一致性關掉資料庫(SQL> shutdown immediate

DB1host:/tmp/oracle_patch/database$ ps -ef |grep ora_

  oracle 12518044  7798840   0 16:24:44  pts/6  0:00 grep ora_

DB1host:/tmp/oracle_patch/database$ echo $ORACLE_SID

db1

DB1host:/tmp/oracle_patch/database$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.3.0 Production on Thu Jul 12 16:25:15 2012

Copyright (c) 1982, 2011, Oracle.  All rights reserved.

Connected to an idle instance.

SQL> startup

ORACLE instance started.

Total System Global Area 1.2994E+10 bytes

Fixed Size                  2233680 bytes

Variable Size            6643780272 bytes

Database Buffers         6341787648 bytes

Redo Buffers                6590464 bytes

Database mounted.

Database opened.

SQL> @/oracle/product/11.2.0.3/rdbms/admin/utlrp.sql

SQL> shutdown immediate;

Database closed.

Database dismounted.

ORACLE instance shut down.

SQL>  startup

ORACLE instance started.

Total System Global Area 1.2994E+10 bytes

Fixed Size                  2233680 bytes

Variable Size            6677334704 bytes

Database Buffers         6308233216 bytes

Redo Buffers                6590464 bytes

Database mounted.

Database opened.

SQL> select owner,object_name,subobject_name,object_type,status from dba_objects where status<>'VALID';

no rows selected

SQL> select * from v$version;

SQL>  SELECT comp_name, version, status FROM dba_registry;

SQL> shutdown immediate;

?  相關配置檔案調整

複製、修改引數檔案和監聽配置檔案等;

複製原oracle home目錄下相關引數檔案、密碼檔案和監聽配置檔案到新的目錄:

DB1host:/home/oracle$ cp -r /oracle/product/11.2/dbs/* /oracle/product/11.2.0.3/dbs/

DB1host:/home/oracle$ cp -r /oracle/product/11.2/network/admin/*  /oracle/product/11.2.0.3/network/admin/

修改listener.ora檔案:

/oracle/product/11.2.0.3/network/admin/listener.ora中的

ORACLE_HOME = /oracle/product/11.2/

全部修改為ORACLE_HOME = /oracle/product/11.2.0.3/

儲存後退出。

升級後測試

HA測試

# ps -ef|grep ora_

#umount /oracle/oradata/DB1data

#umount /backup/DB1

#varyoffvg /backup/DB1

#lspv

#varyoffvg DB1_backupvg

#varyoffvg DB1_datavg

#smitty hacmp

#smitty clstart

#tail -f /tmp/hacmp.out

#lspv

#ps -ef|grep ora_

# tail -f /tmp/hacmp.out

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

相關文章