ASM Concepts Quick Overview [ID 1086199.1]
|
|
|
Modified 26-AUG-2010Type BULLETINStatus PUBLISHED
|
|
In this Document
Purpose
Scope and Application
ASM Concepts Quick Overview
References
Applies to:
Oracle Server - Enterprise Edition - Version: 10.1.0.2 to 11.2.0.2 - Release: 10.1 to 11.2
Information in this document applies to any platform.
This note provides a quick overview of Oracle Automatic Storage Management (ASM) concepts and operations. This document can help clarify some key concepts that are not well understood by users - without requiring lengthy research.
This note is intended for architects, DBAs, and system administrators at an intermediate level of Oracle database knowledge.
ASM Concepts Quick Overview
The following points describe key concepts of ASM; for more information refer to the resources at the end of this note.
-
ASM exists to manage file storage for the RDBMS
- ASM does NOT perform I/O on behalf of the RDBMS
- I/O is performed by the RDBMS processes as it does with other storage types
- Thus, ASM is not an intermediary for I/O (would be a bottleneck)
- I/O can occur synchronously or asynchronously depending on the value of the DISK_ASYNCH_IO parameter
- Disks are RAW devices to ASM
- Files that can be stored in ASM: typical database data files, control files, redologs, archivelogs, flashback logs, spfiles,
RMAN backups and incremental tracking bitmaps, datapump dumpsets.
- In 11gR2, ASM has been extended to allow storing any kind of file using Oracle ACFS capability (it appears as another filesystem to clients). Note that database files are not supported within ACFS
-
ASM Basics
- The smallest unit of storage written to disk is called an "allocation unit" (AU) and is usually 1MB (4MB recommended for Exadata)
- Very simply, ASM is organized around storing files
- Files are divided into pieces called "extents"
- Extent sizes are typically equal to 1 AU, except in 11g where it will use variable extent sizes that can be 1, 8, or 64 AUs
- File extent locations are maintained by ASM using file extent maps.
- ASM maintains filemetadata in headers on the disks rather than in a data dictionary
- The file extent maps are cached in the RDBMS shared pool; these are consulted when an RDBMS process does I/O
- ASM is very crash resilient since it uses instance / crash recovery similar to a normal RDBMS (similar to using undo and redo logging)
-
Storage is organized into "diskgroups" (DGs)
- A DG has a name like "DATA" in ASM which is visible to the RDBMS as a file begining with "+DATA"; when tablespaces are created, they refer to a DG for storage such as "+DATA/.../..."
- Beneath a diskgroup are one or more failure groups (FGs)
- FGs are defined over a set of "disks"
- "Disks" can be based on raw physical volumes, a disk partition, a LUN presenting a disk array, or even an LVM or NAS device
- FGs should have disks defined that have a common failure component, otherwise ASM redundancy will not be effective
-
High availability
- ASM can perform mirroring to recover from device failures
- You have a choice of EXTERNAL, NORMAL, OR HIGH redundancy mirroring
EXTERNAL means allow the underlying physical disk array do the mirroring
NORMAL means ASM will create one additional copy of an extent for redundancy
HIGH means ASM will create two additional copies of an extentfor redundancy
- Mirroring is implemented via "failure groups" and extent partnering; ASM can tolerate the complete loss of all disks in a failure group when NORMAL or HIGH redundancy is implemented
-
FG mirroring implementation
- Mirroring is not implemented like RAID 1 arrays (where a disk is partnered with another disk)
- Mirroring occurs at the file extent level and these extents are distributed among several disks known as "partners"
- Partner disks will reside in one or more separate failure groups (otherwise mirror copies would be vulnerable)
- ASM automatically choses partners and limits the number of them to less than 10 (varies by RDBMS version)in order to contain the overall impact of multiple disk failures
-
If a disk fails, then ASM updates its extent mapping such that reads will now occur on the surviving partners
- This is one example when ASM and the RDBMS communicate with each other
- The failed disk is offlined
-
In 11g, while the disk is offline, any changes to files are tracked so that those changes can be reapplied if the disk is brought online within a period of time (3.6 hours by default value of DISK_REPAIR_TIME). This could happen in cases of a bad controller or similar problem rather than the failure of the disk itself
- The tracking occurs via a bitmap of changed file extents; the bitmaps tell ASM which extents need to be copied back to the repaired disk from the partner
- This is called "fast mirror resync"
- In 10g, the disk is offlined and dropped - there is no repair time grace period before dropping.
- If the disk cannot be onlined, it must be dropped. A new disk will be installed and ASM will copy the data back via a "rebalancing" operation. This happens automatically in the background
-
Rebalancing
- "Rebalancing" is the process of moving file extents onto or off ofdisks for the purpose of evenly distributing the I/O load of the diskgroup
- It occurs asynchronously in the background and can be monitored
- In a clustered environment, rebalancing for a disk group is done within a single ASM instance only and cannot be distributed across multiple cluster node to speed it up
- ASM will automatically rebalance data on disks when disks are added or removed
- The speed and effort placed on rebalancing can be controlled via a POWER LIMIT setting
- POWER LIMIT controls the number of background processes involved in the rebalancing effort and is limited to 11. Level 0 means no rebalancing will occur
- I/O performance is impacted during rebalancing, but the amount of impact varies on which disks are being rebalanced and how much they are part of the I/O workload. The default power limit was chosen so as not to impact application performance
-
Performance
- ASM will maximize the available bandwidth of disks by striping file extents across all disks in a DG
- Two stripe widths are available: coarse which has a stripe size of 1 AU, and fine with stripe size of 128K
- Fine striping still uses normally-sized file extents, but the striping occurs in small pieces across these extents in a round-robin fashion
- ASM does not read from alternating mirror copies since disks contain primary and mirror extents and I/O is already balanced
- By default the RDBMS will read from a primary extent; in 11.1 this can be changed via the PREFERRED_READ_FAILURE_GROUP parameter setting for cases where reading extents from a local node results in lower latency. Note: This is a special case applicable to"stretch clusters"and not applicable in the general usage of ASM
-
Miscellaneous
- ASM can work for RAC and non-RAC databases
- One ASM instance on a nodewill serviceany number ofinstances on that node
- If using ASM for RAC, ASM must also be clustered to allow instances to update each other when file mapping changes occur
- In 11.2 onwards, ASM is installed in a grid home along with the clusterwareas opposed to an RDBMS home in prior versions.
NOTE:751463.1 - ASM Inherently Performs Asynchronous I/O Regardless of filesystemio_options Parameter
Oracle Press book, Oracle Automatic Storage Management, by Nitin Vengurlekar, Murali Valleth, and Rich Long.
Documentation: Oracle Database Storage Administrator's Guide
NOTE:265633.1 - ASM Technical Best Practices
-------------------------------------------------------------------------------------------------------
Blog: http://blog.csdn.net/tianlesoftware
Email: dvd.dba@gmail.com
DBA1 群:62697716(满); DBA2 群:62697977(满) DBA3 群:62697850(满)
DBA 超级群:63306533(满); DBA4 群: 83829929 DBA5群: 142216823
聊天 群:40132017 聊天2群:69087192
--加群需要在备注说明Oracle表空间和数据文件的关系,否则拒绝申请
分享到:
相关推荐
1. **ASM不参与I/O操作**:ASM并不直接进行数据库进程的I/O操作。数据库进程,如数据写入和读取,依旧由RDBMS(关系数据库管理系统)自身处理。因此,ASM不会成为I/O的瓶颈,而是作为一个后台服务,负责管理和分配...
asm-1.3.3.jar, ...asm-3.0_RC1.jar, asm-3.1-osgi.jar, asm-3.1.jar, asm-3.2-sources.jar, asm-3.2.jar, asm-3.3.1.jar, asm-3.3.jar, asm-4.0_RC1.jar, asm-5.0.3.jar, asm-5.1.0-M5.jar, asm-util-2.2.2.jar
oracleasm-2.6.18-194.32.1.el5-2.0.5-1.el5.x86_64.rpm
asm-util-1.3.4.jar, asm-util-1.3.5.jar, asm-util-1.4.1.jar, ...asm-util-3.0_RC1.jar, asm-util-3.1.jar, asm-util-3.2.jar, asm-util-3.3.1.jar, asm-util-3.3.jar, asm-util-4.0_RC1.jar, asm-util.jar
asm字节码jar包,仅需要一个就可以。具体使用,可以参考http://blog.csdn.net/gaoshan12345678910/article/details/78131784
org.springframework.asm-sources-3.0.5.release.jar
【标题】"cglib-2.2.jar asm-tree.jar asm-commons.jar asm.jar" 提供的是一组用于Java编程的库,它们主要用于实现动态代理和字节码操作。 【描述】"cglib动态代理模式jar包 cglib-2.2.jar asm-tree.jar asm-...
asm-all-5.2.jar asm-all-5.2.jar asm-all-5.2.jar asm-all-5.2.jar asm-all-5.2.jar asm-all-5.2.jar asm-all-5.2.jar asm-all-5.2.jar asm-all-5.2.jar asm-all-5.2.jar asm-all-5.2.jar asm-all-5.2.jar asm-all-...
kmod-oracleasm-2.0.8-8.el7.x86_64.rpm oracleasm-centos7安装包
西南科技大学微机原理实验四(定时器程序设计)任务一与任务二asm源文件附带LIB_TIM.OBJ文件西南科技大学微机原理实验四(定时器程序设计)任务一与任务二asm源文件附带LIB_TIM.OBJ文件西南科技大学微机原理实验四...
标题中的"asm-3.0_RC1.jar.zip"是一个压缩包文件,主要包含ASM库的3.0_RC1版本的JAR(Java Archive)文件。ASM是一个Java字节码操控和分析框架,常用于动态代理、代码分析以及字节码级别的程序修改。ASM库为开发者...
1. asm-all-4.0.jar:这是ASM库的全部组件的集合,版本为4.0,用户可以直接将其引入到Java项目中使用,以访问ASM的所有功能。 2. asm-2.2.1.jar.license.txt:这看起来是ASM库2.2.1版本的许可证文件,通常包含关于...
1. "asm-2.2.1-sources.jar" - 这是ASM库的源代码,包含了所有类的.java文件,可供开发者阅读和研究。 2. "asm-2.2.1.jar.license.txt" - 这个文件通常包含软件的许可协议,告知用户如何合法地使用ASM库。遵守这些...
1. **代码高亮**:通过asm.acp,汇编语言的关键字、指令、常量等将以不同的颜色显示,帮助快速定位和理解代码。 2. **代码折叠**:asm.stx使得代码块可以折叠,方便查看和管理复杂代码结构。 3. **自动完成**:根据...
资源包含asm-all-3.0.jar等jar包,可以解决程序中因asm版本引起的兼容性错误。其他相关的jar如下: asm-all-3.0.jar asm-2.2.3.jar asm.jar asm-attrs.jar asm-commons-2.2.3.jar asm-util-2.2.3.jar
1. 动态代理:Spring AOP利用ASM生成代理类,实现对目标对象的方法拦截。当一个类需要被代理时,Spring会使用ASM生成一个该类的子类,然后在这个子类中加入拦截逻辑,这样就实现了方法的动态代理。 2. CGLIB(Code ...
rg.springframework.asm-3.0.1.RELEASE-A.jar
oracleasm-2.6.18-128.1.1.el5-2.0.5-1.el5.x86_64.rpm oracleasm-2.6.18-128.1.10.el5-2.0.5-1.el5.x86_64.rpm oracleasm-2.6.18-128.1.14.el5-2.0.5-1.el5.x86_64.rpm oracleasm-2.6.18-128.1.16.el5-2.0.5-1.el5....
Win32ASM Tutorial Resource Kit v1.00.7z Win32ASM Tutorial Resource Kit v1.00.7z Win32ASM Tutorial Resource Kit v1.00.7z
xbean-asm5-shaded-4.4.jar