oracle972,Oracle RAC 重建 OCR 和 Voting disk

from:

OCR和Voting

disk对RAC来说是非常重要的。 OCR记录节点成员的配置信息,如database、ASM、instance、listener、VIP等CRS资源的配置信息。Voting

disk记录节点成员信息,如包含哪些节点成员、节点的添加删除信息记录。在日常维护中需要对他们进行备份。当然OCR也会自动备份。 当OCR或者Voting

disk出现问题时,有备份的话就使用备份来恢复。 当没有备份的话就只能重建了。

官方有关OCR和Voting disk重建的文档参考:

How

to Recreate OCR / Voting Disk Accidentally Deleted [ID

399482.1]

OCR和Voting

disk的备份与恢复参考:

Oracle

10g RAC OCR和VotingDisk的备份与恢复

先对Voting

disk和OCR做一个备份。

[root@rac1 bin]# ./crs_stat

-t

NameTypeTargetStateHost

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

ora.orcl.dbapplicationONLINEONLINErac2

ora....oltp.cs

applicationONLINEONLINErac2

ora....cl1.srv

applicationONLINEONLINErac1

ora....cl2.srv

applicationONLINEONLINErac2

ora....l1.inst

applicationONLINEONLINErac1

ora....l2.inst

applicationONLINEONLINErac2

ora....SM1.asm

applicationONLINEONLINErac1

ora....C1.lsnr

applicationONLINEONLINErac1

ora.rac1.gsdapplicationONLINEONLINErac1

ora.rac1.onsapplicationONLINEONLINErac1

ora.rac1.vipapplicationONLINEONLINErac1

ora....SM2.asm

applicationONLINEONLINErac2

ora....C2.lsnr

applicationONLINEONLINErac2

ora.rac2.gsdapplicationONLINEONLINErac2

ora.rac2.onsapplicationONLINEONLINErac2

ora.rac2.vipapplicationONLINEONLINErac2

[root@rac1 bin]# ./crsctl

query css votedisk

0.0/dev/raw/raw3

1.0/dev/raw/raw4

2.0/dev/raw/raw5

located 3

votedisk(s)

[root@rac1 bin]# dd

if=/dev/raw/raw3 of=/u01/votingdisk.bak

401562+0

records in

401562+0

records out

205599744

bytes (206 MB) copied, 1685.53 seconds, 122 kB/s

[root@rac1 u01]# cd

/u01/app/oracle/product/crs/bin/

[root@rac1 bin]# ./ocrconfig

-export /u01/ocr.bak

[root@rac1 bin]# ll

/u01

total

202132

drwxrwxrwx

3 oracle oinstall4096

Nov 30 17:08 app

-rwxr-xr-x

1 oracle oinstall1043097

Nov 30 18:59 clsfmt.bin

-rw-r--r--

1 rootroot103141

Dec2

08:38 ocr.bak

-rwxr-xr-x

1 oracle oinstall5542

Nov 30 19:00 srvctl

-rw-r--r--

1 rootroot205599744

Dec2

08:45 votingdisk.bak

重建具体操作如下:

1.停止所有节点的CRS

[root@rac1

bin]# ./crsctl stop crs

Stopping

resources.

Successfully

stopped CRS resources

Stopping

CSSD.

Shutting

down CSS daemon.

Shutdown

request successfully issued.

2.备份每个节点的Clusterware Home

[root@rac1

bin]# cd /u01/app/oracle/product/

[root@rac1

product]# ls

10.2.0crs

[root@rac1

product]# cp crs crs_back

3.在所有节点执行/install/rootdelete.sh命令

[root@rac1 install]#

pwd

/u01/app/oracle/product/crs/install

[root@rac1 install]#

./rootdelete.sh

Shutting

down Oracle Cluster Ready Services (CRS):

Stopping

resources.

Error while

stopping resources. Possible cause: CRSD is down.

Stopping

CSSD.

Unable to

communicate with the CSS daemon.

Shutdown

has begun. The daemons should exit soon.

Checking to

see if Oracle CRS stack is down...

Oracle CRS

stack is not running.

Oracle CRS

stack is down now.

Removing

script for Oracle Cluster Ready services

Updating

ocr file for downgrade

Cleaning up

SCR settings in '/etc/oracle/scls_scr'

4.在执行安装的节点执行/install/rootdeinstall.sh命令

因为我是在rac1节点上执行安装的, 所以也在该节点执行该命令。 只需要在该节点执行就可以了。

[root@rac1 install]# sh

/u01/app/oracle/product/crs/install/rootdeinstall.sh

Removing contents from OCR

mirror device

2560+0

records in

2560+0

records out

10485760

bytes (10 MB) copied, 108.972 seconds, 96.2 kB/s

Removing

contents from OCR device

2560+0

records in

2560+0

records out

10485760

bytes (10 MB) copied, 89.2502 seconds, 117 kB/s

5.检查CRS进程,如果没有返回值,继续下一步

[root@rac1

install]# ps -e | grep -i 'ocs[s]d'

[root@rac1

install]# ps -e | grep -i 'cr[s]d.bin'

[root@rac1

install]# ps -e | grep -i 'ev[m]d.bin'

6.在安装节点(第4步中的节点)执行/root.sh命令

[root@rac1 crs]#

/u01/app/oracle/product/crs/root.sh --注意,是root用户。

WARNING:

directory '/u01/app/oracle/product' is not owned by

root

WARNING:

directory '/u01/app/oracle' is not owned by root

WARNING:

directory '/u01/app' is not owned by root

WARNING:

directory '/u01' is not owned by root

Checking to

see if Oracle CRS stack is already configured

Setting the

permissions on OCR backup directory

Setting up

NS directories

Oracle

Cluster Registry configuration upgraded

successfully

WARNING:

directory '/u01/app/oracle/product' is not owned by

root

WARNING:

directory '/u01/app/oracle' is not owned by root

WARNING:

directory '/u01/app' is not owned by root

WARNING:

directory '/u01' is not owned by root

assigning

default hostname rac1 for node 1.

assigning

default hostname rac2 for node 2.

Successfully

accumulated necessary OCR keys.

Using

ports: CSS=49895 CRS=49896 EVMC=49898 and

EVMR=49897.

node

:

interconnect name>

node 1:

rac1 rac1-priv rac1

node 2:

rac2 rac2-priv rac2

Creating

OCR keys for user 'root', privgrp 'root'..

Operation

successful.

Now

formatting voting device: /dev/raw/raw3

Now

formatting voting device: /dev/raw/raw4

Now

formatting voting device: /dev/raw/raw5

Format of 3

voting devices complete.

Startup

will be queued to init within 90 seconds.

Adding

daemons to inittab

Expecting

the CRS daemons to be up within 600 seconds.

CSS is

active on these nodes.

rac1

CSS is

inactive on these nodes.

rac2

Local node

checking complete.

Run root.sh

on remaining nodes to start CRS daemons.

7.在剩下的节点执行/root.sh命令

[root@rac2 crs]#

/u01/app/oracle/product/crs/root.sh

WARNING:

directory '/u01/app/oracle/product' is not owned by

root

WARNING:

directory '/u01/app/oracle' is not owned by root

WARNING:

directory '/u01/app' is not owned by root

WARNING:

directory '/u01' is not owned by root

Checking to

see if Oracle CRS stack is already configured

Setting the

permissions on OCR backup directory

Setting up

NS directories

Oracle

Cluster Registry configuration upgraded

successfully

WARNING:

directory '/u01/app/oracle/product' is not owned by

root

WARNING:

directory '/u01/app/oracle' is not owned by root

WARNING:

directory '/u01/app' is not owned by root

WARNING:

directory '/u01' is not owned by root

clscfg:

EXISTING configuration version 3 detected.

clscfg:

version 3 is 10G Release 2.

assigning

default hostname rac1 for node 1.

assigning

default hostname rac2 for node 2.

Successfully

accumulated necessary OCR keys.

Using

ports: CSS=49895 CRS=49896 EVMC=49898 and

EVMR=49897.

node

:

interconnect name>

node 1:

rac1 rac1-priv rac1

node 2:

rac2 rac2-priv rac2

clscfg:

Arguments check out successfully.

NO KEYS

WERE WRITTEN. Supply -force parameter to

override.

-force is

destructive and will destroy any previous cluster

configuration.

Oracle

Cluster Registry for cluster has already been

initialized

Startup

will be queued to init within 90 seconds.

Adding

daemons to inittab

Expecting

the CRS daemons to be up within 600 seconds.

CSS is

active on these nodes.

rac1

rac2

CSS is

active on all nodes.

Waiting for

the Oracle CRSD and EVMD to start

Waiting for

the Oracle CRSD and EVMD to start

Waiting for

the Oracle CRSD and EVMD to start

Waiting for

the Oracle CRSD and EVMD to start

Waiting for

the Oracle CRSD and EVMD to start

Waiting for

the Oracle CRSD and EVMD to start

Waiting for

the Oracle CRSD and EVMD to start

Oracle CRS

stack installed and running under init(1M)

Running vipca(silent) for

configuring nodeapps

Error 0(Native:

listNetInterfaces:[3])

[Error

0(Native: listNetInterfaces:[3])]

这里报错了。root.sh在最后一个节点执行时会调用vipca命令。 这里因为网络接口没有配置好。 所以执行失败了。 我们配置一下接口,在Xmanager里,用root用户,手工运行vipca命令即可。

[root@rac1 bin]# ./oifcfg

getif--没有返回接口信息

[root@rac1

bin]# ./oifcfg iflist

eth1192.168.6.0

virbr0192.168.122.0

eth0192.168.6.0

[root@rac1 bin]# ./oifcfg

setif -global eth0/192.168.6.0:public --注意IP最后是0

[root@rac1

bin]# ./oifcfg setif -global eth1/192.168.6.0:cluster_interconnect

[root@rac1 bin]# ./oifcfg

getif--验证配置

eth0192.168.6.0globalpublic

eth1192.168.6.0globalcluster_interconnect

[root@rac1

bin]#

配置玩后,随便在一个节点用root用户运行一下vipca命令就可以了。 这个是有窗口的。 需要X支持。所有用X

manager。 其他工具也可以。 能运行就可以了。 执行完后nodeapps的VIP,ONS,GSD就创建完成了。

[root@rac1 bin]# ./crs_stat

-t

NameTypeTargetStateHost

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

ora.rac1.gsdapplicationONLINEONLINErac1

ora.rac1.onsapplicationONLINEONLINErac1

ora.rac1.vipapplicationONLINEONLINErac1

ora.rac2.gsdapplicationONLINEONLINErac2

ora.rac2.onsapplicationONLINEONLINErac2

ora.rac2.vipapplicationONLINEONLINErac2

8.配置监听(netca)

重建Listener会将监听器信息写入OCR)

[oracle@rac1 ~]$

mv $TNS_ADMIN/listener.ora

/tmp/listener.ora.original

[oracle@rac2~]$

mv $TNS_ADMIN/listener.ora

/tmp/listener.ora.original

然后在X

Manager里,用oracle用户执行netca命令。 这个也是可视化的窗口。

[root@rac1 bin]# ./crs_stat

-t

NameTypeTargetStateHost

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

ora....C1.lsnr

applicationONLINEONLINErac1

ora.rac1.gsdapplicationONLINEONLINErac1

ora.rac1.onsapplicationONLINEONLINErac1

ora.rac1.vipapplicationONLINEONLINErac1

ora....C2.lsnr

applicationONLINEONLINErac2

ora.rac2.gsdapplicationONLINEONLINErac2

ora.rac2.onsapplicationONLINEONLINErac2

ora.rac2.vipapplicationONLINEONLINErac2

9.配置ONS(racgons)

10g下使用:

/install/racgons

add_config hostname1:port hostname2:port

[oracle@rac1

bin]$ pwd

/u01/app/oracle/product/crs/bin

[oracle@rac1 bin]$ racgons

add_config rac1:6251 rac2:6251

11g使用:

/install/onsconfig

add_config hostname1:port hostname2:port

[oracle@rac1 bin]$ onsconfig

add_config rac1:6251 rac2:6251

验证配置:

[oracle@rac1 bin]$ onsctl

ping

Number of

onsconfiguration retrieved, numcfg = 2

onscfg[0]

{node

= rac1, port = 6251}

Adding

remote host rac1:6251

onscfg[1]

{node

= rac2, port = 6251}

Adding

remote host rac2:6251

ons is

running ...

如果没有启动,用onsctl

start启动一下即可。

10.添加其他资源到OCR

注意, 注册用的名字和要之前安装的一样。 区分大小写。

ASM

语法:srvctl add asm -n

-i

-o

[oracle@rac1

bin]$ echo $ORACLE_HOME

/u01/app/oracle/product/10.2.0/db_1

[oracle@rac1

bin]$ srvctl add asm -n rac1 -i +ASM1 -o

$ORACLE_HOME

[oracle@rac1

bin]$ srvctl add asm -n rac2 -i +ASM2 -o

/u01/app/oracle/product/10.2.0/db_1

DATABASE

语法:srvctl add database -d

-o

[oracle@rac1

bin]$ srvctl add database -d orcl -o

/u01/app/oracle/product/10.2.0/db_1

INSTANCE

语法:srvctl add instance -d

-i

-n

[oracle@rac1

bin]$ srvctl add instance -d orcl -i orcl1 -n

rac1

[oracle@rac1

bin]$ srvctl add instance -d orcl -i orcl2 -n

rac2

SERVICE

语法:srvctl add service -d

-s

-r

-P

-r

preferred_list是首先使用的实例的列表,还可是用-a表示备用实例

TAF_policy可设置为NONE,BASIC,PRECONNECT

[oracle@rac1

bin]$ srvctl add service -d orcl -s oltp -r orcl1,orcl2 -P

BASIC

添加完了我们来查看一下:

[oracle@rac1 bin]$ crs_stat -t

NameTypeTargetStateHost

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

ora.orcl.dbapplicationOFFLINEOFFLINE

ora....oltp.cs applicationOFFLINEOFFLINE

ora....cl1.srv applicationOFFLINEOFFLINE

ora....cl2.srv applicationOFFLINEOFFLINE

ora....l1.inst applicationOFFLINEOFFLINE

ora....l2.inst applicationOFFLINEOFFLINE

ora....SM1.asm applicationOFFLINEOFFLINE

ora....C1.lsnr applicationONLINEONLINErac1

ora.rac1.gsdapplicationONLINEONLINErac1

ora.rac1.onsapplicationONLINEONLINErac1

ora.rac1.vipapplicationONLINEONLINErac1

ora....SM2.asm applicationOFFLINEOFFLINE

ora....C2.lsnr applicationONLINEONLINErac2

ora.rac2.gsdapplicationONLINEONLINErac2

ora.rac2.onsapplicationONLINEONLINErac2

ora.rac2.vipapplicationONLINEONLINErac2

11.启动资源和检查

[oracle@rac1

bin]$ srvctl start asm -n rac1

[oracle@rac1

bin]$ srvctl start asm -n rac2

[oracle@rac1

bin]$ srvctl start database -d orcl

[oracle@rac1

bin]$ srvctl start service -d orcl

[root@rac1 bin]# ./crs_stat -t

NameTypeTargetStateHost

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

ora.orcl.dbapplicationONLINEONLINErac1

ora....oltp.cs applicationONLINEONLINErac2

ora....cl1.srv applicationONLINEONLINErac1

ora....cl2.srv applicationONLINEONLINErac2

ora....l1.inst applicationONLINEONLINErac1

ora....l2.inst applicationONLINEONLINErac2

ora....SM1.asm applicationONLINEONLINErac1

ora....C1.lsnr applicationONLINEONLINErac1

ora.rac1.gsdapplicationONLINEONLINErac1

ora.rac1.onsapplicationONLINEONLINErac1

ora.rac1.vipapplicationONLINEONLINErac1

ora....SM2.asm applicationONLINEONLINErac2

ora....C2.lsnr applicationONLINEONLINErac2

ora.rac2.gsdapplicationONLINEONLINErac2

ora.rac2.onsapplicationONLINEONLINErac2

ora.rac2.vipapplicationONLINEONLINErac2

[oracle@rac1

bin]$ cluvfy stage -post crsinst -n rac1,rac2

Performing

post-checks for cluster services setup

Checking

node reachability...

Node

reachability check passed from node "rac1".

Checking

user equivalence...

User

equivalence check passed for user "oracle".

Checking

Cluster manager integrity...

Checking

CSS daemon...

Daemon

status check passed for "CSS daemon".

Cluster

manager integrity check passed.

Checking

cluster integrity...

Cluster

integrity check passed

Checking

OCR integrity...

Checking

the absence of a non-clustered configuration...

All nodes

free of non-clustered, local-only configurations.

Uniqueness

check for OCR device passed.

Checking

the version of OCR...

OCR of

correct Version "2" exists.

Checking

data integrity of OCR...

Data

integrity check for OCR passed.

OCR

integrity check passed.

Checking

CRS integrity...

Checking

daemon liveness...

Liveness

check passed for "CRS daemon".

Checking

daemon liveness...

Liveness

check passed for "CSS daemon".

Checking

daemon liveness...

Liveness

check passed for "EVM daemon".

Checking

CRS health...

CRS health

check passed.

CRS

integrity check passed.

Checking

node application existence...

Checking

existence of VIP node application (required)

Check

passed.

Checking

existence of ONS node application (optional)

Check

passed.

Checking

existence of GSD node application (optional)

Check

passed.

Post-check

for cluster services setup was successful.

[oracle@rac1

bin]$

重建结束。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值