在更新数据库前,执行下面两条命令,并记录当前的执行结果
SQL> select count(1) from dba_objects where status='INVALID';
COUNT(1)
---------- 16
SQL> select * from UTL_RECOMP_ERRORS;
no rows selected
1, 停止OEM/isqlplus/监听/DB实例
su - oracle
srvctl stop database -d crmdb
srvctl stop instance -d crmdb -i crmdb1
srvctl stop nodeapps -n htcrmdb1
srvctl stop nodeapps -n htcrmdb2
srvctl stop instance -d crmdb -i crmdb2
执行下面命令进行检查
crs_stat -t
分别在两台服务器上关闭crs服务
su - root
/opt/app/oracle/crs/bin/crsctl stop crs 关闭crs,需要超级用户操作。
2, 停掉ha并重启两台服务器
su - root
smit clstop
shutdown -Fr
3, 默认情况下crs服务并不是自动启动的
检查系统中是否有如下进程
ps -ef|grep /etc/init.crsd
4, 备份Oracle软件
su - oracle
cd /opt/app/oracle/product/10.2.0
tar jcvf db_1.tar.bz2 db_1
cd /opt/app/oracle
tar jcvf oraInventory.tar.bz2 oraInventory
5, 先升级cluster到10.2.0.5
/usr/sbin/slibclean
cd /softinstall/oracle_patch
unzip p8202632_10205_AIX64-5L_1of2.zip
unzip p8202632_10205_AIX64-5L_2of2.zip
cd Disk1
注意升级前要保证/tmp空间有2.5G空余空间
使用图形化方式连接到AIX服务器,这里使用oracle用户登录到图形化界面下
. $HOME/.profile
运行runInstaller,选择CRS_HOME ,软件安装完成后,每个节点以root用户运行以下脚本
cd /opt/app/oracle/crs/bin
./crsctl stop crs
cd /opt/app/oracle/crs/install
./root102.sh
5.1, 这里需要再次停止数据库,
srvctl stop database -d crmdb
srvctl stop nodeapps -n htcrmdb1
srvctl stop nodeapps -n htcrmdb2
另外两台服务器上执行下面命令
cd /opt/app/oracle/crs/bin
./crsctl stop crs
6, 升级ORACLE到10.2.0.5
/usr/sbin/slibclean
运行runInstaller,选择ORACLE_HOME ,软件安装完成后,每个节点以root用户运行以下脚本
cd /opt/app/oracle/product/10.2.0/db_1
./root.sh
7, 升级数据库数据字典到oracle 10.2.0.5
两台服务器上分别执行
cd /opt/app/oracle/crs/bin
./crsctl start crs
sqlplus /nolog
SQL> CONNECT sys/sys AS SYSDBA
SQL> STARTUP NOMOUNT
Set theCLUSTER_DATABASEinitialization parameter to FALSE:
SQL> ALTER SYSTEM SET CLUSTER_DATABASE=FALSE SCOPE=spfile;
Shut down the database:
SQL> SHUTDOWN
SQL> STARTUP UPGRADE
SQL> SPOOL /tmp/patch20111209.log
SQL> @/opt/app/oracle/product/10.2.0/db_1/rdbms/admin/catupgrd.sql
SQL> SPOOL OFF
SQL> @/opt/app/oracle/product/10.2.0/db_1/rdbms/admin/utlrp.sql
SQL> ALTER SYSTEM SET CLUSTER_DATABASE=TRUE SCOPE=spfile;
SQL> !egrep "ORA-|Error" /tmp/patch20111209.log (查看是否有错误)
SQL> SHUTDOWN IMMEDIATE
SQL> STARTUP
启动数据库
srvctl start nodeapps -n htcrmdb1
srvctl start nodeapps -n htcrmdb2
srvctl start instance -d crmdb -i crmdb1
srvctl start instance -d crmdb -i crmdb2
srvctl start service -d crmdb
7, 因为ALTER SYSTEM SET CLUSTER_DATABASE=FALSE执行错误,所以最终使用dbua图形化的方式进行数据库的升级
进行dbua升级的时候要求启动数据库的,如果监测数据库没有启动的话,可以手动连接一下数据库,能连接上后再进行dbua升级就可以了。
升级成功后,发现htcrmdb2这台服务器报没有swap空间了,无法执行任何命令,只能重启机器
在升级完成后,执行下面两条命令,并记录当前的执行结果
SQL> select count(1) from dba_objects where status='INVALID';
COUNT(1)
---------- 16
SQL> select * from UTL_RECOMP_ERRORS;
no rows selected
阅读(1208) | 评论(0) | 转发(0) |