您的位置:首页 > 数据库 > Oracle

Oracle 如何在线添加ASM磁盘

2015-12-11 19:43 531 查看
在一个已经运行一段时间的用ASM管理的RAC上,如果磁盘空间不足,如何在线添加磁盘容量?

接下来用虚拟机(Redhat +Oracle 11g RAC环境)里面的例子讲解添加步骤:

1. 首先从VSphere里面划出一个盘给RAC中某一个节点,然后在RAC其余节点上添加已分配的磁盘;

2. 如果添加完磁盘后,发现用fdisk -l 不能识别到刚添加的磁盘,就重启RAC节点(这一步应该不是必须的);

3. 识别到磁盘后,用fdisk /dev/sdf 来给磁盘分区,分区之后用mkfs.ext2或mkfs.ext4 来格式化分区;

4. 然后用udev来共享磁盘,在/etc/udev/rules.d/99-oracle-asmdevices.rules中添加新加磁盘的信息,result字段内容用/sbin/scsi_id -g -u -s /block/sdf 获得,添加完后,用/sbin/start_udev start重启udev,这样在/dev下面就会有新增的磁盘;

5. 然后在root下面用/etc/init.d/oracleasm create DISK_NAME candidate_disk 来新增共享盘;

6. 然后在RAC所有节点上扫描共享盘 /etc/init.d/oracleasm scandisks ,如果在RAC所有节点都能识别到共享盘,那说明共享OK;

7. 磁盘共享后,再就是在ASM实例下面添加ASM磁盘:

#su - grid

$export ORACLE_SID=+ASM1

$sqlplus "/ as sysasm"

然后可以通过v$asm_disk和v$asm_diskgroup两个视图查出现有的ASM Disk和ASM diskgroup:

添加前:SQL>select group_number,disk_number ,path from v$asm_disk;

GROUP_NUMBER DISK_NUMBER PATH

------------ ----------- ----------------------------------------

0
2 ORCL:ARC1


0 4 ORCL:OCR

3 0 /dev/raw/raw1

1
0 ORCL:ARC


2 0 ORCL:DATA

4 0 ORCL:REDOCTL

添加语句:$alter diskgroup DATA01 add disk 'ORCL:ARC1';

添加后:SQL> select group_number,disk_number ,path from v$asm_disk;

GROUP_NUMBER DISK_NUMBER PATH

------------ ----------- ----------------------------------------

0 4 ORCL:OCR

3 0 /dev/raw/raw1

1
0 ORCL:ARC

1 1 ORCL:ARC1


2 0 ORCL:DATA

4 0 ORCL:REDOCTL

$show parameter asm 注意看ASM_DISKSTRING参数有没有设置的 show parameter asm_power

$alter system set asm_power_limit=5; 提高平衡速率

$ALTER DISKGROUP DATA01 REBALANCE POWER 5; 平衡磁盘数据

select operation,est_minutes from v$asm_operation; 查看平衡需要的时间

select TOTAL_MB,FREE_MB,path from v$asm_disk_stat where GROUP_NUMBER=1 order by 3; 查看当前磁盘空间使用情况

ALTER DISKGROUP DATA01 REBALANCE POWER 1; 恢复到平衡速率为1

最后可以在asmcmd lsdg查看ASM Diskgroup容量是否增加。以上就是Linux上一个在线添加ASM磁盘的步骤。

最后附上其他操作系统上ASM磁盘添加的语法:

链接:http://wenku.baidu.com/link?url=2ZuzJsR8ZL_bQb_qHdjL0qXaE5LF-cm88V7TRZwTc7oFLfJbn9JVWKie2rOd6bWNC-0I
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: