1、启动和关闭
root账户下执行:/etc/init.d/init.ohasd run
crs_start -all
crs_stop -all
查看实例的状态:crs_stat -t
2、相关的动态性能视图:
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文件的别名信息
3、查看数据文件
select * from v$datafile;
数据文件格式:
1)完全限定的名称:
+group/dbname/file type/tag.file.incarnation
group:磁盘组名;dbname是文件所属的数据库;file type是Oracle文件类型;
tag是文件类型特有的信息;file.incarnation对文件确保唯一性。
2)取别名:
alter diskgroup <diskgroup_name> add alias '<alias_name>' for '<asm_file>';
修改别名:
alter diskgroup <diskgroup_name> add alias '<old_alias_name>' to '<new_alias_name>';
删除别名
alter diskgroup <diskgroup_name> delete alias '<alias_name>';
使用别名删除数据文件
alter diskgroup <diskgroup_name> drop file '<alias_name>';
使用全名删除数据文件
alter diskgroup <diskgroup_name> drop file '<asm_file>';
查看别名信息
select * from v$asm_alias;
4、管理ASM磁盘组
创建新的diskgroup
CREATE DISKGROUP diskgroup_name
[ { HIGH | NORMAL | EXTERNAL } REDUNDANCY ]
[ FAILGROUP failgroup_name ]
DISK [ NAME disk_name ] [ SIZE size_clause ] [ FORCE | NOFORCE ] ...;
1)先创建磁盘,再分配磁盘组
/etc/init.d/oracleasm createdisk DATA4 /dev/sdc1
/etc/init.d/oracleasm createdisk DATA5 /dev/sdc2
/etc/init.d/oracleasm createdisk DATA6 /dev/sdc3
创建有两种方式:
2)使用SYSASM登陆:[不要使用SYSDBA登陆]
create diskgroup ASM1 normal redundancy
failgroup DATA4 disk '/dev/oracleasm/disks/DATA4' name DATA4
failgroup DATA5 disk '/dev/oracleasm/disks/DATA5' name DATA5;
[会报ORA-15014、ORA-15031且使用“alter system set asm_diskstring”无法修改,报ORA-15014]
或
create diskgroup ASM1 normal redundancy
failgroup DATA4 disk 'ORCL:DATA4' name DATA4
failgroup DATA5 disk 'ORCL:DATA5' name DATA5;--测试中使用了第二种方法。
删除diskgroup
drop diskgroup <diskgroup_name> [including contents] [force];
drop diskgroup ASM1 including contents;
手动mount命令
ALTER DISKGROUP ALL DISMOUNT;
ALTER DISKGROUP ALL MOUNT;
ALTER DISKGROUP <diskgroup_name> DISMOUNT;
ALTER DISKGROUP <diskgroup_name> MOUNT;
磁盘成员管理
为diskgroup增加disk
alter diskgroup DATA add disk '/dev/oracleasm/DATA4' name DATA4,'/dev/oracleasm/DATA5' name DATA5;
或
alter diskgroup DATA add disk 'ORCL:DATA4' name DATA4,'ORCL:DATA5' name DATA5; --相当于增加了failgroup
从diskgroup删除disk
alter diskgroup DATA drop disk DATA4; --删除之后,v$asm_disk中的state的状态是dropping,ASM后台会将DATA4中的信息挪到其他磁盘上,等到信息挪动完成之后,state字段会恢复正常。
取消删除disk的命令,只在上述命令没执行完成的时候有效
ALTER DISKGROUP DATA UNDROP DISKS;
为DATA的个故障组各添加一个成员
alter diskgroup DATA
add failgroup DATA1 disk 'ORCL:DATA4'
add failgroup DATA2 disk 'ORCL:DATA5';
5、Rebalance
手动Rebalance
alter diskgroup DATA rebalance power 3 wait;
为磁盘组增加目录
alter diskgroup DATA add directory '+DATA/datafile';
动态平衡:
alter diskgroup DATA add disk 'ORCL:DATA4' rebalance power 11;
6、asmcmd
通过asmcmd命令,可以访问ASM磁盘组中的内容。在grid用户中的~/.bash_profile中添加实例的相关信息就可以使用asmcmd命令。
查看asmcmd命令可以使用help,具体的用法可以参考help [command].asmcmd中的命令功能及用法与Linux中的命令相似。