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

适用平台: AIX hp linux  win Solaris

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

适用于 rac和 standalone

以RAC 环境为例: 假设 Oracle 为oracle rdbms 属组;grid 为 gi 属组;

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 <raw/character or block partition  >|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 <my production diskgroup> ADD DISK '<your candidate disk>';

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

相关推荐