一.创建/删除asm磁盘组:
1.在操作系统创建ASM磁盘
/etc/init.d/oracleasm create VOL4 /dev/sde1
2.在oralce里添加此块asm磁盘
 create diskgroup diskgroup_name
         <high|normal|external> redundancy
         failgroup failgroup_name disk 'disk_nmae' name asm_disk_name
                     ...
            ;
 说明:
        failgroup (故障组)的个数的限制:
          HIGH   ---------- failgroup >= 3
          NORMAL ---------- failgroup >= 2
          EXTERNAL -------- failgroup == 0  (不能指定故障组)

SQL>create diskgroup DATA2 external redundancy disk 'ORCL:VOL4';    --如果是创建external磁盘组,那么就无需指定故障组。
SQL>create diskgroup DATA2 normal redundnacy
 failgroup DATA2_FG_1 disk
 'ORCL:VOL4'
 failgroup DATA2_FG_2 disk
 'ORCL:VOL6'
 /                                                                                               --创建一个normal磁盘组,其中含有两个故障组。

3.删除磁盘组
SQL>drop diskgroup DATA2;    --删除的磁盘组必须挂载着

4.挂载/卸载磁盘组
SQL>alter disgroup DATA2 mount/dismount;

二.向ASM磁盘组中添加/删除磁盘:
 1、向指定的故障组加入磁盘
SQL>  alter diskgroup diskgroup_name
          add failgroup failgroup_name disk 'disk_name' name asm_disk_name [force];
 2、加入磁盘并新增一个故障组
SQL>alter diskgroup dgdata2
        add disk 'disk_name' name asm_disk_name;         --不指定故障组名,名称与name字段相同
SQL> alter diskgroup DATA1 add disk 'ORCL:VOL4';      --不指定故障组名和ASM磁盘名,其名称由系统统一指定。
3、删除磁盘
SQL> alter diskgroup DATA1 drop disk 'ORCL:VOL4';
4、故障组删除磁盘的同时加入新磁盘
SQL>alter diskgroup diskgroup_name
       drop disk 'asm_disk_name'
       add failgroup failgroup_name disk 'disk_name' name asm_disk_name [force];          --目的是减少重平衡的资源消耗。
说明:
1、增加磁盘时,如果不指定故障组名,则系统默认故障组名为name后的名字。如果没有指定name字段,则系统自动指定。
2、增删磁盘时,会发生重平衡操作
3、force表示从其他磁盘组强制拉出磁盘,并加入当前操作的磁盘组。(要求被拉磁盘组DISMOUNT)。
4、删除磁盘的同时的加入新磁盘,磁盘组只进行一次重平衡。如果在删除了磁盘后再进行新磁盘加入则需要两次重平衡。
 
三.查询ASM磁盘相关信息:
1.查看磁盘的信息:
SQL> select name, path from v$asm_disk;
2.查看磁盘组的信息
SQL>select name,path from v$asm_diskgroup;

四.在ASM磁盘上创建表空间:
SQL>create tablespace test datafile ‘+DATA1’ size 100m;
SQL>create tablespace test  datafile ‘+dgdata/info/test_01.dbf’ size 150m;     --别名命名

五.ASM别名管理
1、别名的添加:
      命令:
        alter diskgroup diskgroup_name 
        add alias alias_name for ‘asm_file’;   
SQL> alter diskgroup DATA1
        add alias ‘+dgdata1/salse.dbf’  for ‘+dgdata1/info/datafile/system.256.78684974’;
2.别名的删除
 命令:
       alter diskgroup diskgroup_name 
        drop  alias alias_name;   
SQL> alter diskgroup dgdata1 
        drop alias ‘+dgdata1/salse.dbf’ ;
3、查看别名:
    别名信息存放在视图v$asm_alias里.视图中 
SQL>select * from v$asm_alias

六.ASMCMD命令

asmcmd命令     是否只在11g中可用                 说 明
 
cd                                                   改变目录到指定目录
cp                         是                       在ASM磁盘组之间复制文件,既可以在相同实例中复制,也可以在远程实例中复制
du                                                   循环显示当前目录和所有子目录的总体磁盘利用率
exit                                                  终止asmcmd,并返回到操作系统外壳提示符
find                                                  从指定目录开始查找名称的所有匹配(也可以使用通配符)
help                                                 列出asmcmd命令
ls                                                    列出当前目录的内容
lsct                                                  列出当前ASM客户数据库的有关信息
lsdg                                                 列出所有磁盘组及其属性
lsdsk                       是                      列出此ASM实例可见的所有磁盘
md_backup              是                      为指定磁盘组创建元数据备份脚本
md_restore              是                      从备份恢复磁盘组
mkalias                                             为系统生成的ASM文件名创建一个别名
mkdir                                                创建一个ASM目录
pwd                                                  显示当前的ASM目录
remap                      是                     修理磁盘上遭到破坏或损坏的一系列物理块
rm                                                   删除ASM文件或目录
rmalias                                              删除一个ASM别名,但不删除此别名的目标