1.查看現有磁盤組信息
select group_number gno,name,state,type,total_mb,free_mb,required_mirror_free_mb rmfmb,usable_file_mb ufmb from v$asm_diskgroup;
2.查看磁盤信息
select group_number gno,name,failgroup fgno,state,total_mb,free_mb,header_status from v$asm_disk;
方法二:
select name,path,state,mount_status,header_status from v$asm_disk;
ignored狀態也是不正常的。
closed表示磁盤未被當前實例使用,member表示這個磁盤已經是某個diskgroup的成員了
方法三:fdisk -l查看磁盤狀態
查看磁盤組列表
[root@racdb1 /]# oracleasm listdisks
ARCH1
ARCH2
ARCH3
DATA1
DATA2
DATA3
DATA4
OCR1
OCR2
OCR3
在節點2查看
[root@racdb2 /]# oracleasm scandisks
Reloading disk partitions: done
Cleaning any stale ASM disks...
Scanning system for ASM disks...
[root@racdb2 /]# oracleasm listdisks
[root@racdb2 /]#pwd
/dev/oracleasm/disk/
3.查看ASM磁盤路徑
select group_number,name,path,state from v$asm_disk;
紅色框中為新添加的磁盤,未分配的磁盤group為0,NAME為空
4.添加磁盤到磁盤組(+ASM實例中操作)
SQL> alter diskgroup ARCH add disk '/dev/oracleasm/disks/ARCH3';
Diskgroup altered.
補充:
SQL> alter diskgroup ARCH add disk '/dev/oracleasm/disks/ARCH3' rebalance power 10;
因為磁盤要做rebalance,最好在rebalance完后再使用磁盤組
select * from v$asm_operation;
查看磁盤組操作
SQL> select * from v$asm_operation;
5.查看磁盤狀態
select group_number,name,path,state from v$asm_disk
紅色部分自動分配了NAME,並制定了ARCH組對應的組號
6.磁盤組的創建和刪除
創建磁盤組
create diskgroup dg3 normal redundancy disk 'ORCL:VOL9','ORCL:VOL10';
刪除磁盤
SQL> alter diskgroup dg1 drop disk VOL9;
Diskgroup altered.
取消刪除
alter
diskgroup dg1 undrop disks;
調整大小
ALTER
DISKGROUP DG1 RESIZE DISK VOL4 SIZE
1024 M
7.unmount和mount磁盤組
SQL> alter diskgroup dg3 dismount;
Diskgroup altered.
SQL> select group_number gno,name,state,type,total_mb,free_mb,required_mirror_free_mb rmfmb,usable_file_mb ufmb from v$asm_diskgroup;
GNO NAME STATE TYPE TOTAL_MB FREE_MB RMFMB UFMB
---------- ------------------------------ ---------------------- ------------------------------ ---------- ---------- ---------- ----------
1 DG1 MOUNTED NORMAL 4076 575 879 -152
2 DG2 MOUNTED NORMAL 4076 3531 139 1696
0 DG3 DISMOUNTED
SQL> alter diskgroup dg3 mount;
Diskgroup altered.
8.查看磁盤組屬性
SELECT dg.name AS diskgroup,SUBSTR(a.name,1,18) AS name,
SUBSTR(a.value,1,24) AS value, read_only FROM V$ASM_DISKGROUP_STAT dg,V$ASM_ATTRIBUTE a
WHERE dg.group_number = a.group_number;
9.查看磁盤組兼容屬性
SQL> SELECT name,COMPATIBILITY,DATABASE_COMPATIBILITY FROM V$ASM_DISKGROUP_STAT;
10.查看磁盤客戶端信息
SQL> SELECT dg.name AS diskgroup,SUBSTR(c.instance_name,1,12) AS instance,
SUBSTR(c.db_name,1,12) AS dbname,SUBSTR(c.SOFTWARE_VERSION,1,12) AS software,
SUBSTR(c.COMPATIBLE_VERSION,1,12) AS compatible
FROM V$ASM_DISKGROUP_STAT dg, V$ASM_CLIENT c
WHERE dg.group_number = c.group_number;
11.查看磁盤訪問控制信息
SQL> SELECT dg.name AS diskgroup, u.group_number,u.user_number, u.os_id, u.os_name
FROM V$ASM_DISKGROUP_STAT dg, V$ASM_USER u
WHERE dg.group_number = u.group_number AND dg.name ='DATA';
12.查看磁盤訪問控制組信息
SQL> SELECT dg.name AS diskgroup, ug.group_number,ug.owner_number, u.os_name,
ug.usergroup_number, ug.name FROM V$ASM_DISKGROUP_STAT dg, V$ASM_USER u, V$ASM_USERGROUP ug
WHERE dg.group_number = ug.group_number AND dg.name ='DATA'
AND ug.owner_number = u.user_number;
13.查看數據分布信息
SQL> SELECT dg.name AS diskgroup, f.file_number, f.primary_region,f.mirror_region, f.hot_reads,f.hot_writes, f.cold_reads, f.cold_writes
FROM V$ASM_DISKGROUP_STAT dg, V$ASM_FILE f
WHERE dg.group_number = f.group_number and dg.name ='DATA';
14.ASM 磁盤的相關視圖
v$asm_disk(_stat) --查看磁盤及其狀態信息
v$asm_diskgroup(_stat) --查看磁盤組及其狀態信息
v$asm_operation --查看當前磁盤的操作信息
v$asm_client --返回當前連接的客戶端實例信息
v$asm_file --返回asm文件的相關信息
v$asm_template --返回asm文件樣本的相關信息
v$asm_alias --返回asm文件的別名信息