ASM的全称是 Automatic Storage Management,ASM 是为存放oracle 数据文件而设计的一个volume manager 和 文件系统 管理的技术。
ASM 支持oracle 单实例,也是RAC。
ASM存储结构:
每个ASM disk 被划分成多个AU(allocation units), 一个AU 是disk group 基本的分配单元。
一个file extent 由一个或者多个AU 单元组成,而一个ASM file 则由多个file extents组成。即 au->extents->asm file
ASM metadata:
ASM metadata的数据保存在disk group中,ASM 使用这些metadata 来控制disk group。 ASM metadata包含如下内容:
(1) disk group中有哪些disk
(2) disk group中的多少可用空间
(3) disk group 保存的文件名称
(4) disk group 中data file extents的位置
(5) Redo log record信息,其保存了metadata block的操作记录
(6) Oracle ADVM volume信息
Oracle ASM Files 说明
可以在ASM disk group中存储如下类型的文件:
(1) Control files
(2) Data files, temporary data files, and data file copies
(3) SPFILEs
(4) Online redo logs, archive logs, and Flashback logs
(5) RMAN backups
(6) Disaster recovery configurations
(7) Change tracking bitmaps
(8) Data Pump dumpsets
Oracle ASM 组件构成:
ASM 实例的架构和Database 实例类似,也是由SGA(System Global Area)和一些后台进程组成。 因为ASM 实例所做的工作要比database 实例少很多,所以ASM 实例需要的SGA 很小,对服务器性能的影响也很小。 ASM 实例只需要挂载disk groups,来保证groups上保存的ASM files对数据库实例可用。
ASM的优点:
1. REBALANCE
ASM 会把文件均衡的存放在所有的disk group中的disk上。 这种分配模式维护每个disk 使用相同的空间,同时也确保disk group中的每个disk 具有相同的I/O 负载。
我们可以在数据库使用的过程中,对某个disk group 添加或者删除disk, 在我们执行这些操作的时候,ASM 会自动的重新分部这些disk 上的内容,比如我们要删除一个disk,那么这个disk上的数据就需要转移到其他的disk上。这个过程也不需要停数据库。
2. 镜像冗余
ASM 的volume manager 功能提供了几种不同的镜像冗余。 目前对disk group 可以选择ASM Normal 和 high 冗余,Normal 对数据提供了2份镜像,High对数据提供了3份镜像。
3. OMF
ASM 使用了Oracle Managed Files (OMF)的特性来简化数据文件的管理。OMF 可以自动的在指定的目录创建文件.
Oracle ASM 条带化
粗粒度的条带化提供负载均衡功能(load balance),而细粒度的条带化能降低IO 延时.为了条带化,
ASM 把文件分离成strip,然后将strip data存放在disk group的所有disk上。
在任何配置下,细粒度的条带化的stripe size 总是等于128KB, 这样能降低在小IO 操作时的IO等待。
粗粒度的strip size 总是等于AU SIZE 大小,注意这里是AU SIZE 而不是extent size。