1.ASM相关命令
查询ASM磁盘组的状态
srvctl status asm
启动ASM
srvctl start asm
关闭ASM
srvctl stop asm
2.概念
磁盘组是指一组磁盘,Oracle通过ASM技术将多个磁盘组织在一起,使他们作为一个整体向数据库提供存储空间。数据库运行时,数据将平均分布在磁盘组的各个磁盘上,这就是条带功能。
3.创建/删除磁盘组
我们可以通过asmca、命令行、EM来创建磁盘组。
我们演示asmca删除磁盘组/磁盘。
Drop Disks:删除磁盘组中的磁盘,之后可以具体选择删除哪块磁盘。
Drop:删除整个磁盘组,点击前确认,不可逆。
我们演示asmca添加磁盘组。
点击show advanced options,可以查看高级选项:
创建完成后,就自动是挂载mount状态:
图形化界面可以挂载/卸载(本地/所有节点的磁盘组),如下操作:
我们演示命令行添加磁盘组:【不推荐命令行方式】
create diskgroup ARCH(磁盘组名字) external redundancy disk '/dev/asmdisk2' attribute 'compatible.asm'='11.2' ;
注意:在1节点通过命令创建asm磁盘组,在1节点会自动挂载mount,但是查看2节点该磁盘组是不挂载的,需要手动挂载mount。
在2节点挂载mount新创建的磁盘组:
alter diskgroup ARCH mount;
在1,2节点上,各查询挂载情况:
select group_number , name,allocation_unit_size,state,type,total_mb,usable_file_mb,voting_files from v$asm_diskgroup;
我们演示命令行删除磁盘组:【不推荐命令行方式】
在删除磁盘组前,需要把其他节点的该磁盘组卸载掉,不然报错。图形化界面是自动先卸载,后drop,不用多考虑。
alter diskgroup ARCH dismount force;
在其他节点卸载磁盘组!(比如我在节点1 drop ARCH,那么就先在节点2dismount ARCH)
drop diskgroup ARCH;
或者 drop diskgroup ARCH including contents;
如果磁盘组中有文件,要加including contents
4.查看磁盘组/磁盘的信息
查看磁盘组(v$asm_diskgroup)状态:
select group_number , name,allocation_unit_size,state,type,total_mb,usable_file_mb,voting_files from v$asm_diskgroup;
如果在sql中,把vasmdiskgroup;改为gvasm_diskgroup; 改为gvasmdiskgroup;改为gvasm_diskgroup ,那就是查询集群中所有实例的状态。
查看磁盘(v$asm_disk)状态:
select group_number,disk_number,mode_status,header_status,state,total_mb,free_mb,name,path from v$asm_disk;