ORACLE集群管理-OLR丢失恢复

OLR

11GR2版本:

从11GR2版本开始,ohasd成为了集群启动的唯一起始点,而所有的其他守护进程和集群管理的资源都定为资源,例如:cssd守护进程以初始化资源ora.cssdd的形式存在,而ohasd守护进程负责管理集群所有的守护进程对应的资源,同时集群管理软件(GI)不再使用racg模块来管理资源,而是使用代理进程(agent)统一实现对所有资源进行管理。

既然一切都变为了资源,那么和10G版本相似,需要使用一个注册表来保存资源的属性。OCR是用于保存CRSD所管理资源的注册表,但是在CRSD启动之前集群还有很多初始化资源(例如asm实例)需要启动,但是只有OCR是不够的。Oracle在11GR2版本推出了另外一个集群资源注册表ORL(oraclelocal register)。下面是ORL的新特性。

OLR:顾名思义,ORL是保存在本地的集群资源注册表,也就是说OLR是保存在每个节点本地的,而且其中大部分信息是针对每个节点的。当集群启动的时候ohasd会从/etc/oracle/orl.loc文件(不同平台下,文件位置不同)中读取ORL的位置,ORL默认是保存在<gi_home>/cdata下,文件名为<节点名>.orl。(OLR主要作用是为ohasd守护进程提供集群的配置信息和初始化资源的定义信息)

[oracle@rac1 ~]$ cat /etc/oracle/olr.loc

olrconfig_loc=/u01/app/11.2.0/grid/cdata/rac1.olr

crs_home=/u01/app/11.2.0/grid

相关命令如下:

ocrdump -local /tmp/olr.test

ocrconfig -local -manualbackup

ocrcheck -local

Ohasd run 启动ohasd.bin reboot进程

/etc/oracle/olr.loc

Dba发现节点2 发现启动。首先确认GI启动到哪一个步骤:

crsctl stat res –t –init

[grid@test1 ohasd]$ crsctl stat res -t -init
CRS-4639: Could not contact Oracle High Availa

从程序层面可以看出ohasd未正常启动,有可能是/etc/inittab中init.ohasd脚本没有被调用或者是ohasd.bin进程没有启动成功。

ps –ef|grep ohas

如果进程都存在则:ohasd未被成功启动查看ohasd日志:确定olr是否存在.

,由于olr会在GI安装时进行备份。

恢复olr

[root@rac1 bin]# touch /u01/app/11.2.0/grid/cdata/rac1.olr  

[root@rac1 bin]# chown root:oinstall /u01/app/11.2.0/grid/cdata/rac1.olr  

[root@rac1 bin]# ./ocrconfig -local -restore /olr/backup_20160112_090125.olr 

[root@rac1 bin]# strings /u01/app/11.2.0/grid/cdata/rac1.olr  

########重启has

crsctl stop has

crsctl start has

备份位置在

$ORACLE_HOME/cdata/$HOSTNAME/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值