暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle 12c RAC ocr磁盘组损坏的恢复过程

东方宏达EHONDA 2016-08-23
971

当前版本的OracleRAC OCR/Votedisk数据一般都建议放置在ASM磁盘组中,OCR/votedisk ASM磁盘组如果发生损坏,会导致集群无法启动,在Oracle10/11g OCR磁盘组恢复可参考MOS文章,且在$GRID_HOME/cdata目录中一般都有ocr数据备份,每4个小时自动备份,保留最近三份数据。除了自动备份,还可以手动备份,这里不再详述。

root:/oracle/grid/12.1.0/cdata/xxm-cluster# ls -lrt
total 28488
-rw-r--r--    1 root     system      1740800 Feb 19 09:55 week.ocr
-rw-r--r--    1 root     system      1785856 Mar 11 17:41 week_.ocr
-rw-r--r--    1 root     system      1847296 Apr 25 18:17 day.ocr
-rw-r--r--    1 root     system      1847296 Apr 26 02:17 day_.ocr
-rw-r--r--    1 root     system      1847296 Apr 26 06:17 backup02.ocr
-rw-r--r--    1 root     system      1851392 Apr 26 10:17 backup01.ocr
-rw-r--r--    1 root     system      1851392 Apr 26 14:17 backup00.ocr
复制

同样的Oracle12c也有OCR备份,其恢复过程比以前版本多了mgmtdb以及ASM密码文件恢复,以下为恢复的步骤,供大家参考:


- 创建新的DiskGroup组

crsctl stop crs -f
crsctl start crs -excl -nocrs
create diskgroup GRID normal redundancy
disk '/dev/rhdisk18' force
disk '/dev/rhdisk19' force
quorum disk '/dev/rhdisk20' force
attribute 'compatible.asm'='11.2';
复制

- 恢复OCR/votedisk磁盘

如果新建的磁盘组与原来磁盘组不同,则需要修改ocr.loc文件,不同的平台有差异,AIX平台为/etc/oracle/ocr.loc

cd oracle/grid/12.1.0/cdata/xxm-cluster
ocrconfig -restore backup00.ocr
crsctl start res ora.crsd -init
crsctl replace votedisk +GRID
复制

如果新建的磁盘组名字与原来磁盘组相同,在恢复完ocr重启进入-excl -nocrs模式,再替换votedisk,如果不重启,无法直接替换votedisk,重启后votedisk为空.

crsctl stop crs -f
crsctl start crs -excl -nocrs
crsctl replace votedisk +GRID
复制

以正常模式启动GRID集群

crsctl stop crs -f
crsctl start crs
复制

- 恢复ASM spfile

以grid用户登陆ASM实例,创建asm spfile

SQL> create spfile='+GRID' from memory;
File created.
复制

- 恢复密码文件 

使用flex ASM模式,密码文件有问题导致ora.storage服务无法启动,以下步骤会自动更新GPNP信息

grid@:/home/grid> srvctl config asm
ASM home: <CRS home>
Password file: +GRID/ASM/orapwasm
ASM listener: LISTENER
ASM instance count: ALL
Cluster ASM listener: ASMNET1LSNR_ASM
SQL> alter diskgroup grid set attribute 'compatible.asm'='12.1';
Diskgroup altered.
grid@:/home/grid> orapwd file=/tmp/orapwasm password=oracle123 force=y
asmcmd pwcopy --asm tmp/orapwasm +GRID/ASM/orapwasm
grid@:/home/grid> asmcmd pwcopy --asm tmp/orapwasm +GRID/ASM/orapwasm
copying tmp/orapwasm -> +GRID/ASM/orapwasm
SQL> create user crsuser__asm_001 identified by H2yJj8EIeVuof96F21zLGrV47yqjW;
SQL> grant sysasm,sysdba to crsuser__asm_001; 
复制

- 恢复mgmtdb库 


GIMR(Management Database)是用来存储Cluster HealthMonitor(CHM/OS,ora.crf)等数据的单实例数据库


    crsctl stop res ora.crf -init
    crsctl modify res ora.crf -attr ENABLED=0 -init
    srvctl remove mgmtdb
    dbca -silent -createDatabase -sid -MGMTDB -createAsContainerDatabase true -templateName MGMTSeed_Database.dbc -gdbName _mgmtdb -storageType ASM -diskGroupName +GRID -datafileJarLocation $ORACLE_HOME/assistants/dbca/templates -characterset AL32UTF8 -autoGeneratePasswords -skipUserTemplateCheck
    grid@:/home/grid> srvctl status mgmtdb
    Database is enabled
    Instance -MGMTDB is running on node xxm1
    crsctl modify res ora.crf -attr ENABLED=1 -init
    crsctl start res ora.crf -init
    srvctl modify asm -count all
    crsctl status res -t 
 
复制


- 检查集群及数据库状态

上述步骤完成无报告,表示集群状态已正常,查看集群状态

grid@:/home/grid> crsctl check crs
CRS-4638: Oracle High Availability Services is online
CRS-4537: Cluster Ready Services is online
CRS-4529: Cluster Synchronization Services is online
CRS-4533: Event Manager is online
复制


另外常用的方法,比如有一些配置发生变更了,可以使用deconfig脚本删除,使用config.sh脚本重建集群配置。


文章转载自东方宏达EHONDA,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论