欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

Oracle 11g R2 ASM:了解 Oracle ASM 基本概念

程序员文章站 2022-05-19 08:18:18
...

About Oracle ASM Instances About Oracle ASM Disk Groups About Mirroring and Failure Groups About Oracle ASM Disks About Oracle ASM Files About Oracle ASM Instances Oracle ASM 实例基于和 Oracle Database 实例相同的技术构建。Oracle ASM instan

  • About Oracle ASM Instances

  • About Oracle ASM Disk Groups

  • About Mirroring and Failure Groups

  • About Oracle ASM Disks

  • About Oracle ASM Files


About Oracle ASM Instances

Oracle ASM 实例基于和 Oracle Database 实例相同的技术构建。Oracle ASM instance 具有类似于 Oracle 数据库实例的 System Global Area (SGA) 和后台进程。但是,Oracle ASM 执行的任务比数据库实例要少, Oracle ASM SGA 要比数据库实例的 SGA 小很多。此外,Oracle ASM 对服务器的性能影响非常小。Oracle ASM 实例负责 mount 磁盘组,使 Oracle ASM 文件对数据库实例可用;Oracle ASM 实例不会 mount 数据库。

Oracle ASM 安装在 Oracle Grid Infrastructure home 中,而 Oracle Database 则安装在单独的 Oracle home 中。Oracle ASM 和数据库实例都需要共享访问磁盘组中的磁盘。 Oracle ASM 实例负责管理磁盘组的元数据,为数据库实例提供文件的布局信息。

Oracle ASM 使用 Oracle ASM 元数据来控制磁盘组。Oracle ASM 元数据位于磁盘组中,包含如下信息:

  • 磁盘和所属磁盘组的对应关系

  • 磁盘组上可用空间大小

  • 磁盘组上文件的文件名

  • 磁盘组数据文件的 extent 的位置

  • 记录有关自动更改元数据块的信息的 redo log

  • Oracle ADVM 卷信息

Oracle ASM 可以通过 Oracle Clusterware 软件实现集群化;每个集群节点一个 Oracle ASM 实例。如果同一个节点上存在多个同步的数据库实例,则这些数据库实例共用该节点上的一个 Oracle ASM 实例。

如果一个节点上的 Oracle ASM 实例失败,则该节点上的所有数据库实例也会失败。与文件系统驱动器不一样,一个 Oracle ASM 实例失败不需要重启操作系统。在 Oracle RAC 环境中,幸存节点上的 Oracle ASM 实例和数据库实例会自动从失败节点上的 Oracle ASM 实例进行恢复。

图 1-1 显示的是一个单节点 Oracle ASM 实例服务于多个数据库实例的配置。Oracle ASM 实例负责管理元数据,并未 Oracle ASM 文件提供空间分配。当数据库实例创建或打开一个 Oracle ASM 文件时,数据库实例首先会向 Oracle ASM 实例发出相应请求。然后,Oracle ASM 会作出响应,为数据库实例提供文件的 extent 位图信息。

在图 1-1 中有两个磁盘组:一个磁盘组有4块盘,另一个有2块盘。数据库对这两个磁盘组都可以访问。图 1-1 显示只需一个 Oracle ASM 实例便可为多个数据库实例提供服务的配置。

Figure 1-1 Oracle ASM for Single-Instance Oracle Databases

Oracle 11g R2 ASM:了解 Oracle ASM 基本概念


图 1-2 显示的是 Oracle RAC 环境中的一个 Oracle ASM 集群,其中 Oracle ASM 提供了一个集群化的存储池。每个节点一个 Oracle ASM 实例,集群中的多个 Oracle RAC 数据库或单实例数据库提供服务。所有数据库都整合起来,共用两个 Oracle ASM 磁盘组。

Figure 1-2 Oracle ASM Cluster Configuration with Oracle RAC

Oracle 11g R2 ASM:了解 Oracle ASM 基本概念


如 图 1-3 所示,一个集群化存储池可以被多个单实例 Oracle 数据库所共用。在这种情况下,多个数据库共享共用的磁盘组。共享 Oracle ASM 存储池可以通过 Oracle Clusterware 实现。需要注意的是,在这类环境中不需要获得 Oracle RAC license。

无论您是否要在节点上安装 Oracle RAC,要在多个节点上共享磁盘组,必须在要共享的所有节点上安装 Oracle Clusterware。单独节点上的 Oracle ASM 实例不需要成为 Oracle ASM 集群的一部分。但是,如果该 Oracle ASM 实例不属于某个 Oracle ASM 集群,则节点之间就无法彼此进行通信。不属于一个 Oracle ASM 集群的多个节点无法共享 Oracle ASM 磁盘组。

Figure 1-3 Oracle ASM Cluster with Single-Instance Oracle Databases

Oracle 11g R2 ASM:了解 Oracle ASM 基本概念