OCR的备份与恢复ASM管理.docx
《OCR的备份与恢复ASM管理.docx》由会员分享,可在线阅读,更多相关《OCR的备份与恢复ASM管理.docx(20页珍藏版)》请在冰豆网上搜索。
OCR的备份与恢复ASM管理
Oracle11gR2RAC的备份与恢复
真实案例讲述Oracle11gR2RAC软件(GridInfrastructure+RDBMS)的备份与恢复
本案例涉及三个内容标签:
■如何恢复OracleLocalRegistry(OLR)
■如何恢复ora.crsd和ora.evmd进程
■如何建立完备有效的Oracle11gR2RAC软件备份机制
环境:
Oracle11gR2RACshade01(node1)+shade02(node2),ASM,GridInfrastructure11.2.0.1,RDBMS11.2.0.1,AIX6.1TL-04
……
至此,这个故障得以修复。
但是,更为重要的问题是,我到底该如何去备份11gR2RAC的软件才是完备有效的呢,为什么我用之前的备份拿来作恢复,会碰到这么多问题呢,我该怎么完善我的备份机制呢?
通过查询各方资料和这个案例的经验教训,我总结了一下,以下三个都是需要备份的:
1.GRID_HOME
2.RDBMS_HOME
3.runinstallerinventory(位于/etc/orainst.loc)
例如/etc/init.d/init.ohasd等文件都会在上述三个位置有拷贝,所以上述三个位置的备份是必须要做的。
另外,在11gR2中,GRID_HOME有两个registry,OCR和OLR,一个负责shared,一个负责local,这两个2个registry都需要特别注意。
当crs资源增加或者删除的时候,这两个registry都会发生变化,因此都需要定期备份。
对OCR来说,Oracle会通过ocrconfig命令,每隔4小时自动备份OCR到/cdata//下,而votingfile会在每次配置变化的时候备份至OCR,并且可以通过crsctl命令去恢复。
使用ocrconfig工具可以在任何时候强制Oracle的crs去执行一个OCR的备份,当然也可以等待4小时的时间间隔去让crs自动备份OCR,但是这个工具还是非常有用的,比如按照你的需要在对OCR进行配置的变更前,去执行一个二进制的OCR备份,就很有必要。
手工备份OCR的方法:
1.root用户登录系统
2.#ocrconfig-manualbackup========>观察执行后OCR备份文件的变化,如日期
OLR则会在grid安装或升级结束后自动备份一次,以后就不会自动备份了,我们只能手工去备份OLR,没有其他选择。
当我们决定将OCR从ASM迁移到其他存储方式,或者从其他存储方式迁移到ASM时,我们需要对OLR创建一个新的备份。
OLR默认的存放位置是Grid_home/cdata/host_name/下。
手工备份OLR的方法:
1.root用户登录系统
2.#ocrconfig–local–manualbackup
在了解了11gR2RAC相对于10g的这些新变化后,我们对应该怎么去备份RAC软件(GridInfrastructure+RDBMS)也有了比较深入的认识。
我重新实验了一次,可以顺利恢复。
参考:
OracleSupport-HowtoTroubleshootGridInfrastructureStartupIssues[ID1050908.1]
RAC在OCR磁盘故障且无备份时快速恢复的方法
2010-12-2622:
46
问题背景:
在刷业务库的过程出现IO访问磁盘失败!
检查发现RAC进程全部退出!
!
!
重新执行/opt/oracrs/bin/crsctlstartcrs失败
出错信息(tail-f/var/log/messages):
OracleClusterRegistryinitializationfailedwithinvalidformat:
PROC-22:
TheOCRbackendhasaninvalidformat
怀疑时OCR盘物理损坏(后来发现用作OCR的阵列有磁盘坏告警,立即修复,阵列故障处理略过)
这时在一个RAC节点检查OCR是否有备份
ocrconfig-showbackup无结果输出(如果有自动备份则有结果,不幸的是,没有!
)
/opt/oracle/product/11g/db/cdata下无OCR备份(如果有自动备份,则在此目录有备份的文件)
ocrcheck无结果输出(这时基本可以定位是OCR盘故障了)
GDGZ-DCS-SV01C-RAC01:
/opt/oracle/product/11g/db/bin#./crsctlcheckboot
OracleClusterRegistryinitializationfailedwithinvalidformat:
PROC-22:
TheOCRbackendhasaninvalidformat
和前面的启动报错是一致的!
!
!
问题处理(OCR故障且无备份如何快速重建恢复):
一,清除OCR
1、停止crs进程(我此次RAC已经自己退出,故不涉及;如果发现有crs进程,则需手动退出)
#/opt/oracrs/bin/crsctlstopcrs
2、备份整个OCR目录
#cp/opt/oracrs/opt/oracrs_bak
3,分别在每个节点上执行$ORA_CRS_HOME/install/rootdelete.sh(必须root执行)
GDGZ-DCS-SV02C-RAC01:
/etc/oracle#/opt/oracrs/install/rootdelete.sh
Gettinglocalnodename
NODE=GDGZ-DCS-SV02C-RAC01
PRKO-2006:
Invalidnodename:
GDGZ-DCS-SV02C-RAC01
OracleClusterRegistryinitializationfailedwithinvalidformat:
PROC-22:
TheOCRbackendhasaninvalidformat
OracleCRSstackisnotrunning.
OracleCRSstackisdownnow.
RemovingscriptforOracleClusterReadyservices
Updatingocrfilefordowngrade
CleaningupSCRsettingsin'/etc/oracle/scls_scr'
CleaningupNetworksocketdirectories
4,在某个RAC节点执行/opt/oracrs/install/rootdeinstall.sh
shell-init:
errorretrievingcurrentdirectory:
getcwd:
cannotaccessparentdirectories:
Nosuchfileordirectory
Verifyingexistenceofocr.locfile
RemovingcontentsfromOCRdevice
2560+0recordsin
2560+0recordsout
10485760bytes(10MB)copied,1.15907seconds,9.0MB/s
5,删除旧OCR信息
修改/etc/inittab,删除以下三行.
h1:
2:
respawn:
/etc/init.evmdrun>/dev/null2>&1
h2:
2:
respawn:
/etc/init.cssdfatal>/dev/null2>&1
h3:
2:
respawn:
/etc/init.crsdrun>/dev/null2>&1
rm-rf/etc/oracle/*
rm-f/etc/init.d/init.cssd
rm-f/etc/init.d/init.crs
rm-f/etc/init.d/init.crsd
rm-f/etc/init.d/init.evmd
rm-f/etc/inittab.crs
cp/etc/inittab.orig/etc/inittab
rm-rf/var/tmp/.oracle
rm-rf/tmp/.oracle
(由于执行rootdelete.sh时删除了上面的一些目录或文件,故仅需补充删除存在的即可)
6,使用dd清除votedisk和ocr,需要修改成相应的文件
ddif=/dev/zeroof=/dev/raw/raw1bs=8192count=12800
ddif=/dev/zeroof=/dev/raw/raw2bs=8192count=12800
GDGZ-DCS-SV02C-RAC01:
/opt#ddif=/dev/zeroof=/dev/raw/raw2bs=8192count=128000
dd:
writing`/dev/raw/raw2':
Nospaceleftondevice
123500+0recordsin
123499+0recordsout
1011709440bytes(1.0GB)copied,67.9911seconds,14.9MB/s
GDGZ-DCS-SV02C-RAC01:
/opt#ddif=/dev/zeroof=/dev/raw/raw1bs=8192count=128000
dd:
writing`/dev/raw/raw1':
Nospaceleftondevice
123496+0recordsin
123495+0recordsout
1011677184bytes(1.0GB)copied,66.8413seconds,15.1MB/s
(从第4步结果提示来看,应该ocr已经清除了,可以尝试只清除VOTEDISK,可惜我先执行了dd清除命令)
二,重建OCR(这里我独创性的使用图形工具runInstaller,模仿新建的方法来重建OCR)
1,由于首次安装CRS时需要新的空的/opt/oracle /opt/oracrs目录,所以先在各个节点执行如下命令:
cd/opt
mvoracleoracle_old
mvoracrsoracrs_old
mkdiroracle
mkdiroracrs
mkdir/opt/oracle/oraInventory
chownoracle:
dba/opt/oracle/oraInventory
chmod755/opt/oracle/oraInventory
chown-Roracle:
dba/opt/oracle
chmod-R770/opt/oracle
chown-Roracle:
dba/opt/oracrs
chmod-R770/opt/oracrs
2,xmanager登陆RAC1节点使用图形工具安装CRS(这里可以参考RAC安装过程的CRS安装部分)
oracle用户执行/opt/orabak/clusterware/runInstaller
需要注意的是,这里的CRS安装配置需要和第一次安装配置保持完全一致!
!
!
安装最后需要根据图形界面提示在各个RAC节点执行root.sh
GDGZ-DCS-SV01C-RAC01:
/opt/oracle#/opt/oracrs/root.sh
CheckingtoseeifOracleCRSstackisalreadyconfigured
/etc/oracledoesnotexist.Creatingitnow.
SettingthepermissionsonOCRbackupdirectory
SettingupNetworksocketdirectories
OracleClusterRegistryconfigurationupgradedsuccessfully
SuccessfullyaccumulatednecessaryOCRkeys.
Usingports:
CSS=49895CRS=49896EVMC=49898andEVMR=49897.
node:
node1:
gdgz-dcs-sv01c-rac01gdgz-dcs-sv01c-rac01_basegdgz-dcs-sv01c-rac01
node2:
gdgz-dcs-sv02c-rac01gdgz-dcs-sv02c-rac01_basegdgz-dcs-sv02c-rac01
node3:
gdgz-dcs-sv03c-rac01gdgz-dcs-sv03c-rac01_basegdgz-dcs-sv03c-rac01
node4:
gdgz-dcs-sv04c-rac01gdgz-dcs-sv04c-rac01_basegdgz-dcs-sv04c-rac01
CreatingOCRkeysforuser'root',privgrp'root'..
Operationsuccessful.
Nowformattingvotingdevice:
/dev/raw/raw2
Formatof1votingdevicescomplete.
Startupwillbequeuedtoinitwithin30seconds.
Addingdaemonstoinittab
ExpectingtheCRSdaemonstobeupwithin600seconds.
ClusterSynchronizationServicesisactiveonthesenodes.
gdgz-dcs-sv01c-rac01
gdgz-dcs-sv02c-rac01
gdgz-dcs-sv03c-rac01
gdgz-dcs-sv04c-rac01
ClusterSynchronizationServicesisactiveonallthenodes.
WaitingfortheOracleCRSDandEVMDtostart
OracleCRSstackinstalledandrunningunderinit(1M)
Runningvipca(silent)forconfiguringnodeapps
CreatingVIPapplicationresourceon(4)nodes.....
CreatingGSDapplicationresourceon(4)nodes.....
CreatingONSapplicationresourceon(4)nodes.....
StartingVIPapplicationresourceon(4)nodes.....
StartingGSDapplicationresourceon(4)nodes.....
StartingONSapplicationresourceon(4)nodes.....
Done.
点击OK后检查有一个失败,根据提示:
/opt/oracrs/cfgtoollogs下有出错命令日志
/opt/oracrs/bin/cluvfystage-postcrsinst-nGDGZ-DCS-SV01C-RAC01,GDGZ-DCS-SV02C-RAC01,GDGZ-DCS-SV03C-RAC01,GDGZ-DCS-SV04C-RAC01
GDGZ-DCS-SV01C-RAC01:
/opt/oracrs/cfgtoollogs#viconfigToolFailedCommands
GDGZ-DCS-SV01C-RAC01:
/opt/oracrs/cfgtoollogs#/opt/oracrs/bin/cluvfystage-postcrsinst-nGDGZ-DCS-SV01C-RAC01,GDGZ-DCS-SV02C-RAC01,GDGZ-DCS-SV03C-RAC01,GDGZ-DCS-SV04C-RAC01
这是root信任关系导致,可以不理!
!
!
3,此时CRS的3个核心进程资源已经online,但需要先在各节点执行/opt/oracrs/bin/crsctlstopcrs,退出CRS进程。
4,恢复原来的/opt/oracle(各节点都要执行)
cd/opt
mvoracleoracle_new
mvoracle_oldoracle
5,在各节点执行/opt/oracrs/bin/crsctlstartcrs启动CRS
6,将数据库、实例等信息手工注册到OCR中
有ASM需要向OCR中注册
srvctladdasm-ngdgz-dcs-sv01c-rac01-i+ASM1-o$ORACLE_HOME
srvctladdasm-ngdgz-dcs-sv02c-rac01-i+ASM2-o$ORACLE_HOME
srvctladdasm-ngdgz-dcs-sv03c-rac01-i+ASM3-o$ORACLE_HOME
srvctladdasm-ngdgz-dcs-sv04c-rac01-i+ASM4-o$ORACLE_HOME
(参考深圳的ASM信息)
NAME=ora.gdsz-dcs-sv01c-rac01.ASM1.asm
TYPE=application
TARGET=ONLINE
STATE=ONLINEongdsz-dcs-sv01c-rac01
注册数据库
srvctladddatabase-dORA-o$ORACLE_HOME
(单独启动srvctlstartdatabase-dORA,执行这个将下面加的实例也拉起来)
(参考深圳的db信息)
NAME=ora.ORA.db
TYPE=application
TARGET=ONLINE
STATE=ONLINEongdsz-dcs-sv01c-rac01
注册实例
srvctladdinstance-dORA-iORA1-ngdgz-dcs-sv01c-rac01
srvctladdinstance-dORA-iORA2-ngdgz-dcs-sv02c-rac01
srvctladdinstance-dORA-iORA3-ngdgz-dcs-sv03c-rac01
srvctladdinstance-dORA-iORA4-ngdgz-dcs-sv04c-rac01
(参考深圳的inst信息)
注册服务
srvctladdservice-dORA-sservice_ora-r"ORA1,ORA2,ORA3,ORA4"-PBASIC
(单独启动srvctlstartservice-dORA-sservice_ora,可以后面统一启动)
NAME=ora.ORA.ORA1.inst
TYPE=application
TARGET=ONLINE
STATE=ONLINEongdsz-dcs-sv01c-rac01
添加LISTENER(建议用netca配置,需要先删除原来的监听再添加新的监听)
7,重新启动RAC
/opt/oracrs/bin/crsctlstopcrs
/opt/oracrs/bin/crsctlstartcrs
8,检查RAC是否起来
oracle@GDGZ-DCS-SV04C-RAC01:
~>crs_stat-t
Name Type Target State Host
------------------------------------------------------------
ora....A1.instapplication ONLINE ONLINE gdgz...ac01
ora....A2.instapplication ONLINE ONLINE gdgz...ac01
ora....A3.instapplication ONLINE ONLINE gdgz...ac01
ora....A4.instapplication ONLINE ONLINE gdgz...ac01
ora.ORA.db application ONLINE ONLINE gdgz...ac01
ora....RA1.srvapplication ONLINE ONLINE gdgz...ac01
ora....RA2.srvapplication ONLINE ONLINE gdgz...ac01
ora....RA3.srvapplication ONLINE ONLINE gdgz...ac01
ora....RA4.srvapplication ONLINE ONLINE gdgz...ac01
ora...._ora.csapplication ONLINE ONLINE gdgz...ac01
ora....SM1.asmapplication ONLINE ONLINE gdgz...ac01
ora....01.lsnrapplication ONLINE ONLINE gdgz...ac01
ora....c01.gsdapplication ONLINE ONLINE gdgz...ac01
ora....c01.onsapplication ONLINE ONLINE gdgz...ac01
ora....c01.vipapplication ONLINE ONLINE gdgz...ac01
ora....SM2.asmapplication ONLINE ONLINE gdgz...ac01
ora....01.