ITPub博客

首页 > 数据库 > Oracle > 关于ASM实例的相关概念

关于ASM实例的相关概念

Oracle 作者:sky19520793 时间:2014-02-28 10:33:00 0 删除 编辑

N多ASM文档七拼八凑组成了这一篇介绍

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

先来张架构图

关于ASM实例的相关概念

 

文档一

1.ASM的作用

automated storage management,自动存储管理,是10g后 oracle在存储方面添加的一个新的很实用的功能。

 

2.“oracle实例管理的是数据库,而asm实例只是管理asm盘阵。”这个管理ASM磁盘是什么意思?ASM磁盘和RAID有什么关系?

 

asm是介于raw devices和file system管理数据文件或者其他相关文件的中间方案。ASM实例提供Oracle数据库自己管理磁盘的功能,而不需要通过fs去管理数据文件等相关文件。 ASM提供了条带化,镜像化的功能。如果你没有RAID的设备或者方案,可以通过ASM的管理,在ASM实现这样的功能,在10g里 ASM仅在数据库里使用,11gR2里ASM得到了升华 提供了ACFS 文件系统,可以mount到os里进行使用。

 

3.“ASM不包含任何物理文件。”“RAC节点无论有多少个实例只需要一个ASM实例。”ASM实例是仅仅作为管理文件而存在的?

 

ASM不是普通的文件系统(fs),所以当然就没有文件。不过ASM提供了asmcmd这个shell环境,可以再这个shell里执行类似fs里的命令,来查看asm里文件。在11gR2以后 ACFS提供了系统基本的支持,可以mount后,进行操作。

对于单个RAC节点来说,ASM实例一个就可以了,ASM实例的工作其实提供的是对ASM本身的一些功能,和其他rdbms实例无关。当然也就是最好所说的ASM实例是仅仅作为管理文件而存在的。

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

 

1.ASM实例与RDBMS实例完全不是一回事。

2.ASM只用于管理存储,当没有RAID设备或者方案时,ASM可以实现这种功能。

 

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

文档二

1.什么是ASM(Auto Storage Management)

简称自动存储管理,是一种用于管理磁盘的工具

能够在多个物理设备之间实现条带化、镜像数据文件、恢复文件等

 

2.ASM的优点

磁盘增加:增加磁盘变得非常容易。无需停机时间,并且文件区域自动重新分配。

I/O 分配:I/O 自动分布在所有可用的磁盘上,无需人工干预,从而减少了热点出现的可能性。

带区宽度:在重做日志文件中分段可以细分(K,以获得更快的传输速率),对于数据文件,带区则略大一些(MB,以一次性传输大量的数据块)。

缓冲:ASM 文件系统不进行缓冲,直接进行输入/输出。

镜像:如果硬件镜像不可用,则可以容易地建立软件镜像。

核心化的异步I/O :实现核心化的异步I/O 无需特殊的设置,并且无需使用原始或第三方的文件系统(如 Veritas Quick I/O)

 

3.Oracle 常用数据文件的RAID级别

SYSTEM、UNDO表空间通常置于RAID 1卷上

联机重做日志通常置于RAID 0卷上

控制文件通常置于RAID 0+1 卷上

数据文件通常置于RAID 5卷上

 

4.ASM体系结构(主要由ASM实例及ASM磁盘组组成)

ASM的使用需要创建一个ASM实例,用于管理ASM磁盘组

ASM磁盘组由ASM磁盘组成,可以包含一个或多个ASM磁盘

ASM磁盘可以是实际的磁盘,也可以是磁盘的某个分区,或LVM管理的逻辑卷,但必须是未格式化的原始设备

ASM磁盘组的大小为该组内ASM磁盘大小的总和,可使用的容量则根据容错级别而有不同的可用大小

 

5.ASM实例及RDBMS实例

ASM实例类似于普通的数据库实例(RDBMS),同样由SGA和一堆后台进程组成,对大多数系统而言,SGA只需64 MB即可

ASM实例中的LargePool 用于存放Extent Map,可以根据数据库的大小来计算LargePool的大小,通常100GB大小需要1MB存放Extent Map

普通的RDBMS实例会定位数据文件并打开其数据文件,而在使用ASM存储的数据库中,该工作由ASM实例接管,即ASM实例用于定位和管理ASM磁盘,磁盘组。

ASM实例拥有类似于普通RDBMS实例的后台进程,如SMON,PMON,LGWR,DBWR,CKPT等,还增添了两个新进程,一类是RBAL,一类是ARBn

RBAL:用于协调和管理磁盘组之间的动态平衡

ARBn:可以为多个,用于完成AU的移动

ASM实例仅仅是定位管理ASM磁盘,不能加载或打开数据库,因此也无法读取数据字典信息

ASM实例通常有个参数,只能使用口令文件或操作系统身份验证作为sysdba或sysoper来启动或关闭该实例。

关于sysdba或sysoper区别请参考:system sys,sysoper sysdba 的区别

一个ASM实例可以为多个RDBMS提供服务,可以在一台主机上创建多个ASM实例,但通常一台主机上使用一个ASM实例

如果一个实例服务于多个RDBMS,建议将ASM的ASM_HOME与DB的ORACLE_HOME分开,便于日后的升级与维护

ASM磁盘组的创建与配置在ASM实例启动之后

使用ASM磁盘的RDBMS实例与普通的RDBMS实例相同,但多出了两个后台进程,RBAL,ASMB。

ASMB借助某个服务器进程如oracle+ASM1建立普通RDBMS实例到ASM实例的会话,并传递磁盘文件的相关信息

RBAL打开通过ASM实例定位的ASM磁盘

注意:ASM 实例并不代替RDBMS实例来读取或写入数据文件,数据是直接在ASM磁盘和RDBMS实例传递,ASM实例仅用于定位数据文件

所在的asm磁盘,盘区以及所需的相关信息。假定新增加数据文件,则RDBMS告知ASM实例要创建数据文件,ASM实例则分配盘区 (extent),并创建盘区映射地址返回给RDBMS实例,RDBMS则将数据直接写入到磁盘组。

 

6.ASM实例中存储的文件类型

控制文件 参数文件 联机日志文件 归档日志文件 数据文件 临时文件

RMAN备份集、映像副本控制文件备份集 datapump 转储文件、Change Tracing file

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

 

1.再次强调ASM实例是用来定位、管理磁盘(组)的~

2.ASM实例定位管理,不能加载数据库,不能读取数据字典信息

3.第五条黑体说明了数据在ASM与RDBMS之间的传递状况,ASM定位后,创建映射地址返回给RDBMS,然后由RDBMS写入磁盘组。

 

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

文档三

在创建数据库的步骤中,要选择数据库的存储机制,最常见的选择是"文件系统";对于RAC通常需要使用"裸设备";但是从Oracle 10g开始(如图6-1的左图),有了第三个选择"自动存储管理(ASM)",进一步的,从Oracle 11gR2开始,如果使用dbca图形化工具创建数据库,那么不再支持裸设备存储

自动存储管理(ASM)自Oracle 10g引入的新特性,在Oracle 11g中进一步强化,进而在Oracle 11gR2中演化出了ACFS(Automatic Storage Management Cluster File System)文件系统。ASM技术为数据库管理员提供了一个统一的存储管理接口,并且该接口在所有服务器和存储平台上都是一致的。作为专门为 Oracle数据库文件创建的集成文件系统和卷管理器,ASM提供了媲美裸设备的性能,同时又具备类似文件系统的易管理性,结合Oracle 9i中就提供的OMF管理特性,Oracle ASM能够实现高效灵活的数据库存储及文件管理。

 

现在ASM技术已经成为数据库架构中,位于操作系统和应用之间的最重要的组件,在保证对于数据文件等重要文件的支持下,ASM Cluster File System(ACFS)更增加了对于小文件、操作系统文件的支持能力,形成了独立而全面的支撑体系 

 

ASM实例的启动类似于数据库实例,不过startup命令默认为startup mount,启动实例将加载默认的磁盘组,也可以通过startup nomount仅启动实例而不加载磁盘组,此外,还可以通过startup restrict模式启动,临时防止数据库实例连接到ASM;ASM实例同样可以通过shutdown命令关闭,shutdown命令的执行会等待数据库实例关闭,而shutdown abort则会强制关闭ASM实例,依赖于ASM的数据库将立即中止。

ASM实例的启动大约需要100MB左右的内存,在不同平台上可能会有所不同。以下是在Linux环境下的一个ASM的SGA显示:

[oracle@danaly dbs]$ export ORACLE_SID=+ASM

[oracle@danaly dbs]$ sqlplus "/ as sysdba"

SQL> show sga

Total System Global Area 83886080 bytes

Fixed Size 1217836 bytes

Variable Size 57502420 bytes

ASM Cache 25165824 bytes

6.5 ASM磁盘组

ASM可以被看成是建立在裸设备或块设备之上、为Oracle数据文件创建的"特别文件系统",这个文件系统由Oracle的内核来管理和维护,不再需要传统的卷管理软件以及文件系统。建立在ASM之上的文件在操作系统中也不可见,Oracle通过自身来进行存储管理。ASM技术的出现,使得 Oracle RAC的部署成本和维护成本大大降低,促进了Oracle集群技术的迅速普及。

从这个意义上说,ASM其实是Oracle的磁盘管理器,在同一台主机上,ASM实例可以为多个数据库实例提供磁盘组。在ASM选择磁盘的过程中,可以选择系统中划分好的裸设备来创建磁盘组(Disk Group)供数据库使用。

 

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

1.ASM是一个文件系统,具体来说就是类似于windows上的NTFS,linux上的ext3.

2.ASM位于裸设备之上,操作系统和应用之间;就如同一开始的那张图

  最下层是硬件(裸设备),硬件上面是操作系统(OEL)

  操作系统往上是文件系统(ASM),再往上就是应用了(ORACLE)

3.在RAC中的ASM系统是用来管理共享存储的,所以可以把ASM存储就理解为共享存储。

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

 

最末PS:当初写这篇以及存储那几篇BLOG,都是因为不知道文件系统这么一个东西的存在,一直知道NTFS,知道格式化,但要说对他们有一个形象上的认识,或许经过这几天翻阅资料后才有的。

ORACLE其实重写了文件系统的,将其独立出来,便是ASM了~  下一次对ASM的了解学习,或许要等到玩11g RAC的时候了吧。

 

接下来的一周,10g RAC日志、故障分析、RAC进程、LVM... keep moving!

 

                                               END

 

<!-- 正文结束 -->

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/21856343/viewspace-1114885/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2009-06-09