RAC中OCR备份与恢复的方法有哪些

网友投稿 374 2024-01-01

RAC中OCR备份与恢复的方法有哪些

这篇文章主要介绍“RAC中OCR备份与恢复的方法有哪些”,在日常操作中,相信很多人在RAC中OCR备份与恢复的方法有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”RAC中OCR备份与恢复的方法有哪些”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

RAC中OCR备份与恢复的方法有哪些

ocr保存了rac中节点列表、实例和节点的关联、以及rac各种资源(VIP、监听等)信息。

如果ocr所在磁盘或者阵列没有使用raid,则强烈要求对ocr做镜像。

因为OCR也非常重要,除了mirror外,也要做好充分的备份。

备份ocr有两种方法:

[@more@]1、ocr自动备份与恢复方法1) 自动备份

oracle会每小时备份一次ocr,自动备份的默认路径是:$CRS_HOME/cdata/$CRS_NAME下,可以用ocrconfig查看自动备份的信息,如:

[oracle@dwdb01 backup]$ ocrconfig -showbackup

dwdb03     2011/04/26 13:22:47     /oracle/product/10.2.0/crs/cdata/crs

dwdb03     2011/04/26 09:22:47     /oracle/product/10.2.0/crs/cdata/crs

dwdb03     2011/04/26 05:22:47     /oracle/product/10.2.0/crs/cdata/crs

dwdb03     2011/04/25 13:22:46     /oracle/product/10.2.0/crs/cdata/crs

dwdb03     2011/04/14 09:22:28     /oracle/product/10.2.0/crs/cdata/crs

自动备份只会在一个节点执行。如果用于备份的节点出现异常,则oracle会自动切换到其他节点进行备份。

默认情况下,oracle会保留最近5份ocr备份:3份最近的、一份昨天和一份上周的。

自动备份只会在一个节点上执行,安全起见,应该定期拷贝字段备份产生的文件到所有节点上。

要实现这个功能,首先配置两个节点的相互认证,使得互相访问不需要口令:

--以root在所有节点执行:

mkdir ~/.ssh

chmod 700 ~/.ssh

ssh-keygen -t rsa

ssh-keygen -t dsa

--以root在其中一个节点执行(这里选择dwdb01):

touch  ~/.ssh/authorized_keys

cd ~/.ssh

ssh dwdb01 cat ~/.ssh/id_rsa.pub >> authorized_keys

ssh dwdb01 cat ~/.ssh/id_rsa.pub >> authorized_keys

ssh dwdb02 cat ~/.ssh/id_rsa.pub >> authorized_keys

ssh dwdb02 cat ~/.ssh/id_rsa.pub >> authorized_keys

ssh dwdb03 cat ~/.ssh/id_rsa.pub >> authorized_keys

ssh dwdb03 cat ~/.ssh/id_rsa.pub >> authorized_keys

ssh dwdb04 cat ~/.ssh/id_rsa.pub >> authorized_keys

ssh dwdb04 cat ~/.ssh/id_rsa.pub >> authorized_keys

scp authorized_keys dwdb02:`pwd`

scp authorized_keys dwdb03:`pwd`

scp authorized_keys dwdb04:`pwd`

--所有节点执行

chmod 600 ~/.ssh/authorized_keys

--在dwdb01测试

ssh dwdb02 date

ssh dwdb03 date

ssh dwdb04 date

2) 恢复

自动备份这种备份方式是物理备份,类似于数据库备份中的rman,需要用restore方式还原,恢复步骤:

a) 用ocrconfig -showbackup命令查看自动备份文件的位置(在那个节点上,在那个路径下)

b) 用ocrdump验证ocr信息,如:

以root执行:

/opt/oracle/product/10.2/crs/bin/ocrdump -backupfile /opt/oracle/product/10.2/crs/cdata/crs/week.ocr

这个命令会在当前路径下产生一个文件:OCRDUMPFILE,查看这个文件即可。

c) 在所有节点停止crs

/etc/init.d/init.crs stop

d) 用户ocrconfig还原

  ocrconfig -restore file_name

  --file_name为自动备份的ocr文件路径及名称

e) 在所有节点启动crs

/etc/init.d/init.crs start

f) 可以用cluvfy 验证ocr是否正确

  cluvfy comp ocr -n all [-verbose]

2 手工备份(逻辑备份)及恢复方法

 我们不能修改ocr自动备份的时间及频率,但是oracle给我们提供了另外一种备份方式,可以让我们对ocr进行手工备份。

 手工备份很简单,我们可以用ocrconfig命令,如:

ocrconfig -export /tmp/ocr.bak

 注意,该命令只能以root执行。

 这种备份方式是逻辑备份,类似于数据库备份中的exp,需要用imp方式还原

为了保险起见,最好让自动备份和手工备份的任务在不同的节点执行,且把手工export出来的文件放到所有节点的本地硬盘上,避免阵列故障,下面的维护的例子:

vi backup_ocr.sh

--------------------------------------------------------------------------

#!/bin/bash

########################################################################################################

# Name          : backup_ocr.sh

# Author        : Shengkai Su

# Date          : 04/25/2011

#

# Description   : backup ocr manually

#

#

# Usage         : ./backup_ocr.sh

#

#

# Prerequisite  : run under root

#

#

# Modifications :

#

#       When            Who             What

#       ==========      ===========     ================================================================

#       04/25/2011      shengkai su     start developing the script

#

########################################################################################################

##############################

# set  env

#############################

. /home/oracle/.bash_profile

DATE=`date +%Y%m%d`

DIRNAME=`dirname $0`

SCRIPT=`basename $0`

KEYWORD="ocr"

MYPATH=${DIRNAME}/rac_comp/${KEYWORD}

NODELIST="dwdb02 dwdb03 dwdb04"

DEST=${MYPATH}/${KEYWORD}.${DATE}

###############################

# backup ocr disk via dd

###############################

echo "============start at `date` ==============="

#dd if file not exists

if [ -f ${DEST} ];then

  echo "file exists"

  exit 1

else

${ORA_CRS_HOME}/bin/ocrconfig -export $DEST -s online

fi

###############################################

# copy ocr disk backup file to other nodes

###############################################

for N in `echo ${NODELIST}`;do

scp ${DEST} ${N}:`cd ${MYPATH};pwd`

done

echo "============end at `date` ==============="

------------------------------------------------------------------------

-定义定时任务,每六小时一次

# backup ocr every 6 hours

10 */6 * * * /oracle/DBA/backup/backup_ocr.sh

 上面提到了,用export方式备份是逻辑备份,如果ocr损坏需要还原,则需要用import方式把导出的内容导入,步骤如下:

a) 用ocrconfig -export出来的文件位置

b) 在所有节点停止crs

   /etc/init.d/init.crs stop

c) 用户ocrconfig还原

  ocrconfig -import file_name

--file_name为export出来的ocr文件路径及名称

d) 在所有节点启动crs

   /etc/init.d/init.crs start

e) 可以用cluvfy 验证ocr是否正确

cluvfy comp ocr -n all [-verbose]

到此,关于“RAC中OCR备份与恢复的方法有哪些”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:RMAN中如何使用set命令
下一篇:ASM下如何迁移spfile
相关文章

 发表评论

暂时没有评论,来抢沙发吧~