New Feature on ASM (Automatic Storage Manager). [ID 249992.1]




 

Modified 03-DEC-2009     Type BULLETIN     Status ARCHIVED

 

 

PURPOSE

-------

               Automatic Storage Management is a file system and volume manager built into the database kernel that allows the practical management of thousands of disk drives with 24x7 availability. It provides management across multiple nodes of a cluster for Oracle Real Application Clusters (RAC) support as well as single SMP machines.

               It automatically does load balancing in parallel across all available disk drives to prevent hot spots and maximize performance, even with rapidly changing data usage patterns.

它可以防止碎片,因此永远不需要重新定位数据来回收空间。数据在所有磁盘上都得到了很好的平衡和条带化。它执行自动联机磁盘空间重组,以增量添加或删除存储容量。

它可以维护数据的冗余副本以提供容错能力,也可以建立在供应商提供的可靠存储机制之上。数据管理是通过为数据类别选择所需的可靠性和性能特征来完成的,而不是基于每个文件的人为交互来完成的。

 

ASM 解决了大型 Oracle 数据库的许多实际管理问题。随着数据库服务器的大小增加到数千个磁盘驱动器或群集中的数十个节点,传统的管理技术将停止工作。它们不能有效地扩展,它们变得太容易出现人为错误,并且它们需要在集群的每个节点上进行独立工作。其他任务(如手动负载平衡)变得如此复杂,以至于禁止使用它们。

 

必须解决这些问题,才能可靠地管理数十或数百 TB 的数据库。Oracle凭借我们现有的真实应用集群技术,在解决这些问题方面具有得天独厚的优势。Oracle对解决方案的控制确保了其可靠性并与Oracle产品集成。

 

本文档旨在深入了解 ASM 的内部工作原理。它不是详细的设计文档。它应该对需要支持 ASM 的人有用。

自动存储管理是数据库内核的一部分。它被链接到$ORACLE_HOME/bin/oracle,以便其代码可以由所有数据库进程执行。

ASM 代码的一部分允许启动称为 ASM 实例的特殊实例。ASM 实例不装入数据库,而是管理使 ASM 文件可用于普通数据库实例所需的元数据。ASM 实例和数据库实例都可以访问一些常见的磁盘集。

 

ASM 实例管理描述 ASM 文件布局的元数据。数据库实例直接访问 ASM 文件的内容,仅与 ASM 实例通信以获取有关这些文件布局的信息。这要求 ASM 代码的第二部分在数据库实例的 I/O 路径中运行。

 

注意:

1. 每个节点需要一个且只有一个 ASM 实例。因此,您可能有多个数据库,但它们将共享同一个 ASM。

 

2. ASM 用于数据文件、控制文件、REDOLOG、ARCHIVELOG 和 SPFILE。因此,您可以将 CFS 用于 RAC 中的常见预言机二进制文件。

 

3. ASM 可以为磁盘组中的文件提供镜像。

 

4. 在外部冗余磁盘组中,ASM 不进行镜像。对于正常冗余,ASM 双向镜像文件默认,但也可以使文件不受保护。[不建议使用未受保护的文件]。对于高冗余磁盘组,ASM 3 路镜像文件。

 

5. 除非用户在文件创建期间指定 ASM 别名文件名,否则该文件

天哪。当删除较高级别的对象(例如表空间)时,OMF文件将自动删除,而非OMF文件必须手动删除。Oracle建议使用OMF。

 

如何使用?

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

 

使用 DBCA 配置您的 ASM。

 

DBCA 简化了数据库的配置和创建,而 EM 提供了一种用于管理 ASM 实例和数据库实例的集成方法。

   

安装数据库软件时,Oracle 通用安装程序始终会安装“自动存储管理”。数据库配置助手 (DBCA) 确定 ASM 实例是否已存在,如果不存在,则可以选择在数据库创建和配置过程中创建和配置 ASM 实例。如果 ASM 实例已存在,则改用该实例。

   

DBCA 还会配置您的实例参数文件和密码文件。

 

 

DBCA 中的步骤:

1. 选择 ASM 磁盘。

2. 通过选择可用磁盘创建磁盘组。

3. 创建 ASM 时,您可以选择对磁盘组中的文件进行镜像,选项如下所示

高,正常或外部。

高> ASM 三路反射镜

普通> ASM 双向反射镜

外部 -> 如果您已经像 EMC 或其他第三方一样以硬件标签镜像磁盘

4. dbca 将创建一个名为“+ASM”的单独实例,该实例将处于 nomount 阶段以控制您的 ASM。

5. Choose your all datafile, controlfile, redolog and spfile to your ASM volume.

 

Preinstall:

Here DBA will create the ASM volume, so Sysadmin should give the ownership or

proper privs to DBA.

 

Example in LINUX

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

 

You have two disk say "/dev/sdf" and "/dev/sdg"

 

Determine what those devices are bound as raw:

$ /usr/bin/raw -qa

If not:

Include devices in diskgroups by editing /etc/sysconfig/rawdevices :

      eg   /dev/raw/raw1 /dev/sdf

           /dev/raw/raw2 /dev/sdg

 

Set owner, group and permission on device file for each raw device:

$ chown oracle:dba /dev/raw/rawn, chmod 660 /dev/raw/rawn

 

Bind disk devices to raw devices:

$ service rawdevices restart

 

So from DBCA you can see the device "raw1" and "raw2".

 

After finishing of ASM volume creation, when you create a database on an ASM volume, you should see the file details using Enterprise Manager (EM). Or you can use V$ or DBA view to check the datafile name. Oracle recommended not to specify the datafile name while adding datafile or creating new tablespace, because ASM will automatically generate OMF file.

 

Note: If DBA's by mistake or intentionally choose the datafile name, dropping of  tablespace, will not drop the datafile from ASM volume.

 

 

IMPORTANT VIEW in ASM

=====================

V$ASM_DISKGROUP

V$ASM_CLIENT

V$ASM_DISK

V$ASM_TEMPLATE

ASM_ALIAS

V$ASM_OPERATI