OCR/Vote disk 维护操作: (添加/删除/替换/移动) (文档 ID 1674859.1)

0    307    1

Tags:

👉 本文共约10404个字,系统预计阅读时间或需40分钟。

OCR Vote disk 维护操作 (添加 删除 替换 移动) (文档 ID 1674859.1

适用于:

Oracle Database - Enterprise Edition - 版本 10.2.0.1 到 11.2.0.1.0 [发行版 10.2 到 11.2]
本文档所含信息适用于所有平台

目标

提供在 Oracle Clusterware 10gR2, 11gR1 和 11gR2 环境中添加,删除,替换,移动 Oracle Cluster Repository (OCR) 和/或 Voting Disk 的步骤。并且包括了把OCR/voting 从裸设备移动到块设备和ASM 设备的步骤。对于 Oracle Clusterware 12c,请参考 Document 1558920.1 Software Patch Level and 12c Grid Infrastructure OCR Backup/Restore。

本文适用于需要修改,移动 OCR,voting disk 的 DBA 和技术支持工程师,客户已经在一套存储上部署了集群环境,可能需要在最短的停机时间内迁移到新的存储。

通常来说,一旦存储已经存在,那么可以通过 cp 或者 dd 文件,但是对于集群来说是有一些困难的,这是因为:

\1. Oracle Clusterware 的 OCR 和 voting disks 是联机使用的。(包括primary和镜像)
\2. 与 cp 和 dd 命令相比,Oracle提供的 API(ocrconfig and crsctl)更适合用来实现这些功能。

执行操作之前,请备份 OC R和 voting disk。

注意: 当 OCR 和 Voting disk files 存放在一起,像OCFS (例如在 pre-11.2 Clusterware 环境) 或者在同一个 ASM diskgroup (例如在 11.2 Oracle Clusterware 环境), 事实上 OCR 和 Voting disk 是 2 个单独的文件和实体,因此如果希望修改或者移动 OCR 和 Voting disk,那么必须遵守下面提供的步骤。

解决方案

准备磁盘

为了添加或者替换 OCR 或 voting disk,请提前准备新的磁盘。请参考各个平台 Clusteware/Gird Infrastructure 安装文档中关于磁盘的要求。

1. 磁盘大小

版本 10.1:
OCR device minimum size (each): 100M
Voting disk minimum size (each): 20M

版本 10.2:
OCR device 最小值 (每个): 256M
Voting disk最小值 (每个): 256M

版本 11.1:
OCR device 最小值 (每个): 280M
Voting disk 最小值 (每个): 280M

版本 11.2:
OCR device 最小值 (每个): 300M
Voting disk 最小值 (每个): 300M

2. 裸设备或者块设备 (pre 11.2)

请参考各个平台 Clusteware/Gird Infrastructure 安装文档。
对于windows平台,请使用命令$CRS_HOME\bin\GUIOracleOBJManager.exe创建新的裸设备链接,例如:
\.\VOTEDSK2
\.\OCR2

3. ASM disks (11.2+)

在windows平台,请参考 Document 331796.1 How to setup ASM on Windows
在Linux平台,请参考 Document 580153.1 How To Setup ASM on Linux Using ASMLIB Disks, Raw Devices or Block Devices?
其他平台,请参考 Clusterware/Gird Infrastructure安装手册 (Chapter: Oracle Automatic Storage Management Storage Configuration)。

4. 集群文件系统

如果 OCR 在集群文件系统上,在添加/替换之前,新的 OCR 或者 OCRMIRROR 文件必需提前创建,否则会出现PROT-21: Invalid parameter (10.2/11.) or PROT-30 The Oracle Cluster Registry location to be added is not accessible (针对版本11.2)错误。

使用 root 用户
# touch /cluster_fs/ocrdisk.dat
# touch /cluster_fs/ocrmirror.dat
# chown root:oinstall /cluster_fs/ocrdisk.dat /cluster_fs/ocrmirror.dat
# chmod 640 /cluster_fs/ocrdisk.dat /cluster_fs/ocrmirror.dat

不需要提前在集群文件系统上创建 voting disk 文件。

执行删除命令后,需要手动在集群文件系统上删除 ocr/voting 文件。

5. 权限

对于 OCR 设备:
chown root:oinstall
chmod 640

对于 Voting 设备:
chown :oinstall
chmod 644

如果 OCR/Voting disk 使用 ASM 磁盘:
chown griduser:asmadmin
chmod 660

6. 冗余

Voting 磁盘(不要使用偶数个):
External 需要最少1个 Voting 磁盘(或者1个 failure group)
Normal 需要最少3个 Voting 磁盘(或者3个 failure group)
High 需要最少5个 Voting 磁盘(或者5个 failure group)

缺少 failure group 会引起 voting disk 创建失败。例如 ORA-15274: Not enough failgroups (3) to create voting files

OCR:
10.2 和 11.1,最多2个 OCR 设备:OCR 和 OCRMIRROR
11.2+,最多5个 OCR。

请参考各个平台对应文档 Oracle? Grid Infrastructure Installation Guide 获得更多信息

添加/删除/替换/移动 OCR device

注意: 必须以 root 用户登录,因为 root 用户拥有 OCR 文件。"ocrconfig -replace"命令只能在CRS 运行时执行,否则报错"PROT-1: Failed to initialize ocrconfig"。

请确保执行这些操作时 CRS 在所有节点都是运行的,否则在关闭的节点上这些命令将不会生效,那么将来关闭节点的 CRS 启动时会有问题。需要使用"ocrconfig -repair"命令来修复 ocr.loc 文件。

对于 11.2 及以上版本而且 OCR 在 ASM 磁盘组的集群,由于 unpublished Bug 8604794 - FAIL TO CHANGE OCR LOCATION TO DG WITH 'OCRCONFIG -REPAIR -REPLACE'的存在,使用"ocrconfig -repair"命令将 OCR 位置修改到不同的 ASM 磁盘组是不能正常工作的。临时的解决方法是手动编辑 /etc/oracle/ocr.loc 或 /var/opt/oracle/ocr.loc文件 或 Windows registry HYKEY_LOCAL_MACHINE\SOFTWARE\Oracle\ocr剑指,指向设定的磁盘组。

如果 OLR 有任何问题,请参考 How to restore OLR in 11.2 Grid Infrastructure Note 1193643.1.

在做任何改变前确保有一个近期的 OCR 文件备份:

ocrconfig -showbackup

如果没有近期的 OCR 文件备份,可以 export 当前的 OCR 文件。使用下面的命令生成一个在线 OCR 文件的导出文件:

版本 10.2

# ocrconfig -export -s online

版本 11.1 和 11.2

# ocrconfig -manualbackup
node1 2008/08/06 06:11:58 /crs/cdata/crs/backup_20080807_003158.ocr

使用导出文件来恢复 OCR,执行下面命令:

# ocrconfig -import

从 11.2 开始,请参考 How to restore ASM based OCR after complete loss of the CRS diskgroup on Linux/Unix systems Document 1062983.1

检查 OCR 是否健康,运行 ocrcheck 命令,应该返回下面的信息:

# ocrcheck
Status of Oracle Cluster Registry is as follows :
Version : 2
Total space (kbytes) : 497928
Used space (kbytes) : 312
Available space (kbytes) : 497616
ID : 576761409
Device/File Name : /dev/raw/raw1
Device/File integrity check succeeded
Device/File Name : /dev/raw/raw2
Device/File integrity check succeeded

Cluster registry integrity check succeeded

对于11.1及以上版本, ocrcheck 命令还应该返回:
Logical corruption check succeeded

1. 当只有一个 OCR 设备时,添加一个 OCRMIRROR 设备:

添加一个 OCR mirror 设备,提供全路径包括文件名。
10.2 和 11.1:

# ocrconfig -replace ocrmirror
eg:
# ocrconfig -replace ocrmirror /dev/raw/raw2
# ocrconfig -replace ocrmirror /dev/sdc1
# ocrconfig -replace ocrmirror /cluster_fs/ocrdisk.dat
> ocrconfig -replace ocrmirror \.\OCRMIRROR2 - for Windows

11.2+: 版本 11.2 之后,最多可添加4个 ocrmirrors

# ocrconfig -add
eg:
# ocrconfig -add +OCRVOTE2
# ocrconfig -add /cluster_fs/ocrdisk.dat

2. 删除一个 OCR 设备

删除一个 OCR 设备:
10.2 和 11.1:

# ocrconfig -replace ocr

11.2+:

# ocrconfig -delete
eg:
# ocrconfig -delete +OCRVOTE1

* 一旦 OCR 设备被删除,ocrmirror 设备自动转换为 OCR。
* 如果只有一个 OCR 设备,那么不允许删除 OCR ,命令将会返回错误 PROT-16。

删除 OCR mirror 设备:
10.2 和 11.1:

# ocrconfig -replace ocrmirror

11.2+:

# ocrconfig -delete
eg:
# ocrconfig -delete +OCRVOTE2

如果是集群文件系统,那么删除之后,旧的 OCR/OCRMIRROR 文件可以被删除。

3. 替换或者移动 OCR 设备位置

注意. 1. 替换 OCR 设备前,一个 ocrmirror 必须存在,否则报错 PROT-16。
\2. 如果 OCR 设备被替换为不同大小的设备,那么新的设备大小只有集群重启后才会被显示。

10.2 和 11.1:
替换 OCR 设备,提供全路径包括文件名:

# ocrconfig -replace ocr
eg:
# ocrconfig -replace ocr /dev/sdd1
$ ocrconfig -replace ocr \.\OCR2 - for Windows

替换 OCR mirror 设备,提供全路径包括文件名:

# ocrconfig -replace ocrmirror
eg:
# ocrconfig -replace ocrmirrow /dev/raw/raw4
# ocrconfig -replace ocrmirrow \.\OCRMIRROR2 - for Windows

11.2:
替换 OCR 或者 OCRMIRRORs 的命令和之前版本是相同的(至少2个 OCR 存在):

# ocrconfig -replace -replacement
eg:
# ocrconfig -replace /cluster_file/ocr.dat -replacement +OCRVOTE
# ocrconfig -replace +CRS -replacement +OCRVOTE

4. 当集群停止时如何恢复 OCR

如果 OCR 不可访问,CRSD 进程将不会启动,因此集群将不能完全启动。恢复 OCR 需要访问好的 OCR 备份,查看自动 OCR 备份:

# ocrconfig -showbackup

从OCR 备份恢复:

# ocrconfig -restore

对于 11.2: 如果 OCR 位于 ASM 磁盘,但是 ASM DISK 也丢失了,请参考:
How to restore ASM based OCR after complete loss of the CRS diskgroup on Linux/Unix systems Document 1062983.1
How to Restore OCR After the 1st ASM Diskgroup is Lost on Windows Document 1294915.1

如果没有有效的 OCR 备份,那么需要重新初始化 OCR 和 voting。
对于10.2 和 11.1:
请参考 How to Recreate OCR/Voting Disk Accidentally Deleted Document 399482.1

对于 11.2:
需要在集群的所有节点deconfig 集群软件并且重新运行roo.sh 脚本。

添加/删除/移动 voting disk

注意: 1. 对于版本10.2 和 11.1, crsctl votedisk 命令必须以 root 用户运行,但是对于11.2 及以上版本, 可以用 grid 用户运行。
\2. 对于 11.2,如果 OCR 和 voting 使用 ASM 磁盘,那么这个命令在 Windows 和 Unix 平台是相同的。

对于 11.2 之前,备份 voting disk:

$ dd if=voting_disk_name of=backup_file_name

对于 Windows:

ocopy \.\votedsk1 o:\backup\votedsk1.bak

对于 11.2+,不需要备份 voting disk,在发生任何配置变化是voting disk 会被自动备份到 OCR 上。如果 voting disk 中的内容发生了以下变化之一, Oracle Clusterware 会自动备份 voting disk:

  • 配置参数,比如 misscount 被添加或者修改
  • 执行 voting disk 添加或者删除操作

当添加或者替换 voting disk后,voting disk 内容会从VF备份中自动恢复到新的VF中。

对应于 10gR2 版本

修改任何 voting disk 前,停止 oracle 集群(使用 root 用户执行 crsctl stop crs)。查看当前 voting disk 位置:
crsctl query css votedisk

  1. 添加一个 Voting Disk,提供全路径包括文件名:

# crsctl add css votedisk -force
eg:
# crsctl add css votedisk /dev/raw/raw1 -force
# crsctl add css votedisk /cluster_fs/votedisk.dat -force
> crsctl add css votedisk \.\VOTEDSK2 -force - for windows

  1. 删除一个 Voting Disk,提供全路径包括文件名:

# crsctl delete css votedisk -force
eg:
# crsctl delete css votedisk /dev/raw/raw1 -force
# crsctl delete css votedisk /cluster_fs/votedisk.dat -force
> crsctl delete css votedisk \.\VOTEDSK1 -force - for windows

  1. 移动一个 Voting Disk,提供全路径包括文件名,先添加一个设备,然后删除旧的:

# crsctl add css votedisk -force
# crsctl delete css votedisk -force
eg:
# crsctl add css votedisk /dev/raw/raw4 -force
# crsctl delete css votedisk /dev/raw/raw1 -force

修改 Voting Disk 后,在所有节点启动 oracle 集群

# crsctl start crs

确认 Voting Disk 位置:

# crsctl query css votedisk

对于 11gR1 版本

从 11.1.0.6 开始,下面的命令可以在线执行(CRS 正在运行)

  1. 添加一个 Voting Disk,提供全路径包括文件名:

# crsctl add css votedisk
eg:
# crsctl add css votedisk /dev/raw/raw1
# crsctl add css votedisk /cluster_fs/votedisk.dat
> crsctl add css votedisk \.\VOTEDSK2 - for windows

  1. 删除一个 Voting Disk,提供全路径包括文件名:

# crsctl delete css votedisk
eg:
# crsctl delete css votedisk /dev/raw/raw1 -force
# crsctl delete css votedisk /cluster_fs/votedisk.dat
> crsctl delete css votedisk \.\VOTEDSK1 - for windows

  1. 移动一个Voting Disk, 提供全路径包括文件名

# crsctl add css votedisk
# crsctl delete css votedisk
eg:
# crsctl add css votedisk /dev/raw/raw4
# crsctl delete css votedisk /dev/raw/raw1

确认 Voting Disk 位置:

# crsctl query css votedisk

对于 11gR2 版本

从 11.2开始,Voting Disk 可以存放于 ASM 磁盘组或者集群文件系统,当 Grid Infrastructure 运行是,执行下面的命令,以 grid 用户:

  1. 添加一个 Voting Disk
    a. 当 votedisk 位于集群文件系统:

$ crsctl add css votedisk

b. 当 votedisk 位于 ASM 磁盘组,没有添加选项。
Votedisk 数量是由磁盘组冗余度决定。如果希望更多 votedisk 副本,可以移动 votedisk 到更高冗余度的磁盘组。见步骤4。
如果 votedisk 从一个正常或者高冗余度的磁盘组被删除,可以使用下面的命令添加回来:

alter diskgroup add disk '' force;

  1. 删除一个Voting Disk
    a. 当 Voting Disk 位于集群文件系统时:

$ crsctl delete css votedisk
or
$ crsctl delete css votedisk (vdiskGUID is the File Universal Id from 'crsctl query css votedisk')

b. 当 Voting Disk 位于 ASM时,没有删除选项,只能从一个 asm 磁盘组替换为另外一个 asm 磁盘组。

  1. \在集群文件系统上\移动一个 Voting Disk

$ crsctl add css votedisk
$ crsctl delete css votedisk
or
$ crsctl delete css votedisk

  1. ASM 磁盘组冗余度或者位置变化

$ crsctl replace votedisk <+diskgroup>|

例子:从外部冗余\磁盘组\ +OCRVOTE 移动到正常冗余磁盘组 +CRS\

\1. create new diskgroup +CRS as desired

\2. $ crsctl query css votedisk
## STATE File Universal Id File Name Disk group

本人提供Oracle(OCP、OCM)、MySQL(OCP)、PostgreSQL(PGCA、PGCE、PGCM)等数据库的培训和考证业务,私聊QQ646634621或微信dbaup66,谢谢!
AiDBA后续精彩内容已被站长无情隐藏,请输入验证码解锁本文!
验证码:
获取验证码: 请先关注本站微信公众号,然后回复“验证码”,获取验证码。在微信里搜索“AiDBA”或者“dbaup6”或者微信扫描右侧二维码都可以关注本站微信公众号。

标签:

Avatar photo

小麦苗

学习或考证,均可联系麦老师,请加微信db_bao或QQ646634621

您可能还喜欢...

发表回复