Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1011273
  • 博文数量: 584
  • 博客积分: 2293
  • 博客等级: 大尉
  • 技术积分: 3045
  • 用 户 组: 普通用户
  • 注册时间: 2006-03-28 11:15
文章分类

全部博文(584)

文章存档

2012年(532)

2011年(47)

2009年(5)

我的朋友

分类: Oracle

2011-12-27 21:40:55

在更新数据库前,执行下面两条命令,并记录当前的执行结果

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
阅读(1205) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~