上节介绍运行集群环境所需的进程,这节总体上说Oracle集群的安装,升级以及克隆等
Oracle Clusterware 包含了2个重要的组件用来管理配置和节点成员
分别是Oracle Cluster Registry (OCR)以及voting disks
其中OCR还包含一个本地的组件Oracle Local Registry (OLR)
我们可以将OCR和Voting Disk 存储在ASM或共享存储中,Oracle推荐使用ASM
Oracle 11.2 OUI不支持使用裸设备或者块设备,不过如果你是从以前版本升级而来则是可以使用的
OCR 包含集群中所有resource的信息
OLR内容和OCR相似,不过他位于各个节点本地
Oracle High Availability Services在启动时需要OLR里面的内容
OLR位置在Grid_home/cdata/host_name.olr
其中Grid_home为 Grid的家目录,host_name为主机名
我们可以使用OCRCONFIG命令将OCR迁移至ASM中
1.1.1 检查集群版本
确保版本为 11.2
$ crsctl query crs activeversion
1.1.2 使用asmca在各个节点启动ASM
1.1.3 创建磁盘组
使用asmca创建用于存放OCR的磁盘组,其荣誉模式至少为normal
1.1.4 增加OCR位置
增加前请确保Oracle 集群已开启
# ocrconfig -add +new_disk_group
我们可以重复使用该命令为OCR添加不同的位置,但每次必须使用不同的磁盘组 我们最多指定5个位置
1.1.5 删除不用的位置
使用如下命令删除其他不用的位置
# ocrconfig -delete old_storage_location
1.1.6 具体范例
将OCR从ASM移除则使用相反的操作
# ocrconfig -add +new_disk_group # ocrconfig -delete /dev/raw/raw2 # ocrconfig -delete /dev/raw/raw1
1.2.1 增加OCR位置
使用root用户执行
#ocrconfig -add +asm_disk_group | file_name
1.2.2 删除OCR位置
请确保删除后至少有一个OCR位置
使用root用户执行
既可以执行磁盘组也可指定文件名
#ocrconfig -delete +ASM_disk_group | file_name
1.2.3替换OCR位置
我们可以替换一个不需要或者损坏的OCR文件
使用root用户运行此命令
#ocrconfig -replace current_OCR_location -replacement new_OCR_location
1.2.4 修复OCR
当集群中OCR配置更改时,如果有节点处于离线状态,则可用repair命令更新OCR信息
我们可以做add delete replace操作
该命令必须保证High Availability Services 服务器已开启并且Cluster Ready Services关闭
#ocrconfig -repair -replace current_OCR_location -replacement target_OCR_location
1.2.5 检查OCR
#ocrcheck
1.2.6 检查当前节点信息
# olsnodes lixora01 lixora02
1.2.7 查看OCR内容
#ocrdump <filename>
如不指定文件名则会在当前目录创建一个OCRDUMPFILE 的文件
Oracle备份OCR分为如下2个:
1.3.1 自动备份
Oracle 会每个四小时备份一次OCR,并且保存最后三次的备份
CRSD进程也会保留一份每天的备份以及一份每周最后一天的备份
我们不可以改变自动备份的排程及策略
1.3.2 手动备份
我们使用如下命令在任何时刻手动备份OCR
#ocrconfig -manualbackup
OLR只支持手动备份
1.3.3 列出OCR备份
我们使用如下命令列出OCR备份的情况
#ocrconfig -showbackup
1.3.4 检查OCR备份
使用如下命令检查备份内容验证有效性
使用root用户执行
#ocrdump -backupfile backup_file_name
执行完成后当前目录会生成一个文件
1.3.5 备份的位置
备份的位置位于本地路径,Oracle建议定期备份备份的OCR文件
Grid_home/cdata/cluster_name
如果备份存在于ASM磁盘组中,而且该磁盘组损坏,我们必须首先修复该磁盘组
可以使用ocrconfig -restore命令来恢复OCR
主要步骤为:
我们可以使用ocrconfig -export 和ocrconfig -impport命令来导出导入OCR内容
我们推荐使用bakcup来备份OCR而不是使用export,使用retoere来恢复OCR而不是import,原因如下:
OLR的位置grid_home/cdata/host_name.olr
需要使用root用户
#ocrcheck -local
使用root用户
#ocrdump -local -stdout
#ocrconfig –local –export file_name
# ocrconfig –local –import file_name
#ocrconfig –local –manualbackup
#ocrdump -local -backupfile olr_backup_file_name
#ocrconfig -local -backuploc new_olr_backup_path
# crsctl stop crs # ocrconfig -local -restore file_name # ocrcheck -local # crsctl start crs $ cluvfy comp olr