【DB笔试面试724】在Oracle中,替换OCR磁盘组的步骤有哪些?

  • 2020 年 1 月 20 日
  • 筆記

题目部分

在Oracle中,替换OCR磁盘组的步骤有哪些?

答案部分

核心的几条命令:

crsctl replace votedisk +newocr  ocrconfig -add +newocr  ocrconfig -delete +ocr  more /etc/oracle/ocr.loc  spget  spcopy -u +CRSDG/xx/asmparameterfile/registry.xx +newocr/spfileASM.ora  spset  

具体步骤包括:

1. 添加新存储

建立Normal冗余级别的OCR卷组,需要至少3个LUN,每个LUN最少容量为1GB,需要在存储端配置3个LUN至RAC集群中的各个节点。

2. 多路径绑定配置

配置/etc/multipatch.conf,添加新磁盘的UUID,假设多路径绑定之后的路径为/dev/mapper/newocr1、/dev/mapper/newocr2、/dev/mapper/newocr3,并且重新加载Mutilpathd服务生效。

3. ASMLib配置或udev绑定

节点1操作如下:

将新加的3个LUN添加到ASMLIB中

# /usr/sbin/oracleasm createdisk OCRNEW1 /dev/mapper/newocr1  # /usr/sbin/oracleasm createdisk OCRNEW2 /dev/mapper/newocr2  # /usr/sbin/oracleasm createdisk OCRNEW3 /dev/mapper/newocr3  

节点2:

扫描新加的3个LUN:

# /usr/sbin/oracleasm scandisks  # /usr/sbin/oracleasm listdisks  

4. 备份OCR

–逻辑备份恢复

ocrconfig -export /oracle/app/11.2.0/grid/cdata/ZFTPCCDB-crs/export_asm.bak  

–物理备份恢复

ocrconfig -manualbackup  ocrconfig -showbackup  ocrcheck  

5. 新建OCR卷组

set line 9999  set pagesize 9999  col path format a60  SELECT a.group_number, disk_number,mount_status, a.name, path FROM v$asm_disk a order by a.disk_number;  set line 999  select name,state,free_mb,required_mirror_free_mb,usable_file_mb,a.group_number, disk_number,mount_status, path from v$asm_diskgroup a;  select a.group_number,name,TYPE,state,TOTAL_MB,free_mb from v$asm_diskgroup a;  select name,state,free_mb,required_mirror_free_mb,usable_file_mb,a.group_number from v$asm_diskgroup a;  

节点1新建Normal冗余级别的ASM卷组

sqlplus / as sysasm  create diskgroup newocr normal redundancy disk  '/dev/oracleasm/disks/neworc1',  '/dev/oracleasm/disks/neworc2',  '/dev/oracleasm/disks/neworc3'  attribute 'compatible.asm'='11.2','compatible.rdbms'='11.2';  

节点1执行mount磁盘组:

ALTER DISKGROUP NEWOCR MOUNT;  crsctl stat res -t  

6. 替换VOTE

在其中一个节点,root用户下执行:

替换VOTE

crsctl replace votedisk +newocr  

确认

crsctl query css votedisk  

7. 替换OCR

在grid或root用户下执行:

Node1执行以下命令:

ocrconfig -add +newocr  ocrconfig -delete +ocr  more /etc/oracle/ocr.loc  

Node2可以不用执行以下命令:

ocrconfig -repair -add +newocr  ocrconfig -repair -delete +ocr  

8. 迁移ASM SPFILE

在GRID用户下任一节点执行

$ asmcmd  

查看当前的ASMSPFILE

ASMCMD> spget  

复制SPFILE至新卷组

ASMCMD> spcopy -u +CRSDG/xx/asmparameterfile/registry.xx +newocr/spfileASM.ora  

查看新SPFILE绝对路径

ASMCMD> ls -l +newocr/spfileASM.ora  +NEWOCR/XX/ASMPARAMETERFILE/REGISTRY.253.833623103  ASMCMD>spset +NEWOCR/XX/ASMPARAMETERFILE/REGISTRY.253.833623103  

修改两个节点grid用户下$ORACLE_HOME/dbs/init.ora文件内容,也可以不用修改:

SPFILE='+newocr/spfileASM.ora'  

9. 确认老OCR磁盘组是否还有其他文件

10. 删除老OCR卷组

重启集群后:

节点2:

su - grid  sqlplus / as sysasm  alter diskgroup OCR dismount;  exit  

节点1:

su - grid  sqlplus / as sysasm  drop diskgroup ocr;  drop diskgroup OVDISK  INCLUDING CONTENTS;  drop diskgroup OVDISK FORCE INCLUDING CONTENTS;  

11. 删除磁盘

任一节点ROOT用户下操作:

# /usr/sbin/oracleasm dropdisk OCR  

删除多路径绑定配置,删除配置/etc/multipatch.conf中原有OCR盘内容。

最后从存储上删除到2个节点的映射。

12. 删除CRS记录

crsctl delete res ora.OCR.dg  

& 说明:

有关OCR的更多内容可以参考我的BLOG:http://blog.itpub.net/26736162/viewspace-2141215/,https://ke.qq.com/course/316525

本文选自《Oracle程序员面试笔试宝典》,作者:小麦苗