在一個已經運行一段時間的用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