如何创建ASM实例及ASM数据库

一、ASM相关概念

1.什么是ASM(Auto Storage Management)

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

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

文件按分配单元AUs(allocation units)平衡分布在磁盘组的所有磁盘中,ASM使用索引技术来跟踪每个AUs的位置

支持联机磁盘的动态增加和减少,当磁盘发生变化后,AUs会自动重新实现动态分布

支持RAC集群技术,每一节点上运行一个ASM实例,各ASM实例间能实现点对点通讯

是一个纯软件级别的实现方式,第三方RAID工作在卷层次上,使用统一条带大小,ASM可以工作在文件层次级别,不同文件可以使用

不同的条带大小

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来启动或关闭该实例。

一个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

二、创建ASM实例(下面基于VMware + RHEL 5.4 + Oracle 10g R2演示)

1.安装ASM包

使用ASM实例,需要到Oracle官方网站下载所需的ASM包。下载路径:ASMLib下载

注意下载支持该内核的包,分为两部分,一是Library and Tools,二是Drivers for kernel

如本人的Linux的内核为:

[root@oradb ~]# uname -rm

2.6.18-164.el5 i686

则下载对应的包为:

Library and Tools

oracleasmlib-2.0.4-1.el5.x86_64.rpm

oracleasm-support-2.1.3-1.el5.i386.rpm

Drivers for kernel 2.6.18-164.el5

oracleasm-2.6.18-164.el5xen-2.0.5-1.el5.i686.rpm

oracleasm-2.6.18-164.el5debug-2.0.5-1.el5.i686.rpm

oracleasm-2.6.18-164.el5PAE-2.0.5-1.el5.i686.rpm

oracleasm-2.6.18-164.el5-debuginfo-2.0.5-1.el5.i686.rpm

时间: 2024-08-04 05:24:29

如何创建ASM实例及ASM数据库的相关文章

创建ASM实例及ASM数据库

--======================== -- 创建ASM实例及ASM数据库 --========================   一.ASM相关概念     1.什么是ASM(Auto Storage Management)         简称自动存储管理,是一种用于管理磁盘的工具         能够在多个物理设备之间实现条带化.镜像数据文件.恢复文件等         文件按分配单元AUs(allocation units)平衡分布在磁盘组的所有磁盘中,ASM使用索引技术

如何彻底删除Oracle数据库,以创建相同实例名称的库

今天建库时选择了OMF方式,结果文件名称采用Oracle自动命名的方式,看不懂啊,于是乎决定删除再重建. Oracle提供了删除数据库的指令:drop database. 需要数据库处于mount状态,然后alter system enable restricted session;,网上有帖子说还需要exclusive,由于我是VM装的,用户只有我一个,所以不用可以.由于当前处于open状态,需要改为mount,执行: SQL> alter database close; alter data

Oracle ASM 翻译系列第十二弹:ASM Internal amdu - ASM Metadata Dump Utility

amdu - ASM Metadata Dump Utility ASM Metadata Dump Utility,即ASM元数据导出工具,它的简写amdu更被人所熟知,常被Oracle技术支持人员和Oracle开发人员用来诊断和解决ASM故障.它能输出ASM的元数据信息并且从ASM磁盘组中抽取元数据和数据文件. amdu工具不依赖于ASM实例或者ASM磁盘组的状态,所以它能在ASM实例关闭和磁盘组未挂载的情况下正常使用,它甚至能在ASM磁盘出现故障或者不可见的场景下使用. Use amdu

【ASM】Oracle ASM + 11gR2 + RHEL6.5 安装

[ASM]Oracle ASM + 11gR2 + RHEL6.5 安装 1.1    简介     1.1.1    ASMLib     1.1.2    什么是 udev     1.1.3    Why ASMLIB and why not 1.2    在 RHEL 6.4 上安装 Oracle 11gR2 + ASM --使用udev 1.2.1    检查硬件     1.2.2    安装软件包检查     1.2.3    修改主机名     1.2.4    网络配置    

【ASM学习】在windows 环境下创建ASM实例

一[如何在window环境下创建ASM实例] 第一步 使用asmtool 创建 asm Microsoft Windows [版本 5.2.3790] (C) 版权所有 1985-2003 Microsoft Corp. C:\Documents and Settings\Administrator>asmtool -create d:\asm\asmdisk1 500 C:\Documents and Settings\Administrator>asmtool -create d:\asm

【ASM学习】普通数据库向ASM实例的迁移(二)

--接着rman的做 在rman恢复时,数据库是mount状态的,这里需要将数据打开!ORCL>conn system/yang[@]orcl as sysdba已连接.ORCL>alter database open;数据库已更改.--将日志文件迁移到ASM 磁盘组中.在ASM中建立3组新的redo logORCL>alter database add logfile group 4 '+SYS_DATA/redo04.log' size 50m;数据库已更改.ORCL>alte

11.2.0.3 ASM实例出现ORA-4031错误导致数据库归档失败

环境:平台:RedHat EnterPrise 5.8 X86_X64 数据库:Oracle EnterPrise 11.2.0.3 集群软件:Oracle grid 11.2.0.3 故障现象:数据库出现了归档失败,其中有一个节点的实例出现HANG死的状况. 日志信息如下: Fri Feb 28 19:49:04 2014 ARC1: Error 19504 Creating archive log file to '+DATA02' ARCH: Archival stopped, error

[20171109]数据库与asm实例的通讯问题.txt

[20171109]数据库与asm实例的通讯问题.txt http://www.toadworld.com/platforms/oracle/b/weblog/archive/2017/11/07/solving-communication-problems-between-db-and-asm-instances --//摘要其中的段落: --//建立新表空间报如下错误: A long time ago I received a call from a customer saying that

创建ASM 实例,失败!

先不发文章了,忙碌了一个晚上,总是报错说控制文件不适合ASM实例.我的帖子如下:http://www.itpub.net/thread-1334613-1-1.html 有哪位朋友遇到这个问题,帮忙解决一下.先说声谢谢了! 太晚了,要.