设为首页 收藏本站
查看: 750|回复: 0

[经验分享] Oracle 10g RAC OCR 和 VotingDisk 的备份与恢复

[复制链接]

尚未签到

发表于 2016-8-5 16:58:32 | 显示全部楼层 |阅读模式
Oracle RAC 中OCR 和Voting Disk 备份在我的blog: Oracle RAC 常用维护工具和命令 中已经有说明,现在再次把它单独拿出做一个说明, 因为OCR 和 Voting Disk 对于RAC 系统来说太重要了。

Oracle RAC 常用维护工具和命令
http://blog.csdn.net/tianlesoftware/archive/2010/03/09/5358573.aspx

. Voting Disk
Voting Disk 这个文件主要用于记录节点成员状态,在出现脑裂时,决定那个Partion获得控制权,其他的Partion必须从集群中剔除。Voting disk使用的是一种“多数可用算法”,如果有多个Voting disk,,则必须一半以上的Votedisk同时使用,Clusterware才能正常使用。 比如配置了4个Votedisk,坏一个Votedisk,集群可以正常工作,如果坏了2个,则不能满足半数以上,集群会立即宕掉,所有节点立即重启,所以如果添加Votedisk,尽量不要只添加一个,而应该添加2个。这点和OCR 不一样。OCR 只需配置一个。

查看votedisk的位置:
[iyunv@rac1 ~]# crsctl query css votedisk
0. 0 /dev/raw/raw2
located 1 votedisk(s).

备份votedisk盘:
[iyunv@raw1 bin]# dd if=/dev/raw/raw2 of=/home/oracle/voting_disk.bak
294912+0 records in
294912+0 records out

恢复votedisk盘:
[iyunv@raw1 bin]# dd if=/home/oracle/voting_disk.bak of=/dev/raw/raw2
294912+0 records in
294912+0 records out

通过Strings 命令来查看 voting disk 的内容
[iyunv@raw1 oracle]# strings voting_disk.bak |sort -u
fSLC
ssLckcoT
SslcLlik
sSlcrEp0
}|{z


. OCR

Oracle Clusterware把整个集群的配置信息放在共享存储上,这些信息包括了集群节点的列表、集群数据库实例到节点的映射以及CRS应用程序资源信息。存放的位置就在OCR Disk. 在整个集群中,只有一个节点能对OCR Disk 进行读写操作,这个节点叫作Master Node,所有节点都会在内存中保留一份OCR的拷贝,同时有一个OCR Process 从这个内存中读取内容。 OCR 内容发生改变时,由Master Node的OCR Process负责同步到其他节点的OCR Process。

因为OCR的内容如此重要,所以Oracle 每4个小时对其做一次备份,并且保留最后的3个备份,以及前一天,前一周的最后一个备份。 这个备份由Master Node CRSD进程完成,备份的默认位置是$CRS_HOME/crs/cdata/<cluster_name>目录下,可以通过ocrconfig -backuploc <directory_name> 命令修改到新的目录。 每次备份后,备份文件名自动更改,以反应备份时间顺序,最近一次的备份叫作backup00.ocr。这些备份文件除了保存在本地,DBA还应该在其他存储设备上保留一份,以防止意外的存储故障。

[iyunv@raw1 crs]# pwd
/u01/app/oracle/product/crs/cdata/crs
[iyunv@raw1 crs]# ls -lrt
total 22632
-rw-r--r-- 1 root root 4595712 Mar 9 01:03 backup02.ocr
-rw-r--r-- 1 root root 4620288 Mar 9 21:20 backup01.ocr
-rw-r--r-- 1 root root 4632576 Apr 8 19:46 backup00.ocr
-rw-r--r-- 1 root root 4632576 Apr 8 19:46 day.ocr
-rw-r--r-- 1 root root 4632576 Apr 8 19:46 week.ocr


在安装clusterware过程中,如果选择External Redundancy冗余方式,则只能输入一个OCR磁盘位置。 但是Oracle允许配置两个OCR 磁盘互为镜像,以防止OCR 磁盘的单点故障。 OCR 磁盘和Votedisk磁盘不一样,OCR磁盘最多只能有两个,一个Primary OCR 和一个Mirror OCR。

Oracle 推荐在对集群做调整时,比如增加,删除节点之前,修改RAC IP之前,对OCR做一个备份,可以使用export 备份到指定文件,如果做了replace或者restore 等操作,Oracle 建议使用 cluvfy comp ocr -n all 命令来做一次全面的检查。对OCR的备份与恢复,我们可以使用ocrconfig 命令。

[iyunv@raw1 bin]# ./ocrconfig --help
Name:
ocrconfig - Configuration tool for Oracle Cluster Registry.
Synopsis:
ocrconfig [option]
option:
-export <filename> [-s online]
- Export cluster register contents to a file
-import <filename> - Import cluster registry contents from a file
-upgrade [<user> [<group>]]
- Upgrade cluster registry from previous version
-downgrade [-version <version string>]
- Downgrade cluster registry to the specified version
-backuploc <dirname> - Configure periodic backup location
-showbackup - Show backup information
-restore <filename> - Restore from physical backup
-replace ocr|ocrmirror [<filename>] - Add/replace/remove a OCR device/file
-overwrite - Overwrite OCR configuration on disk
-repair ocr|ocrmirror <filename> - Repair local OCR configuration
-help - Print out this help information
Note:
A log file will be created in
$ORACLE_HOME/log/<hostname>/client/ocrconfig_<pid>.log. Please ensure
you have file creation privileges in the above directory before
running this tool.


1. 用导出导入备份恢复OCR

1 首先关闭所有节点的CRS
[iyunv@raw1 bin]# ./crsctl stop crs
Stopping resources.
Successfully stopped CRS resources
Stopping CSSD.
Shutting down CSS daemon.
Shutdown request successfully issued.

2 root 用户导出OCR内容
[iyunv@raw1 bin]# ./ocrconfig -export /u01/ocr.exp

3 重启CRS
[iyunv@raw1 bin]# ./crsctl start crs
Attempting to start CRS stack
The CRS stack will be started shortly

4 检查CRS 状态
[iyunv@raw1 bin]# ./crsctl check crs
CSS appears healthy
CRS appears healthy
EVM appears healthy

5)破坏OCR内容
[iyunv@raw1 bin]# dd if=/dev/zero of=/dev/raw/raw1 bs=1024 count=102400
102400+0 records in
102400+0 records out

6 检查OCR一致性
[iyunv@raw1 bin]# ./ocrcheck
PROT-601: Failed to initialize ocrcheck

7)使用cluvfy 工具检查一致性
[iyunv@raw1 cluvfy]# ./runcluvfy.sh comp ocr -n all
Verifying OCR integrity
Unable to retrieve nodelist from Oracle clusterware.
Verification cannot proceed.

8 使用Import 恢复OCR 内容
[iyunv@raw1 bin]# ./ocrconfig -import /u01/ocr.exp

注意: 使用restore选项只能导入OCR自动产生的物理备份,
import选项只能导入通过export选项导出的的逻辑备份。

9)再次检查OCR
[iyunv@raw1 bin]# ./ocrcheck
Status of Oracle Cluster Registry is as follows :
Version : 2
Total space (kbytes) : 147352
Used space (kbytes) : 4364
Available space (kbytes) : 142988
ID : 610419116
Device/File Name : /dev/raw/raw1
Device/File integrity check succeeded
Device/File not configured
Cluster registry integrity check succeeded

10 使用cluvfy工具检查
[iyunv@raw1 cluvfy]# ./runcluvfy.sh comp ocr -n all


2. 自动备份恢复OCR

1)关闭运行在集群数据库的所有节点上的CRS服务程序
/etc/init.d/init.crs stop
Oracle 11gR2 中已经没有了init.crs 命令了。 只能通过
#crsctl stop crs
命令来关闭CRS.

2. 通过ocrconfig showbackup选项查看最近的备份

[iyunv@racnode1 ~]# ocrconfig -showbackup
racnode1 2010/11/22 13:30:27 /u01/app/11.2.0/grid/cdata/racnode-cluster/backup00.ocr
racnode1 2010/11/22 09:30:27 /u01/app/11.2.0/grid/cdata/racnode-cluster/backup01.ocr
racnode1 2010/11/22 05:30:26 /u01/app/11.2.0/grid/cdata/racnode-cluster/backup02.ocr
racnode1 2010/11/21 05:30:23 /u01/app/11.2.0/grid/cdata/racnode-cluster/day.ocr
racnode1 2010/11/11 03:35:10 /u01/app/11.2.0/grid/cdata/racnode-cluster/week.ocr

3)通过ocrconfigrestoreimport选项导入OCR数据
ocrconfig -restore filename_location
如:
ocrconfig -restore /u01/app/11.2.0/grid/cdata/racnode-cluster/backup00.ocr

注意: 使用restore选项只能导入OCR自动产生的物理备份,
import选项只能导入通过export选项导出的的逻辑备份。

4 检查CRS
[iyunv@raw1 bin]# ./ocrcheck

使用cluvfy工具检查
[iyunv@raw1 cluvfy]# ./runcluvfy.sh comp ocr -n all


5)在所有节点上重新启动CRS
/etc/init.d/init.crs start

Oracle 11gR2使用:#crsctl start crs 命令来启动CRS.



小结:
这里只提到了OCR Voting Disk 的备份。 实际上,对于一个数据库环境来说,要备份的东西还有很多。 只不过OCR这东西涉及RAC 底层的东西,所以在做涉及OCR的变更之前要非常小心。 做操作之前,最好是手工的用ocrconfig -export OCR 备份一下。

对于一个数据库环境,还需要的备份的东西如:spfilecontrol file,数据文件位置等。 数据文件位置,可用如下命令查看:
elect file_name,tablespace_name from dba_data_files;
select file_name,tablespace_name from dba_temp_files;
有时候在恢复的时候需要这些信息。 我们尽量备份多一点,这样对恢复就越有利。

以前对DBA的认识:
1. 胆大心细,遇事不慌
2. 制定完善的备份策略,做相关操作之前,也是需要备份。
3. 做变更之前,要先整理出文档,按照文档操作。 在好的记忆和经验也难免有遗漏的时候,照文档来,一步一步操作。


那天和群里 布豆 讨论的时候,他说了一条:
风险大的事情不做,变个思路将风险降低到最低点再操作!

布豆在Oracle 上给了我很多指导。 在此对布豆表示感谢。



------------------------------------------------------------------------------
Blog: http://blog.csdn.net/tianlesoftware
网上资源: http://tianlesoftware.download.csdn.net
相关视频:http://blog.csdn.net/tianlesoftware/archive/2009/11/27/4886500.aspx
DBA1 群:62697716(满); DBA2 群:62697977(满)
DBA3 群:62697850 DBA 超级群:63306533;
聊天 群:40132017
--加群需要在备注说明Oracle表空间和数据文件的关系,否则拒绝申请
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-253441-1-1.html 上篇帖子: oracle 服务启动,关闭脚本(Windows系统下) 下篇帖子: oracle 分区和面向对象数据库系统的学习
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表