ASM 命令整理






一. 查看ASM空间使用情况






1. lsdg: 查看磁盘组的信息,和磁盘空间大小






ASMCMD> lsdg



State    Type    Rebal  Block   AU       Total_MB  Free_MB  Usable_file_MB  Offline_disks  Voting_files  Name



MOUNTED  EXTERN  N       4096  1048576     5739     5339             5339             0            Y    DATA/



MOUNTED  EXTERN  N       4096  1048576     5739     3669             3669             0            N   DATADG01/









2. 查看磁盘组,(空间情况)






SQL> select name name2,state,type,free_mb,total_mb,usable_file_mb from v$asm_diskgroup;







NAME2               STATE    TYPEFREE_MB Total_MB  USABLE_FILE_MB



--------------- ----------- ---------------- ---------- -----------



DATAMOUNTED         EXTERN   5339       5,739



DATADG01MOUNTED     EXTERN   3669       5,739









3.查看及修改asm重新平衡粒度






SQL> show parameter power






NAME                   TYPE



----------------------------------------



asm_power_limit      integer









SQL> show parameter asm



 



NAME                        TYPE



------------------------------------ -------------



asm_diskgroups            string



asm_diskstring



asm_power_limit           integer



asm_preferred_read_failure_groups  string









4.查看asm实例操作变化(只记录结构变化操作)



select * from v$asm_operation;









注意:执行以下命令要用grid 用户 用sqlplus / as sysasm



$ export ORACLE_SID=+ASM1



$ sqlplus / as sysasm  






二、ASM磁盘组的创建删除挂载






1.asm磁盘组创建






asmca(11g),10g(dbca) 图形界面






sql>create diskgroup datadg01 external redundancy disk '/dev/raw/raw1';






2.asm 磁盘组删除



sql>drop diskgroup datadg01;






3.asm磁盘组添加磁盘



sql>alter diskgroup datadg01 add disk '/dev/raw/raw2';






4.asm磁盘组删除磁盘



sql>select name,path from v$asm_disk;查询到名称






NAME            PATH



-----------------------------



DATA_0000       /dev/raw/raw1



DATA_0001       /dev/raw/raw2



DATA_0002       /dev/raw/raw3



DATADG01_0000   /dev/raw/raw5



DATADG01_0001   /dev/raw/raw6



DATADG01_0002   /dev/raw/raw7






sql>alter diskgroup datadg drop disk 'DATADG01_0001'; --这里是磁盘名称,而不是'/dev/raw/raw1'






5.挂载






Sql>alter diskgroup datadg01 mount;



or



Sql>alter diskgroup all mount;






6.卸载



Sql>alter diskgroup datadg01  dismount;



or



Sql>alter diskgroup all dismount;






7.删除



Sql>drop diskgroup datadg01;



说明:删除磁盘组时,磁盘组必须被挂载(mount)












三. ASM磁盘组目录管理






1.asm磁盘组增加目录



SQL> alter diskgroup datadg01 add directory '+datadg01/datafile';






2.Asm磁盘组重命名目录



SQL> alter diskgroup datadg01 rename directory '+datadg01/datafile' to '+datadg01/datafile01';






3.Asm磁盘组增加多层目录,必须一层一层添加






--首先添加zw



SQL> alter diskgroup datadg01 add directory '+datadg01/zw/';






然后添加datafile



SQL> alter diskgroup datadg01 add directory '+datadg01/zw/datafile';






4.Asm磁盘组删除



SQL> alter diskgroup datadg01 drop directory '+datadg01/datafile';









四. ASM磁盘组文件管理






数据文件添加别名



sql>alter diskgroup datadg01 add alias '+datadg01/node/datafile/users.dbf' for '+datadg01/node/datafile/users.266.987885487';






重新命名别名



SQL> alter diskgroup datadg01 rename alias '+datadg01/node/datafile/users.dbf' to '+datadg01/node/datafile/users01.dbf';






查询别名



SQL> select name,group_number,file_number,alias_index,alias_directory,system_created from v$asm_alias where file_number=266;






删除别名



SQL> alter diskgroup datadg01 drop alias '+datadg01/node/datafile/users01.dbf'; 









五. ASM几个重要参数









asm_power_limit当加入磁盘后磁盘组的各个磁盘之间做均衡进程



asm_disktring  指定asm启动时候查找磁盘路径



Linux 自动搜索:/dev/raw/ 和/dev下的设备文件



aix 自动搜索:/dev/下设备文件



hp-ux:由于hp-ux下的磁盘路径在/dev/rdsk/下边,需要设置






磁盘组的重新平衡:当磁盘组中的磁盘发生变化时,磁盘组将自动进行重新平衡



平衡级别为0-11,当手工进行重新平衡时,可以指定平衡级别



可用的最高级别通过初始化参数asm_power_limit 指定






SQL>alter diskgroup datadg01 rebalance  power 3;



SQL>alter diskgroup datadg01 rebalance  power 3 wait ;









六.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文件的别名信息









七.添加数据文件






如果是数据库文件



sql>create tablespace test datafile'+datadg01' size 100M;






如果归档日志:



sql>alter system set log_archive_dest_1='location=+datadg01' scope=both;





八. ASMCMD的使用


ORACLE ASM常用命令整理_sql