export ORACLE_SID=+ASM
create diskgroup DATA external redundancy disk ‘ORCL:VOL1’
sqlplus /nolog
conn / as sysdba
startup pfile=initasm+.ora
创建ASM初始化参数文件initasm+.ora
INSTANCE_TYPE=ASM
ASM_POWER_LIMIT=3
ASM_DISKSTRING='ORCL:VOL*'
ASM_DISKGROUPS=DATA,RECOVERY,DGLOG1,DGLOG2
启动完之后,查看asm磁盘的状态
SQL> select group_number,name,state,type from v$asm_diskgroup;
查询asm实例状态
select instance_name,host_name,version,status from v$instance;
asmcmd指令
lsct 列出关于当前ASM客户端信息,也就是使用ASM实例管理文件的数据库信息
lsdg 列出所有磁盘组及其属性
添加磁盘组必须启动到nomount阶段
SQL> startup nomount;
SQL> create diskgroup DISKGROUP2 normal redundancy disk 'ORCL:VOL5','ORCL:VOL6';
查询创建好的磁盘组
SQL> select group_number,disk_number,path from v$asm_disk;
向磁盘组增加磁盘
alter diskgroup DISKGROUP2 add disk 'ORCL:VOL4';
删除磁盘
alter diskgroup DISKGROUP2 drop disk 'VOL6';
删除磁盘组
SQL> drop diskgroup DISKGROUP2 including contents;
让某个磁盘组挂载
SQL> alter diskgroup DATA mount;
卸载磁盘
SQL> alter diskgroup DATA dismount;
mount和dismount所有磁盘组
SQL> alter diskgroup all mount;
SQL> alter diskgroup all dismount;
SQL> alter diskgroup all dismount force;
修改参数ASM_POWER_LIMIT的值
SQL> alter diskgroup DATA add disk 'VOL3' rebanlance power 5;
ASM目录管理
创建目录
SQL> alter diskgroup DATA add directory '+DATA/mydatafile';
可以用asmcmd进行验证,创建目录的时候需要注意父目录必须存在。
修改目录名
SQL> alter diskgroup DATA rename directory '+data/mydatafile' to '+data/mydbfile'
删除目录
SQL> alter diskgroup DATA drop directory '+data/mydbfile' force;
添加别名
SQL> alter diskgroup DATA add alias '+DATA/mydatafile/myuser1.dbf' for '+data/myrac1/datafile/USERS.259.716341289';
修改别名
SQL> alter diskgroup DATA rename alias '+data/mydatafile/myuser1.dbf' to '+data/mydatafile/users.dbf';
删除别名
SQL> alter diskgroup DATA drop alias '+DATA/mydatafile/users.dbf';
删除文件
SQL> alter diskgroup DATA drop file '+data/mydatafile/users.dbf';
使用datafile模板创建一个表空间,默认在磁盘组DATA上创建表空间对应的数据文件,文件存储在+DATA/myrac1/datafile/目录下
SQL> create tablespace mytbs1 datafile;
使用onlinelog模板来创建日志组和日志文件
SQL> select group#,member,status,type from v$logfile;
SQL> alter database add logfile;