一、oracle rac数据库的磁盘组空间不足,需要从存储上划分磁盘进行磁盘组的扩容,主要分为以下几步。
1、环境:
内容 | 版本 |
---|---|
数据库 | oracle 11.2.0.4 rac |
主机1 | hpux 11.31 |
主机2 | hpux 11.31 |
2、存储划分:
1、在存储划分之前,先收集系统上面的磁盘信息,便于存储划分磁盘之后进行比对。参考命令`
insf -e -C disk
ioscan -fnCdisk
ioscan -fnNCdisk
ioscan -mlun
ioscan -P health -C disk
ioscan -m dsf
scsimgr -p get_attr all_lun -a hw_path -a device_file -a wwid
2、存储上面划分LUN同时映射到两台主机上面
3、主机系统识别存储,并对磁盘进行权限划分。
主要通过命令scsimgr -p get_attr all_lun -a hw_path -a device_file -a wwid比两个节点磁盘的wwid将wwid一致的磁盘重建成相同的别名
以磁盘disk729和disk730为例
在1节点查看两个磁盘的wwid
[ydjydb1@/]#scsimgr -p get_attr all_lun -a hw_path -a device_file -a wwid
64000/0xfa00/0xa9:/dev/rdisk/disk729:0x6000144000000010b0034a09b8ca39d4
64000/0xfa00/0xaa:/dev/rdisk/disk730:0x6000144000000010b0034a09b8ca39d5
[ydjydb1@/]#
在2节点查看对应wwid的磁盘是disk697和disk698
[ydjydb1@/]#scsimgr -p get_attr all_lun -a hw_path -a device_file -a wwid
64000/0xfa00/0xa8:/dev/rdisk/disk697:0x6000144000000010b0034a09b8ca39d4
64000/0xfa00/0xa9:/dev/rdisk/disk698:0x6000144000000010b0034a09b8ca39d5
[ydjydb1@/]#
1节点重新创建设备
[ydjydb1@/]#ls -l /dev/rdisk/disk729
crw-r----- 1 bin sys 13 0x0000a9 Jul 27 20:02 /dev/rdisk/disk729
[ydjydb1@/]#ls -l /dev/rdisk/disk730
crw-r----- 1 bin sys 13 0x0000aa Jul 27 20:02 /dev/rdisk/disk730
[ydjydb1@/]#mknod /dev/oracle/asmora34 c 13 0x0000a9
[ydjydb1@/]#mknod /dev/oracle/asmora35 c 13 0x0000aa
2节点重新创建设备
[ydjydb2@/]#ls -l /dev/rdisk/disk697
crw-r----- 1 bin sys 13 0x0000a8 Jul 27 20:20 /dev/rdisk/disk697
[ydjydb2@/]#ls -l /dev/rdisk/disk698
crw-r----- 1 bin sys 13 0x0000a9 Jul 27 20:20 /dev/rdisk/disk698
[ydjydb2@/]#mknod /dev/oracle/asmora34 c 13 0x0000a8
[ydjydb2@/]#mknod /dev/oracle/asmora35 c 13 0x0000a9
修改设备属组和权限,两个节点都要执行。
[ydjydb1@/]#chown grid:asmadmin /dev/oracle/asmora34
[ydjydb1@/]#chown grid:asmadmin /dev/oracle/asmora35
[ydjydb1@/]#chmod 660 /dev/oracle/asmora34
[ydjydb1@/]#chmod 660 /dev/oracle/asmora35
3、oracle磁盘组添加磁盘:
1、这里使用图形界面方式,所以需要准备好相关环境。
#设置变量
[ydjydb1@/]#su - grid
ydjydb1-> export DISPLAY=26.122.5.50:0.0
ydjydb1-> asmca
2、执行asmca命令弹出磁盘操作界面
3、选择对应磁盘组以arch为例,单击右键,选择Add Disks。
4、change disk discovery path修改对应的设备目录/dev/oracle/*
5、勾选磁盘,确定。
6、提示添加成功。
7、按照此方式将data盘也添加上去
4、asm添加磁盘异常处理:
1、因为权限一开始没有配置好,导致第一次添加磁盘失败,报错如下:
2、加上由于dd命令使用不当,将磁盘信息搞乱了,只能重新从存储回收对应磁盘重新划分。
3、重新划分后系统扫描显示的还是原来旧的磁盘信息,一直是NO_HW状态。
4、针对这种情况,需要删除磁盘和汇聚前后的所有路径,重新扫描即可。
rmsf /dev/disk/disk729
rmsf /dev/disk/disk730
rmsf -H 1/0/0/5/0/0/0.1.6.0.0.4.7
rmsf -H 1/0/0/5/0/0/0.1.6.0.0.5.0
rmsf -H 1/0/0/5/0/0/0.1.12.0.0.4.7
rmsf -H 1/0/0/5/0/0/0.1.12.0.0.5.0
rmsf -H 64000/0xfa00/0xa9
rmsf -H 64000/0xfa00/0xaa
总结:
创建dg参考命令
create diskgroup DATA external redundancy disk ‘/dev/raw/raw5’ ATTRIBUTE ‘compatible.asm’ = ‘11.2.0.0.0’;
添加磁盘参考命令
alter diskgroup data add disk ‘/dev/raw/raw6’;
二、删除asm磁盘组
1、删除磁盘
alter diskgroup data drop disk ‘DATA_0001’;
2、取消删除磁盘
alter diskgroup data undrop disks;
或者asmcmd图形界面处理
查看磁盘状态,为DROPPING。
当后台数据同步的操作完成,磁盘的组信息被清除,磁盘恢复STATE状态。这时这个磁盘就从ASM中被彻底删除。