Oracle ASM

Oracle ASM是10g之后引入的专为数据库文件管理的存储系统,简化了DBA的管理工作,如I/O优化、文件管理和逻辑卷管理。ASM实例负责元数据管理,而非执行I/O操作,它与RDBMS实例协同工作,通过CSS进行交互。ASM磁盘组由多个磁盘组成,支持不同冗余级别,如外部、正常和高冗余。ASM文件由分配单元(AU)组成,每个文件有唯一的系统生成名称,可存放多种数据库文件类型。ASM实例包含特定的内存结构和进程,如RBAL、ARBn等,用于存储管理和平衡。通过ASM参数如ASM_POWER_LIMIT和ASM_DISKSTRING进行配置。数据库实例与ASM实例通过CSS交互,创建文件时,ASM分配AU,RDBMS初始化文件。ASM通过rebalance在磁盘间平衡数据,条带化技术用于I/O负载均衡和等待时间优化。
摘要由CSDN通过智能技术生成

(一)ASM概述

        提到Oracle ASM,相信大家都有熟悉又陌生的感觉,熟悉在于目前11g ARC数据库基本都使用ASM,陌生在于平时只是基本的使用,对ASM了解并不全面。例如数据库实例是如何与ASM交互与分工的、ASM存在哪些特性、数据库各种文件是怎样存放于ASM存储中、他的元数据是怎么存放的。

        Oracle 10g之前,存储设备的使用情况:UNIX/Linux操作系统上安装逻辑卷管理器(LVM),通过LVM将多个磁盘做成卷组,在卷组上划分逻辑卷(logical volume),然后在逻辑卷上创建文件系统,RAC环境下需要第三方共享集群软件。Oracle 10g之后引入的专用文件系统ASM,为数据库文件的管理提供了很好的支持。DBA能够完全在Oracle框架内执行许多任务,利用ASM来将一组磁盘转换成一个可伸缩的和高性能的文件系统/卷管理器。ASM磁盘组提供了直接作为原始设备来访问这个空间,并提供文件系统的便利性和灵活性。

        ASM对DBA有许多好处,使用ASM可以避免:

  •  I/O性能优化
  •  数据文件移动和重新组织
  • 文件名管理
  • 逻辑卷管理
  • 文件系统管理
  • 集群文件系统管理
  • 裸设备管理

使用ASM可以显著减少:

  • 逻辑单元号(LUN)管理,逻辑单元数量较少,大小较大
  • 数据库管理员对系统管理员的依赖性
  • 手动执行任务时可能发生的错误

(二)RAC环境下的ASM结构

        RAC环境下的ASM结构如图:


                                                             图1. RAC环境下的ASM结构

ASM的出现是为RDBMS管理文件存储,ASM中适合存放的文件类型包括:数据文件(data file)、控制文件(control file)、重做日志文件(redo log file)、归档日志文件(archive log file)、闪回日志文件(flashback log file)、参数文件(spfile)、RMAN备份以及block tracking file、datapump文件。

ASM不会代替RDBMS去实施I/O读写,很多人对这一点存在误解,认为RDBMS发送I/O请求给ASM,ASM去执行I/O,这样的想法是错误的。ASM只负责将存储空间地址返回给RDBMS,真正的I/O还是会由RDBMS进程去完成,和不用ASM的裸设备一样,因此ASM不是I/O的中间层,也就不存在因为ASM而出现I/O瓶颈。

(三)ASM实例

        ASM实例的主要任务之一就是管理ASM metadata元数据。ASM instance在10.2中使用与RDBMS一样的二进制软件,到11.2中分开独立实例,它类似于ORACLE RDBMS INSTANCE,有其SGA和大多数后台进程。

ASM Instance结构如下图:

  

                                                          图2.ASM Instance结构图

(1)ASM Instance中的内存结构主要包括4个部分:

  • Share Pool:用于元数据信息
  • Large Pool:用于并行操作ASM

       SQL> show parameter large_pool_size

       NAME                            TYPE         VALUE

       ------------------------------- -----------  ------------------------------

       large_pool_size                 big integer  12M

  • ASM高速缓存:用于重新平衡操作期间读取和写入块
  • Free Memory:可用的未分配内存

(2)ASM的主要进程:

  • RBAL:在搜索过程中打开所有设备文件并协调重新平衡活动
  • ARBn:一个或多个从属过程,用于执行重新平衡活动
  • GMON:负责管理磁盘活动,例如删除或脱机以及提高ASM磁盘兼容性
  • MARK:根据需要将ASM分配单元标记为过时

此外,ASM Instance还有一下进程:

  • ARCn:归档进程
  • CKPT:检查点进程
  • DBWn:数据库写进程
  • DIAG:诊断进程
  • Jnnn:作业队列进程
  • LGWR:日志写进程,ASM实例的SGA不包含log buffer,该实例
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值