有时候,我们在升级oracle软件之前需要备份相关软件和数据库,整个过程是有顺序的,今天我就介绍一下相关顺序。
第一步:停止 10gR2 RAC 软件
Last login: Tue Jul 8 20:59:43 2014
[root@racr1 ~]# su - oracle
racr1-> crs_stat -t
Name Type Target State Host
------------------------------------------------------------
ora....D1.inst application ONLINE ONLINE racr1
ora....D2.inst application ONLINE ONLINE racr2
ora.PROD.db application ONLINE ONLINE racr1
ora....SM1.asm application ONLINE ONLINE racr1
ora....R1.lsnr application ONLINE ONLINE racr1
ora.racr1.gsd application ONLINE ONLINE racr1
ora.racr1.ons application ONLINE ONLINE racr1
ora.racr1.vip application ONLINE ONLINE racr1
ora....SM2.asm application ONLINE ONLINE racr2
ora....R2.lsnr application ONLINE ONLINE racr2
ora.racr2.gsd application ONLINE ONLINE racr2
ora.racr2.ons application ONLINE ONLINE racr2
ora.racr2.vip application ONLINE ONLINE racr2
racr1->
racr1-> srvctl stop database -d PROD
racr1-> srvctl stop asm -n racr1
racr1-> srvctl stop asm -n racr2
racr1-> srvctl stop nodeapps -n racr1
racr1-> srvctl stop nodeapps -n racr2
racr1->
racr1-> crs_stat -t
Name Type Target State Host
------------------------------------------------------------
ora....D1.inst application OFFLINE OFFLINE
ora....D2.inst application OFFLINE OFFLINE
ora.PROD.db application OFFLINE OFFLINE
ora....SM1.asm application OFFLINE OFFLINE
ora....R1.lsnr application OFFLINE OFFLINE
ora.racr1.gsd application OFFLINE OFFLINE
ora.racr1.ons application OFFLINE OFFLINE
ora.racr1.vip application OFFLINE OFFLINE
ora....SM2.asm application OFFLINE OFFLINE
ora....R2.lsnr application OFFLINE OFFLINE
ora.racr2.gsd application OFFLINE OFFLINE
ora.racr2.ons application OFFLINE OFFLINE
ora.racr2.vip application OFFLINE OFFLINE
racr1->
racr1-> <strong>
</strong>
大家通过使用srvctl命令,关闭相关数据库进程。
第二步:查看OCR和Voting Disk路径
一般情况下OCR安装路会记录在/etc/oracle/ocr.loc(Liunx系统)或/var/opt/oracle/ocr.loc(Solaerise系统)文件里面
racr1->
racr1-> cat /etc/oracle/ocr.loc
ocrconfig_loc=/dev/raw/raw1
local_only=FALSE
racr1->
racr1->
Voting DISK可以使用crsctl进行查询
racr1->
racr1-> crsctl query css votedisk
0. 0 /dev/raw/raw2
located 1 votedisk(s).
racr1->
第三步:停止CRS
[root@racr1 ~]#
[root@racr1 ~]# /u01/app/oracle/product/10.2.0/crs_1/bin/crsctl stop crs
Stopping resources. This could take several minutes.
Successfully stopped CRS resources.
Stopping CSSD.
Shutting down CSS daemon.
Shutdown request successfully issued.
[root@racr1 ~]#
[root@racr1 ~]#
[root@racr1 ~]# whoami
root
[root@racr1 ~]#
[root@racr2 ~]# /u01/app/oracle/product/10.2.0/crs_1/bin/crsctl stop crs
Stopping resources. This could take several minutes.
Successfully stopped CRS resources.
Stopping CSSD.
Shutting down CSS daemon.
Shutdown request successfully issued.
[root@racr2 ~]#
[root@racr2 ~]#
大家要特别注意,2个节点都要关闭啊。
第四步:备份 OCR、voting disk
只需要在其中一个节点备份就可以,因为 OCR 和 Voting Disk 是存放在共享存储上的。
这里只在节点 1上执行备份。
[root@racr1 ~]# pwd
/root
[root@racr1 ~]# mkdir 10racBack
[root@racr1 ~]#
[root@racr1 ~]# ll /dev/raw/ra*
crw-rw---- 1 oracle oinstall 162, 1 Jul 8 21:08 /dev/raw/raw1
crw-rw---- 1 oracle oinstall 162, 2 Jul 8 21:11 /dev/raw/raw2
crw-rw---- 1 oracle oinstall 162, 3 Jul 8 21:07 /dev/raw/raw3
crw-rw---- 1 oracle oinstall 162, 4 Jul 8 21:07 /dev/raw/raw4
crw-rw---- 1 oracle oinstall 162, 5 Jul 8 20:58 /dev/raw/raw5
[root@racr1 ~]#
[root@racr1 ~]# dd if=/dev/raw/raw1 of=/root/10racBack/10ocrdisk.bak
1048544+0 records in
1048544+0 records out
536854528 bytes (537 MB) copied, 267.459 seconds, 2.0 MB/s
[root@racr1 ~]#
[root@racr1 ~]# dd if=/dev/raw/raw2 of=/root/10racBack/10votingdisk.bak
1048544+0 records in
1048544+0 records out
536854528 bytes (537 MB) copied, 284.731 seconds, 1.9 MB/s
[root@racr1 ~]#
我们用/root/10racBack目录做为备份目录
第五步:备份 RAC 初始化脚本
这里需要在双节点上备份/etc/inittab 配置文件以及
/etc/init.d/init.crs /etc/init.d/init.crsd /etc/init.d/init.cssd /etc/init.d/init.evmd
这4个初始化脚本。
[root@racr1 ~]# cd 10racBack/
[root@racr1 10racBack]# ll
total 1049576
-rw-r--r-- 1 root root 536854528 Jul 8 21:21 10ocrdisk.bak
-rw-r--r-- 1 root root 536854528 Jul 8 21:26 10votingdisk.bak
[root@racr1 10racBack]#
[root@racr1 10racBack]#
[root@racr1 10racBack]#
[root@racr1 10racBack]#
[root@racr1 10racBack]# cp /etc/inittab /root/10racBack/inittab.bak
[root@racr1 10racBack]#
[root@racr1 10racBack]# cp /etc/init.d/init.crs /root/10racBack/init.crs.bak
[root@racr1 10racBack]#
[root@racr1 10racBack]# cp /etc/init.d/init.crsd /root/10racBack/init.crsd.bak
[root@racr1 10racBack]#
[root@racr1 10racBack]# cp /etc/init.d/init.cssd /root/10racBack/init.cssd.bak
[root@racr1 10racBack]#
[root@racr1 10racBack]# cp /etc/init.d/init.evmd /root/10racBack/init.evmd.bak
[root@racr1 10racBack]#
[root@racr1 10racBack]# ll
total 1049656
-rw-r--r-- 1 root root 536854528 Jul 8 21:21 10ocrdisk.bak
-rw-r--r-- 1 root root 536854528 Jul 8 21:26 10votingdisk.bak
-r-xr-xr-x 1 root root 2436 Jul 8 21:30 init.crs.bak
-r-xr-xr-x 1 root root 5532 Jul 8 21:30 init.crsd.bak
-r-xr-xr-x 1 root root 55174 Jul 8 21:30 init.cssd.bak
-r-xr-xr-x 1 root root 3499 Jul 8 21:30 init.evmd.bak
-rw-r--r-- 1 root root 1869 Jul 8 21:28 inittab.bak
这个步骤需要所有节点都要备份,注意!!!!!!!!!!!!
第六步:备份 oracle软件、集群软件
[root@racr1 bin]#
[root@racr1 bin]# tar -czf /home/oracle/OracleHome.tar /u01/app/oracle
tar: Removing leading `/' from member names
[root@racr1 bin]#
这个步骤需要所有节点都要备份,注意!!!!!!!!!!!!
第七步:rman备份
这个脚本,我就不写了,大家都知道的吧。
我觉得通过上面的七步做完升级前的备份应该就足够了,当然这只是我个人的经验,如果有不足的地方,希望看见回复我!!!!