ORACLE ASM常用命令整理
转至:https://blog.csdn.net/zhengwei125/article/details/51671525
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 5339 DATADG01MOUNTED EXTERN 3669 5,739 3669 3.查看及修改asm重新平衡粒度 SQL> show parameter power NAME TYPE VALUE ---------------------------------------- asm_power_limit integer 4 SQL> show parameter asm NAME TYPE VALUE ------------------------------------ ------------- asm_diskgroups string DATADG01 asm_diskstring string asm_power_limit integer 4 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的使用