AIX平台HA双机互备环境下升级两个oracle 11g数据库
环境及需求
环境
两台P570机器,操作系统为AIX 6.1,数据库软件为oracle 11.2.0.1.0,HA双机互备模式,两个实例db1和db2(两个库、不同的业务系统),平时每台机器上各跑一个。
需求
HA双机两端oracle软件升级到11.2.0.3.0;
HA涉及的两个库db1和db2升级到11.2.0.3.0;
升级方案
升级步骤
升级主要步骤如下所示:
停应用、停ha双机(停数据库);
停监听、isqlplus、dbconsole等;
手工varyonvg、挂载相应vg;
备份base目录和数据存放目录,检查备份是否完整有效;
上传并解压缩补丁包,创建新的oracle home目录,调整oracle环境变量参数文件;
安装软件;
升级库,更新升级数据字典、重新编译无效对象等;
拷贝、修改参数文件和监听配置文件等;
手工卸载相应vg 、varyoffvg,HA切换测试;
(说明:以下升级软件、升级库、HA测试、调整数据库参数、建表空间和建用户,均是db1所在机器和库上执行的操作;升级db2所在机器上的软件和库,步骤一样,不再重复。)
升级oracle软件
需求
将HA双机两端的oracle数据库软件升级到11.2.0.3.0。
实施
? 停应用、停HA双机(停数据库)
# smitty clstop
? 停监听、isqlplus、dbconsole等
监听已经通过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.zip和p10404530_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.0,Oracle推荐在一个新的家目录下升级安装,然后使用新软件库更新数据库,如果指定原来的目录会报错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双机互备两端的库db1和db2升级到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