一、基本信息及概念
1、ASM是ORACLE公司的自动存储管理软件。它使用裸设备和ASM磁盘。在使用该软件之前需要安全相应平台的ASM库驱动程序。
2、ASM将多块磁盘组合起来形成一个磁盘组,磁盘组具有裸设备的读写性能和文件系统的管理性能,是集二者优点的存在。
3、ASM磁盘组由多块磁盘组成,每块磁盘由多个AU(allocate unit:分配单元)组成,每个AU大小为1MB。
4、ASM磁盘组实现了数据容错的功能,其包含三种冗余级别:
外部冗余(EXTERNAL REDUNDANCY) :同一个AU在ASM磁盘组里没有有副本
标准冗余(NORMAL REDUNDANCY) :同一个AU在ASM磁盘组里有一个副本
高冗余(HIGH REDUNDANCY):同一个AU在ASM磁盘组里有两个副本
5、ASM为了实现磁盘组的容错,提出了故障组(FAIL GROUP)的概念。且规定,同一个AU的副本永远不能放在同一个故障组里。
6、ASM磁盘组具有数据重平衡的功能。所谓重平衡的本质是:让组内所有磁盘数据均匀,以实现I/O负载的均衡。
重平衡的工作原理:
当加入一块磁盘时,ASM从磁盘组内已有的各块磁盘上读出部分AU写入到新加入的磁盘中。以实现各盘数据量均衡。
当删除一块磁盘时,ASM从即将删除的磁盘上读出所有的AU,然后平均写入到组内其它的磁盘上。以实现各盘数据量均衡。
二、实例
1、ASM实例和数据库实例一样,同样有自己的参数文件,它们的功能是相同的。
2、ASM实例只用两个状态:nomount、mount
3、ASM实例的启动和数据库的启动一样。 例如:startup nomount|mount
4、ASM实例的关闭和数据库的关闭一样。 例如:shutdown immediate|normal|transactional|abort
5、ASM实例的服务:
ASM实例有一个服务,名叫组服务(group service),它将ASM实例能管理的全部磁盘组注册到自己的管理信息表里。该表里包还磁盘组的名称以及如何访问磁盘组的信息。他的服务对象是数据库的前台进程ASMB.进程ASMB只有在数据库与ASM实例通信时才产生。
6、ASM实例的功能:用于维护ASM磁盘组。包括:磁盘组的创建,删除,修改。
7、ASM实例的操作:
$sqlplus /nolog
sql>connect / as sysdba #连接实例
sql>startup nomount #将实例启动到NOMOUNT状态,
sql>startup mount #将实例启动到MOUNT状态
sql>shutdown immediate #关闭实例
备注:如果ASM实例处于NOMOUNT状态,欲将其提升为MOUNT状态,则应使用如下命令:
alter diskgroup diskgroup_name mount;