整个四季想和你一起进步
//////////////////////

整/个/四/季/想/和/你/一/起/进/步
//////////////////////
安装数据库RAC离不开ASM磁盘组的创建,创建ASM磁盘组的关键是创建好所需的ASM磁盘,发现很多初出茅庐的Oracle数据库学习者在安装Grid软件和实例中遇到了很多问题,今天小编总结了ASM DiskGroup创建磁盘的实施步骤,快来跟小编一起学习吧~
//////////////////////
环境
操作系统 | 数据库 | |
Linux RHEL 7 | Oracle 19c RAC | 华为存储 (增加50块盘) |


创建RAC共享磁盘组
Linux平台通过udev的方式将块设备更改属组并创建链接。
2.1 主机核对共享盘
查看共享盘wwid号(下图Lun WWN列),以便向存储管理员确认创建的新磁盘是否正确。
命令:
[root@vmrh-oracle1 ~]#upadmin show vlun---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------Vlun ID Disk Name Lun WWN Status Capacity Ctrl(Own/Work) Array Name Dev Lun ID No. of Paths(Available/Total)0 sdc SY_RECOVER_DB0304-OCR0000 634a2a21007bae1f290c77ab00000083 Normal 5.00GB 0A/0A Dorado5000V330T.Storage 388 4/41 sdd SY_RECOVER_DB0304-OCR0001 634a2a21007bae1f290c781600000084 Normal 5.00GB 0B/0B Dorado5000V330T.Storage 389 4/42 sde SY_RECOVER_DB0304-OCR0002 634a2a21007bae1f290c789c00000085 Normal 5.00GB 0A/0A Dorado5000V330T.Storage 390 4/4...其余47块盘同理。---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
2.2 查看硬盘的uuid号
查看硬盘uuid号,用于写入2.3步骤的rule配置文件。
命令:
[root@vmrh-oracle1 ~]#scsi_id -g -u -d dev/sdc3634a2a21007bae1f290c77ab00000083[root@vmrh-oracle1 ~]#scsi_id -g -u -d /dev/sdd3634a2a21007bae1f290c781600000084[root@vmrh-oracle1 ~]#scsi_id -g -u -d /dev/sde3634a2a21007bae1f290c789c00000085...其余47块盘同理。
2.3 增加udev配置
编辑rule配置文件(所有节点都做)。
命令:
[root@vmrh-oracle1 ~]#vim /etc/udev/rules.d/99-oracle-asmdevices.rulesKERNEL=="sd*", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d /dev/%k",RESULT=="3634a2a21007bae1f290c77ab00000083", SYMLINK+="asm-disk1", OWNER="grid", GROUP="asmadmin", MODE="0660"KERNEL=="sd*", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d /dev/%k",RESULT=="3634a2a21007bae1f290c781600000084", SYMLINK+="asm-disk2", OWNER="grid", GROUP="asmadmin", MODE="0660"KERNEL=="sd*", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d /dev/%k",RESULT=="3634a2a21007bae1f290c789c00000085", SYMLINK+="asm-disk3", OWNER="grid", GROUP="asmadmin", MODE="0660"...其余47块盘同理。
2.4 重新加载rule文件
将udev配置文件传输到RAC其他节点,并加载生效rule配置文件(其他节点都做)。
命令:
[root@vmrh-oracle1 ~]#udevadm control --reload-rules[root@vmrh-oracle1 ~]#udevadm trigger


创建磁盘组
3.1 启动asmca
创建磁盘组时需要以grid用户身份执行asmca命令,以启动图形化安装界面。
命令:
[root@vmrh-oracle1 ~]#su - grid[grid@vmrh-oracle1 ~]$export DISPLAY= client_IP:0.0[grid@vmrh-oracle1 ~]$asmca

注意:如果执行失败,即打不开图形化界面,则需要以root身份执行xhost+后再重复上述命令操作即可。
3.2 选择创建磁盘组
可以看到,ASM中已经存在了一个OCR磁盘组,现在要给数据库创建DATA磁盘组,选择【Disk Groups】选项卡,点击左下角【Create】。

3.3 设置磁盘组信息
磁盘组名:**_PLP _DATA
冗余选择:external冗余
磁盘选中:/dev/asm-disk1-50

设置完成,点击OK按钮,创建完成。
小贴士
Oracle ASM 创建磁盘组的时候,有三种冗余方式防止磁盘损坏。
第一:外部冗余方式(external),依赖于存储的镜像。ASM不对数据库文件镜像,可以通过raid磁盘镜像;所用磁盘最少,有效磁盘空间是所有磁盘设备的大小之和。
第二:正常冗余方式(normal),ASM存储镜像双份镜像方式。ASM使用两份镜像存储,以提高性能和数据的安全,最少需要两块磁盘(两个failure group);有效磁盘空间是所有磁盘设备大小之和的1/2,一般使用常规冗余。
第三:高度冗余方式(high),ASM存储镜像三份镜像方式。ASM使用3份镜像存储,以提高性能和数据的安全,最少需要三块磁盘(三个failure group);有效磁盘空间是所有磁盘设备大小之和的1/3,虽然冗余级别高了,但是硬件的代价也最高。

现在可以看到,Grid管理的两个磁盘组**_PLP_DATA和**_PLP_OCR,并且需要点击左下角【Mount All】,使得两个节点均mount上该磁盘组,注意右侧的状态应当为【Mounted(2 of 2)】查看创建磁盘组,点击Exit。
3.4 监控asm磁盘组平衡速度
加完磁盘后会有一个平衡时间,当磁盘组中的磁盘数发生改变时,ASM实例将对其自动进行一次重新平衡,将磁盘中的内容重新分布到现有的各个磁盘上。用户也可以手工对磁盘组进行平衡。磁盘组的平衡能力从0-11,0表示停止平衡操作,11表示速度最快。指定的级别越高,消耗的系统资源就越多。
登录SQL,执行如下命令查询磁盘平衡速度。
命令:
SELECT group_number, operation, state, est_work, sofar, est_rate, est_minutes FROM v$asm_operation;
直到出现以下信息表示磁盘组平衡完成:

THE END
作者简介
王好贞:ITIL4,现任职于北京银行系统运营中心,负责数据库运维相关工作。
高永超:Oracle 11g/12c OCM 、PCP、RHCE,现任职于北京银行系统运营中心,负责Oracle、Tidb数据库及运维工具相关工作。
侯若希:Oracle 11g OCM,现任职于北京银行系统运营中心,负责Oracle、备份工具相关工作。






