一、停止数据库相关进程
分别在两台机器上停止数据库
sqlplus "/as sysDBA";
sql>shutdown immediate
lsnrctl stop
也可以用srvctl工具在一个节点上完成
$ORA_CRS_HOME/bin/srvctl stop service -d rac 停止service.(对于RAC数据库,首先要停止所有节点中的Service服务,如果创建了service的话)
$ORA_CRS_HOME/bin/srvctl stop database -d rac 停止RAC数据库中所有实例
$ORA_CRS_HOME/bin/srvctl stop listener -n racnode1 停止节点racnode1上监听
$ORA_CRS_HOME/bin/srvctl stop listener -n racnode2 停止节点racnode2上监听
如果有ASM,需要关闭ASM
二、安装clusterware补丁
su - oracle
cd /home/oracle/Disk1
./runInstaller
弹出OUI的欢迎窗口后,直接点击下一步:
选择软件的目录,这里我们要首先选择OraCrs10g的主目录,点击Name中的下拉框,选择oracrs10g_home
OUI 自动选中了所有可用的节点,直接点击下一步
安装环境的检查,如无异常,直接点击下一步即可:(在安装oracle软件时没有问题的话,这个应该也没有太大问题)
显示摘要信息,如无异常点击install
安装结束退出(在结束的时候,会出现一个提示信息,让你分别关掉两个节点的crs服务,并执行root102.sh脚本,步骤如下)
以root用户登陆
/etc/init.d/init.crs stop
sh $ORA_CRS_HOME/install/root102.sh (其中$ORA_CRS_HOME在root用户中没有定义环境变量,请输入实际的全路径)
三、安装数据库软件补丁
由于前面执行root102.sh时,会自动重新crs,因此在升级数据库软件前,需要执行第一步中停止相关进程的操作,比如依次关闭数据库、监听等服务
弹出OUI的欢迎窗口后,直接点击下一步:
选择软件的目录,这里我们要首先选择OracDb的主目录,点击Name中的下拉框,选择oradb10g_home1
OUI 自动选中了所有可用的节点,直接点击下一步
安装环境的检查,如无异常,直接点击下一步即可
提示是否要绑定metalink,可以根据实际情况进行选择
如无问题直接点击install
在此期间,OUI会自动弹出窗口如下,提示在RAC环境中的各个节点执行指定的root.sh脚本,注意是以root身份执行:
四、升级数据库(可以通过两种方法来实现,dbua和执行脚本的方式)
首先我们以dbua图形界面的方式来实现
对于RAC数据库环境下的升级,首先需要启动各节点的监听服务,操作如下:
$ORA_CRS_HOME/bin/srvctl start listener -n racnode1
$ORA_CRS_HOME/bin/srvctl start listener -n racnode2
如果有ASM,需要打开ASM实例和mount asm磁盘组
执行dbua命令,通过视窗界面选择升级数据库:
选择要升级的(并且当前可用的数据库),这里只有一个并已被默认选中,然后输入sys用户密码:
选择是否在升级后自动编译无效的对象,默认是选中的,直接按下一步
开始执行升级,本步操作较多,费时较久,请耐心等待:
述操作完成后,点击ok即可,OUI弹出整个操作的返回结果
点击close按钮关闭窗口。
此时可以登陆任意节点,以sqlplus命令行连接进去查询数据库的版本:
sqlplus "/ as sysdba"
sql>select * from gv$instance;
确认无误后,升级完成
另一种方法是以脚本的方式来实现
在升级数据库的时候,要确保crs的相关服务和监听服务都要启动
启动到nomount状态修改参数
sqlplus "/as sysdba"
SQL>STARTUP NOMOUNT
SQL> ALTER SYSTEM SET CLUSTER_DATABASE=FALSE SCOPE=spfile;
SQL> SHUTDOWN
重建数据字典
SQL> STARTUP UPGRADE
SQL> SPOOL patch.log
SQL> @$ORACLE_HOME/rdbms/admin/catupgrd.sql #此处执行时间较长
SQL> SHUTDOWN IMMEDIATE
SQL> SPOOL OFF
编译无效对象
SQL> STARTUP
SQL>@$ORACLE_HOME/rdbms/admin/utlrp.sql
SQL>ALTER SYSTEM SET CLUSTER_DATABASE=TRUE scope=spfile;
SQL> SHUTDOWN IMMEDIATE
SQL> STARTUP
升级后检查升级是否成功
su – oracle
sqlplus "/as sysdba"
SQL> SELECT COMP_NAME, VERSION, STATUS FROM SYS.DBA_REGISTRY;
SQL>select * from gv$instance;
|
|