Oracle ASM 如何添加新磁盘到磁盘

2015-02-02 13:37:56 · 作者: · 浏览: 19

适用平台: AIX hp linux? win Solaris


适用版本:所有数据库10.1.0.2 to12.1.0.1


适用于 rac和 standalone


For ASMLIB users:


RAC 环境 gi owner 执行以下命令


1、# /etc/init.d/oracleasm? scandisks? #( root用户执行)


$> id


$> /etc/init.d/oracleasm? listdisks


$> /etc/init.d/oracleasm? querydisk <具体磁盘路径>


所有节点都要执行;


2、在操作系统层面检查磁盘是否可以读写(每个节点)(oracle 用户或者grid用户)


# raw device


$> dd if=/dev/raw/raw1 of=/dev/null count=100 bs=8192


# ASMLIB device


$> dd if=/dev/oracleasm/disks/PRODA07 of=/dev/null count=100 bs=8192


# raw device


$> dd if=/dev/rdsk/c1t3d0s6 of=/dev/null count=100 bs=8192


3、适用kfed 验证磁盘是否为候选盘;


kfed read |grep kfbh.type


kfbh.type: 0 ; 0x002: KFBTYP_INVALID? 如果看到这么一个结果,表明该磁盘是可用的。


4、创建临时磁盘组,主要是用ASM 实例来检验下所有要加的盘没有问题,即使出问题,也不会影响原来的生产系统。虽然要检查的步骤比较多,比较烦,但是对于生产系统来说出不了任何意外。


CREATE DISKGROUP lixora EXTERNAL REDUNDANCY DISK '/dev/rhdisk*';


5、检查刚创建的dg 是否已经自动mount 了?


SELECT STATE, NAME FROM V$ASM_DISKGROUP;


6、如果没有mount,尝试手工mount


ALTER DISKGROUP TEST MOUNT;


---确认dg状态


SELECT STATE, NAME FROM V$ASM_DISKGROUP;


7、如果step6 查询lixora成功mount(如果rac ,则确保每个ASM实例都成功mount)


则说明我们需要添加的asm 盘都正常的,可以正常使用。那么我们就可以把他们加到生产的dg中了。


-----卸载dg(在ASM instance中执行这个命令)


alter diskgroup test dismount;


----删除测试用临时dg (在ASM instance 中执行这个命令)


DROP DISKGROUP TEST;


8、到这里就可以吧候选盘加到生产的dg里了。


ALTER DISKGROUP ADD DISK '';


Standalone 环境也是一样的,同样建议执行上述测试步骤。