一、ASM磁盘和磁盘组管理
1、创建磁盘组
create diskgroup DG2 EXTERNAL REDUNDANCY DISK ‘ORCL:A1′;
Note:1)磁盘名称需要大写
2)磁盘名称使用V$asm_disk.path
2、磁盘组中添加磁盘
alter diskgroup dg2 add disk ‘ORCL:A2′;
Note:磁盘名称使用V$asm_disk.path
3、磁盘组中删除磁盘
alter diskgroup dg2 drop disk ‘a1′;
Note:磁盘名称使用的是V$asm_disk.name
4、删除磁盘组
drop diskgroup dg2 including contents;
二、ASM相关视图
1、查看是否有数据库实例连接上ASM实例
select instance_name,db_name,status from v$asm_client;
2、记录BALANCE操作
select operation,state,power,actual,sofar from v$asm_operation;
3、ASM DISK信息
select path, state, total_mb, free_mb from v$asm_disk;
4、ASM DISKGROUP信息
select name,state,type,total_mb,free_mb from v$asm_diskgroup;
三、ASM和表空间管理
1、ASM中创建表空间
create tablespace xff datafile ‘+DG2′ SIZE 100M;
2、ASM表空间中添加数据文件
alter tablespace xff add datafile ‘+dg2′ size 10m;
3、ASM表空间中删除数据文件
alter tablespace xff drop datafile ‘+DG2/xff/datafile/xff.257.747278679′;
或者
alter tablespace xff drop datafile 7;
4、删除表空间
drop tablespace xff including contents;
1、磁盘组卸载/挂载
--查看当前磁盘组状态
SQL>selectgroup_number,name,state,total_mb,free_mbfromv$asm_diskgroup;
GROUP_NUMBERNAME STATE TOTAL_MB FREE_MB
------------ -------------------- ---------------------- ---------- ----------
1 ARCHIVELOG MOUNTED 12637 12585
2 DATA MOUNTED 10228 7644
3 FLASHBACK MOUNTED 7836 7786
4 DG2 MOUNTED 5114 5012
--卸载dg2磁盘组
SQL>alterdiskgroup dg2 dismount;
Diskgroup altered.
SQL>selectgroup_number,name,state,total_mb,free_mbfromv$asm_diskgroup;
GROUP_NUMBERNAME STATE TOTAL_MB FREE_MB
------------ -------------------- ---------------------- ---------- ----------
1 ARCHIVELOG MOUNTED 12637 12585
2 DATA MOUNTED 10228 7644
3 FLASHBACK MOUNTED 7836 7786
0 DG2 DISMOUNTED 0 0
--挂载dg2磁盘组
SQL>alterdiskgroup dg2 mount;
Diskgroup altered.
SQL>selectgroup_number,name,state,total_mb,free_mbfromv$asm_diskgroup;
GROUP_NUMBERNAME STATE TOTAL_MB FREE_MB
------------ -------------------- ---------------------- ---------- ----------
1 ARCHIVELOG MOUNTED 12637 12585
2 DATA MOUNTED 10228 7644
3 FLASHBACK MOUNTED 7836 7786
4 DG2 MOUNTED 5114 5012
--卸载所有磁盘组
SQL>alterdiskgroup all dismount;
Diskgroup altered.
SQL>selectgroup_number,name,state,total_mb,free_mbfromv$asm_diskgroup;
GROUP_NUMBERNAME STATE TOTAL_MB FREE_MB
------------ -------------------- ---------------------- ---------- ----------
0 DATA DISMOUNTED 0 0
0 DG2 DISMOUNTED 0 0
0 FLASHBACK DISMOUNTED 0 0
0 ARCHIVELOG DISMOUNTED 0 0
--挂载所有磁盘组
SQL>alterdiskgroup all mount;
Diskgroup altered.
SQL>selectgroup_number,name,state,total_mb,free_mbfromv$asm_diskgroup;
GROUP_NUMBERNAME STATE TOTAL_MB FREE_MB
------------ -------------------- ---------------------- ---------- ----------
2 DATA MOUNTED 10228 7644
3 DG2 MOUNTED 5114 5012
4 FLASHBACK MOUNTED 7836 7786
1 ARCHIVELOG MOUNTED 12637 12585
--如果当前磁盘组有实例在访问,则不能被卸载
SQL>alterdiskgroup data dismount;
alterdiskgroup data dismount
*
ERRORatline 1:
ORA-15032:not all alterations performed
ORA-15027: active useofdiskgroup "DATA" precludes its dismount
2、磁盘组目录
--创建目录
SQL>alterdiskgroup dg2adddirectory '+DG2/CHENGFEI';
Diskgroup altered.
--使用asmcmd查看(export ORACLE_SID=+ASM;asmcmd进入)
ASMCMD> pwd
+DG2
ASMCMD> ls -l
Type Redund Striped Time Sys Name
N CHENGFEI/
--目录重命名
SQL>alterdiskgroup dg2 rename directory'+DG2/CHENGFEI'TO'+DG2/XIFENFEI';
Diskgroup altered.
ASMCMD> ls
XIFENFEI/
--删除目录
SQL>alterdiskgroup dg2dropdirectory '+DG2/xifenfei';
Diskgroup altered.
ASMCMD> ls
ASMCMD>
3、文件别名
--添加别名
SQL>alterdiskgroup dg2addalias '+dg2/XIFENFEI'for'+dg2/tasm/datafile/XFF.256.754832383';
Diskgroup altered.
--使用asmcmd查看别名是否成功
ASMCMD> pwd
+dg2
ASMCMD> ls -l
Type Redund Striped Time Sys Name
Y TASM/
N XIFENFEI => +DG2/TASM/DATAFILE/XFF.256.754832383
--别名重命名
SQL>alterdiskgroup dg2 rename alias'+DG2/XIFENFEI'TO'+DG2/FEIFEI.DBF';
Diskgroup altered.
N XIFENFEI => +DG2/TASM/DATAFILE/XFF.256.754832383
ASMCMD> ls -l
Type Redund Striped Time Sys Name
N FEIFEI.DBF => +DG2/TASM/DATAFILE/XFF.256.754832383
Y TASM/
--删除别名
SQL>alterdiskgroup dg2dropalias '+dg2/feifei.dbf';
Diskgroup altered.
ASMCMD> ls -l
Type Redund Striped Time Sys Name
Y TASM/
说明:
1)asmcmd命令行操作中,目录文件名不区分大小写,命令关键字区分大小写
2)磁盘组中的一个文件,最多只能建立一个别名可以通过v$asm_alias视图查看别名的相关信息