阿里云ORACLE RAC共享磁盘组ASM扩容实战笔记
阿里云ORACLE RAC共享磁盤(pán)組ASM擴(kuò)容實(shí)戰(zhàn)筆記
一、問(wèn)題需求
某項(xiàng)目一套R(shí)AC共享ASM磁盤(pán)組空間不足,導(dǎo)致無(wú)法完成歸檔,數(shù)據(jù)庫(kù)無(wú)法正常使用 。下面分享一下其過(guò)程。

二、過(guò)程
2.1 新購(gòu)共享塊存儲(chǔ)并掛載
1 、阿里云上新購(gòu)共享塊存儲(chǔ)并掛載到兩rac節(jié)點(diǎn)上

2、登陸到兩rac節(jié)點(diǎn)查看是否掛載成功
用如下命令查看磁盤(pán)是否成功掛載到rac節(jié)點(diǎn)
fdisk -l2.2 新建ASM磁盤(pán)
1 、對(duì)新磁盤(pán)進(jìn)行分區(qū)操作
[root@stage ~]# fdisk /dev/sdeDevice contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabelBuilding a new DOS disklabel with disk identifier 0x185ef87e.Changes will remain in memory only, until you decide to write them.After that, of course, the previous content won't be recoverable. Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite) WARNING: DOS-compatible mode is deprecated. It's strongly recommended to switch off the mode (command 'c') and change display units to sectors (command 'u'). Command (m for help): nCommand action e extended p primary partition (1-4)pPartition number (1-4): 1First cylinder (1-8192, default 1):Using default value 1Last cylinder, +cylinders or +size{ K,M,G} (1-8192, default 8192):Using default value 8192 Command (m for help): wThe partition table has been altered! Calling ioctl() to re-read partition table.Syncing disks. [root@stage ~]# partprobe /dev/sde [root@stage ~]# fdisk -lDisk /dev/sdc: 1073 MB, 1073741824 bytes34 heads, 61 sectors/track, 1011 cylindersUnits = cylinders of 2074 * 512 = 1061888 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk identifier: 0x6dab55b0 Device Boot Start End Blocks Id System/dev/sdc1 1 1011 1048376+ 83 Linux Disk /dev/sdd: 6442 MB, 6442450944 bytes199 heads, 62 sectors/track, 1019 cylindersUnits = cylinders of 12338 * 512 = 6317056 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk identifier: 0x9904376c Device Boot Start End Blocks Id System/dev/sdd1 1 1019 6286180 83 Linux Disk /dev/mapper/VolGroup00-root: 24.2 GB, 24201134080 bytes255 heads, 63 sectors/track, 2942 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk identifier: 0x00000000 Disk /dev/mapper/VolGroup00-swap: 2113 MB, 2113929216 bytes255 heads, 63 sectors/track, 257 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk identifier: 0x00000000 Disk /dev/sde: 8589 MB, 8589934592 bytes64 heads, 32 sectors/track, 8192 cylindersUnits = cylinders of 2048 * 512 = 1048576 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk identifier: 0x185ef87e Device Boot Start End Blocks Id System/dev/sde1 1 8192 8388592 83 Linux2 、查詢(xún)磁盤(pán)組的資源使用情況
通常我們關(guān)注FREE_MB字段
SQL>SELECT GROUP_NUMBER,NAME,SECTOR_SIZE,BLOCK_SIZE,ALLOCATION_UNIT_SIZE,STATE,TYPE TOTAL_MB,FREE_MB FROM V$ASM_DISKGROUP;
3、創(chuàng)建asm磁盤(pán)
[root@oracle1 ~]# /etc/init.d/oracleasm createdisk DATA_0001 /dev/sde1Marking disk "DATA_0001" as an ASM disk: [ OK ][root@oracle1 ~]# /usr/sbin/oracleasm listdisks #查看asm的磁盤(pán)的創(chuàng)建情況[root@oracle1 ~]# /usr/sbin/oracleasm scandisks #一個(gè)節(jié)點(diǎn)創(chuàng)建磁盤(pán)后 ,另一個(gè)節(jié)點(diǎn)掃描磁盤(pán)即可[grid@stageoem1 ~]$ asmcmd -pASMCMD [+] >lsdskPathORCL:DATA_0000ORCL:DATA_0001ORCL:INDX_0000ASMCMD [+] >4、查詢(xún)已新創(chuàng)建的ASM磁盤(pán)信息
SQL>SELECT NVL(a.name, '[CANDIDATE]') disk_group_name , b.path disk_file_path , b.name disk_file_name , b.failgroup disk_file_fail_groupFROM v$asm_diskgroup a RIGHT OUTER JOIN v$asm_disk b USING (group_number)ORDER BY a.name;
5 、添加asm disk到asm磁盤(pán)組 DATA (you need to login as sysasm not sysdba)
SQL>ALTER DISKGROUP DATA ADD DISK 'ORCL:DATA_0001';Diskgroup altered.SQL>SELECT NVL(a.name, '[CANDIDATE]') disk_group_name , b.path disk_file_path , b.name disk_file_name , b.failgroup disk_file_fail_groupFROM v$asm_diskgroup a RIGHT OUTER JOIN v$asm_disk b USING (group_number)ORDER BY a.name;
2.3 結(jié)果驗(yàn)證
1、驗(yàn)證asm磁盤(pán)組
SQL>SELECT GROUP_NUMBER,NAME,SECTOR_SIZE,BLOCK_SIZE,ALLOCATION_UNIT_SIZE,STATE,TYPE TOTAL_MB,FREE_MB FROM V$ASM_DISKGROUP;
2、驗(yàn)證asm磁盤(pán)
SQL>SELECT MOUNT_STATUS,HEADER_STATUS,MODE_STATUS,STATE,TOTAL_MB,FREE_MB,NAME,PATH,LABEL FROM V$ASM_DISK;