日期:2014-05-16  浏览次数:20387 次

深入了解Oracle ASM(一):基础概念

ASM基础概念

 

 

Automatic Storage Management是Oracle 在版本10g中率先(对比其他RDBMS)提出的数据库存储自动解决方案,在版本11g中得到进一步升华。ASM提供了数据库管理所需要的一个简单、有效的存储管理接口,该接口实现了跨服务器和存储平台。 ASM是文件系统filesystem和volume manager卷管理软件的一体化,专门为Oracle的数据库文件锁设计的; ASM在保证如文件系统般管理简单的基础上提供高性能的异步Async IO。ASM的引入提高了数据库的可扩展容量,同时节约了DBA的时间,使其能够更敏捷、更高效地管理一个流动性较大的数据库环境。

 

ASM的出现是为RDBMS管理文件存储

  • 注意ASM不会替代RDBMS去实施IO读写,很多对这一点存在误解,认为RDBMS发送IO request给ASM,ASM去做真正的IO操作,这是错误的。
  • 真正的IO还是由RDBMS进程去实施,和不用ASM的裸设备一样
  • 因此ASM不是IO的中间层,也就不存在因为ASM而出现所谓的IO瓶颈
  • 对于ASM而言LUN DISK可以是裸设备也可以直接是块设备(10.2.0.2以后)
  • 适合存放在ASM中的文件类型包括:数据文件datafile、控制文件controlfile、重做日志redolog、归档日志archivelog、闪回日志flashback log、spfile、RMAN备份以及block tracking file、datapump文件
  • 从11gR2开始,ASM引入了ACFS特性可以存放任何类型的文件; 但是ACFS不支持存放数据文件

 

ASM基础概念:

  • ASM的最小存储单位是一个”allocation unit”(AU),通常为1MB,在Exadata上推荐为4MB
  • ASM的核心是存储文件
  • 文件被划分为多个文件片,称之为”extent”
  • 11g之前extent的大小总是为一个AU,11g之后一个extent可以是1 or 8 or 64个AU
  • ASM使用file extent map维护文件extent的位置
  • ASM在LUN DISK的头部header维护其元数据,而非数据字典
  • 同时RDBMS DB会在shared pool中缓存file extent map,当server process处理IO时使用
  • 因为ASM insta