`
wanglihu
  • 浏览: 917501 次
  • 性别: Icon_minigender_1
  • 来自: 黑龙江
社区版块
存档分类

Oracle10g的Asm应用于数据存储管理

阅读更多

摘要 随着数据库的持续运行,数据库的大小不断扩大,要求不断增大系统的存储容量,对于普通的文件系统,增加存储的过程非常复杂。Oracle10g的自动存储管理系统(automatic storage management asm)就是针对该问题而产生的,它大大简化了数据库存储系统的管理。

 

1 前言

 

如今,大型数据库系统要求尽量减少有计划的停机时间,同时随着数据库运行时间的持续增加,数据库的大小和数据库的文件数目也在不断增加,这种趋势导致磁盘容量和数据库大小每隔几年就翻一番,但是dba人数在这期间一般不会翻倍,因此要求dba管理更多和更大的数据库;还有一个问题,当数据库的存储容量不足时,向数据库添加磁盘,以增加磁盘容量时,普通的存储系统需要手工操作,过程非常复杂,而且要求数据库停机。一般包括以下步骤:(1)创建逻辑卷。(2)创建文件系统。(3)安装oracle数据软件。(4)创建并装载数据库。接着还要查找磁盘热点,移动数据文件减少竞争,并担心哪一天磁盘容量又不足,必须再添加更多的磁盘,移动所有的数据文件实现负载平衡,减少竞争。

 

可喜的是随着oracle10g新的存储管理特性asmautomatic storage management,自动存储管理)的出现,这种情况可以动态的改变了.

 

Asm集成了文件系统和卷管理器,它特别为oracle数据文件而构建。它扩展了samestripe and mirror everything)的概念以优化性能,不再需要手工io调整(合理布局数据文件避免热点),自动实现数据文件的条带和镜像,在不停机的情况下,可以向存储系统增加磁盘,并自动调整数据文件的分布;另外,asm允许创建一个存储池(称为磁盘组),并管理文件的命名和数据库文件在磁盘上的放置,这些对于用户和管理人员来说都是透明的,屏蔽了底层数据文件的管理;还可以使用sql命令,命令行接口或企业管理器改变asm的存储如添加磁盘,删除磁盘等。可见,使用asm大大简化了数据库的storage managementprovisioning

 

2 Asm的结构

 

Asm的主要组件包括磁盘组、磁盘、失败组、文件和模版,下面一一介绍:

2.1 磁盘组

 

包含一组磁盘,该组磁盘作为一个单元进行管理。它是asm中最高级的数据结构,类似于逻辑卷管理器的卷组,但Asm文件系统层在磁盘组中隐含创建,该文件系统对用户是透明的,只能通过asm数据库接口和命令行工具访问;并具有自动的文件级条带和镜像的能力,在asm磁盘组中创建的数据库文件以文件分区(file extents)存储,文件的文件分区均匀的分布在磁盘组中所有联机磁盘上,提供均匀的i/o负载。磁盘组的类型有三种:高冗余的磁盘组,提供三路镜像;正常冗余磁盘组,提供两路镜像;外部冗余磁盘组,asm不提供镜像保护,镜像级别由外部存储系统决定,它决定了磁盘组中文件的镜像级别,可以在创建磁盘组时指定磁盘组的类别。

 

2.2 磁盘

 

磁盘组中的磁盘称为asm磁盘,当asm实例启动时,它自动发现所有可用的磁盘,决定磁盘属于那个磁盘组。磁盘是一个广义的概念,它可以是一个分区,一块磁盘,一个逻辑单元号还可以是nas的文件。磁盘有各种header statuses,反映了磁盘的状态:

Former 以前磁盘是磁盘组的一部分。

Candidate 表示磁盘可用,并可以添加到磁盘组。

Member磁盘已经是磁盘组的一部分。

Provisioned 类似于candadate因为对于磁盘组可用。但是,表示该磁盘使用asmlib已经配置或可用。

2.3 失败组

 

对于不使用external redundancy的系统,asm利用失败组提供了内部冗余机制和可用性,失败组是磁盘组的一个子集,它是多个磁盘的集合,当磁盘组的某个组件损坏后,这些磁盘变得不可用。例如:磁盘控制器或整个阵列都是一个失败组。如果为磁盘组定义多个失败组,asm能够容忍单个失败组中的多个磁盘同时失败。

 

2.4 文件

 

写在asm磁盘上的文件称为asm文件,它的名字由asm自动产生,文件的格式为+group/dbname/file_type/file_type_tag.file.incarnation,称为完全合格的asm文件名。

+group磁盘组名字。

 

dbname是数据库的DB_UNIQUE_NAME

 

file_type oracle的文件类型。

 

file_type_tagoracle的文件类型有关的信息,对于特定文件它是固定的。

 

file.incarnation file/incarnation , 保证了唯一性。

 

例如asm中控制文件的名称为:

+dgroup2/sample/controlfile/Current.256.541956473

2.5 模版

 

模版是文件的属性集,在asm磁盘组中创建文件时,用来设置每种类型的数据库文件的条带和镜像属性。用户可以自定义模版。

 

3 Asm组成与工作原理:

 

3.1 Asm实例

 

Asm实例是一个特殊的oracle实例,用来管理磁盘组中的磁盘,实例通常命名为+asm,用instance-type=asm初始化参数启动,不像数据库实例,asm实例不包含物理文件,如:日志文件、控制文件。

3.2 Asm实例的后台进程:

 

Asm实例除了具有与数据库实例相同的进程如SMON, PMON, LGWR外,还包括两个与磁盘组管理有关的进程,一个是rbal,它主要协调磁盘组的重新平衡活动;另一个是arb0arb1等,这是一组从进程,在磁盘组重新平衡过程中,它们执行实际的数据分区的移动。

 

3.3 Css集群同步服务Cluster Synchronization Services

 

Asm要求安装css,并且在服务器启动时自动启动。css维持asm实例和数据库实例的同步,磁盘组装载后,asmcss注册磁盘组名,实例名和oracle home路径名。接着数据库实例使用这些注册的数据结构建tns连接串,数据库实例使用该连接串连接到asm实例,进行卷管理活动。

3.4 数据库新增进程:

 

数据库实例中新增加了三个进程以支持asm磁盘组和结构,实现asm实例与数据库实例的通信。

Rbal 该进程负责磁盘组中所有磁盘的打开。

Asmb 该进程使用磁盘组名称联系css,并得到asm连接串,接着使用该连接串连接到asm实例。使用该永久的连接,可以交换周期性的消息如:用来更新统计并提供心跳机制。在需要asm干预的操作中,如创建文件,数据库前台直接连接到asm实例执行这个操作,完成文件创建后,数据库文件分区映射由asm发送到asmb。另外,asmb还向asm实例发送数据库io 统计。

O00x 一组从进程,建立到asm实例的短暂连接,x1-10的编号。通过这个连接池,数据库进程可以向asm实例发送消息。例如打开文件,利用从进程向asm实例发送打开请求。但是,从进程不用于长时间的操作如:创建文件。从进程池连接为短暂的请求服务,消除了登录asm实例的开销,这些进程在不使用时即关闭。

3.5 数据库实例与asm实例交互

 

数据库实例是asm实例的一个客户,数据库与asm的通讯在节点内部进行,对asm文件的操作象对文件系统文件的操作一样,例如:所有的文件访问直接执行并没有asm的干预。当创建,删除,打开文件时,数据库实例与asm实例相互作用,从asm实例读取文件分布,接下来的i/o操作使用存储在数据库实例中的分区映射。如果存储配置改变,如:添加,删除磁盘或磁盘失败都会引起asm与数据库实例相互作用。

 

 

4 军卫一号向oracle10g asm的迁移

 

该过程分两步进行,第一步是数据库的升级操作;第二步是数据库文件从普通文件系统迁移到asm

4.1 数据库的升级

 

现在,军队各个医院的军卫一号信息系统数据库主要采用oracle8ioracle9i版本,只有极少数使用oracle10g第二版。要使用oracle10gasm特性,首先升级oracle数据库到oracle10goracle数据库升级有多种方法,主要有imp/exp逻辑备份工具;数据库升级助手图形化工具;还有oracle提供的升级脚本。具体的升级过程可以参考oracle文档。

4.2 数据库文件从普通文件系统向asm的迁移

 

数据库升级到oracle10g后,数据库文件的存储使用普通的文件系统,要使用asm特性,需要把数据库迁移到asm,这种迁移可以使用oraclerman工具手工迁移,还可以使用企业管理器提供的图形化工具。在实施迁移前,需要对asm磁盘组进行规划。这里我们使用了两个磁盘组每个磁盘组两块磁盘,一个是data磁盘组,主要放置数据库文件。另一个是flashrec磁盘组,主要用于oracle10g的快速恢复区,其中放置rman备份文件,数据库闪回日志等。这里具体介绍rman的手工迁移过程:

(1) 备份升级好的军卫一号数据库文件,这里要求文件的备份副本。

 

BACKUP AS COPY INCREMENTAL LEVEL 0 DATABASE

 

FORMAT '+DATA' TAG 'ORA_ASM_MIGRATION';

 

备份后归档当前日志文件,保证备份的一致性。

 

RMAN> sql 'alter system archive log current';

 

(2) asmflashrec磁盘组上创建恢复区。

 

通过设置参数DB_RECOVERY_FILE_DEST DB_RECOVERY_FILE_DEST_SIZE即可创建恢复区。

 

在文本参数文件中修改参数

 

Alter system set DB_RECOVERY_FILE_DEST_SIZE=20G;

 

Alter system set DB_RECOVERY_FILE_DEST='+FLASHREC';

 

(3) 移植控制文件到asm

 

修改参数文件中的参数control_files

 

Alter system set

 

control_files='+DATA/control01.ctl','+FLASHREC/

 

control02.ctl ' 其中一个控制文件存放在flashrec恢复区,提高了控制文件的可用性。

 

使用rmanasm上创建控制文件:

 

RMAN> shutdown immediate;

 

RMAN> startup nomount PFILE='d:tmppfile.ora';

 

RMAN> restore controlfile from ‘D:oracleproduct10.2.0oradatats control01.ctl';

 

RMAN> alter database mount;

 

RMAN> switch database to copy;

 

RMAN> recover database;

 

(4) asm移植临时文件。

 

RMAN > run {

 

set newname for tempfile 1 to '+DATA'

 

switch tempfile all;

 

}

 

(5) 打开数据库,完成数据库文件的迁移。

 

SQL> ALTER DATABASE OPEN;

 

 

 

6 Asm的管理

 

Asm的管理涉及内容比较多,主要包括磁盘组的管理如添加磁盘、删除磁盘,改变磁盘的大小,装载磁盘组,卸载磁盘组,手动重新平衡磁盘组等操作;磁盘组中文件和目录的管理;在磁盘组中创建数据库文件等。这些操作都可以通过sql命令完成,此外,oracle还提供了命令行工具asmcmd和企业管理器图形化工具,都可以对asm进行管理和操作,有关这些操作的详细地使用可以参考oracle的文档。在这里要强调的一点是asm的备份问题,asm<span style="FO

评论

相关推荐

    oracle 11g asm 在线更换存储

    在Oracle RAC(RAC是Real Application Clusters的缩写,即实时应用集群)环境中,ASM负责管理数据库的数据存储,包括数据文件、控制文件、重做日志等。当需要更换存储设备时,必须确保这个过程对数据库服务的影响降到...

    Oracle10g RAC ASM 环境日常管理命令

    在Oracle10g RAC(Real ...总之,Oracle10g RAC与ASM环境下的日常管理涉及到复杂的网络配置、服务状态监控、安全关闭与启动、监听器管理以及关键数据的备份与恢复。掌握这些操作是维护RAC集群稳定性和可用性的基石。

    Oracle ASM

    本文将深入探讨Oracle 11g ASM的新特性,解析其如何为数据库管理员提供更高效、更灵活的数据存储解决方案。 ### 一、Oracle 11g ASM新特性概述 #### 1. 动态再平衡(Dynamic Rebalancing) 动态再平衡是Oracle 11...

    Oracle 10g的ASM裸设备建库 For Linux

    ### Oracle 10g的ASM裸设备建库For Linux知识点详解 #### 一、概述 ...通过以上详细步骤的介绍,希望能够帮助读者更好地理解和掌握在Oracle 10g for Linux环境中使用裸设备构建ASM存储结构的方法与技巧。

    Oracle10g数据库管理与应用系统开发光盘

    Oracle10g数据库管理系统是Oracle公司推出的一款强大的关系型数据库管理系统,主要应用于企业级的数据存储、管理和分析。在Oracle10g中,有许多关键的知识点和特性,对于数据库管理员(DBA)和应用开发者来说,深入...

    Oracle 10g入门与提高

    Oracle 10g是Oracle公司推出的数据库管理系统的一个版本,它在数据库管理领域具有广泛的使用,尤其对于企业级应用和大数据处理。本资料“Oracle 10g入门与提高”是一份PPT教程,旨在帮助初学者掌握Oracle 10g的基础...

    Oracle_11G_数据库应用简明教程PPT

    Oracle 11g是一款强大的关系型数据库管理系统,由甲骨文公司开发,广泛应用于企业级数据存储、管理和分析。本教程“Oracle_11G_数据库应用简明教程PPT”将带你深入理解Oracle 11g的核心概念、功能及应用。 首先,...

    Oracle12c 实战ASM磁盘组管理

    本文将详细介绍Oracle12c中关于ASM(Automatic Storage Management)磁盘组管理的关键知识点,包括磁盘组属性的理解与配置、创建磁盘组的过程及注意事项。 #### 一、Disk Group 属性详解 磁盘组属性是指绑定到特定...

    oracle 10g _64x

    Oracle数据库系统在IT行业中有着广泛的应用,尤其在大型企业、金融机构和互联网公司的数据存储和管理方面扮演着核心角色。Oracle 10g版本包含了众多特性,旨在提供更高的性能、可用性和可管理性。 首先,Oracle 10g...

    oracle11g_asm_for_aix实施方案

    综上所述,Oracle 11g 在 AIX 环境下的部署涉及到多个层面的技术细节,包括 Grid Infrastructure 的安装、数据库的安装与配置、ASM 的管理以及集群和备份恢复策略的规划等。通过对这些关键步骤的详细了解和实践,...

    oracle 11g ,10g软件资源 百度云下载

    ### Oracle 11g与10g软件资源百度云下载相关知识点 #### 一、Oracle数据库简介 Oracle数据库是美国甲骨文公司的一款关系型数据库管理系统,在市场上占有重要的份额。Oracle数据库以其高度的安全性、可靠性和灵活性...

    Oracle 10g数据库管理艺术

    总的来说,“Oracle 10g数据库管理艺术”这本书将涵盖上述所有内容,包括但不限于RAC集群的构建与管理、Data Guard的配置、ASM的使用、SQL优化策略、权限与安全控制,以及性能监控和调优等关键知识点。通过对这些...

    Oracle_GoldenGate ASM抽取方法最佳实践

    在使用Oracle GoldenGate与Oracle ASM(自动存储管理)环境进行集成时,可以采用多种方法来进行数据抽取。Oracle ASM是为了优化数据库性能和高可用性,同时减少存储维护操作而设计的。自Oracle Database 10g起引入了...

    oraclerac增加asm盘创建表空间.docx

    在Oracle RAC(Real Application Clusters)环境中,ASM(Automatic Storage Management)是一种集成的存储管理解决方案,它提供了数据存储的高可用性和性能优化。Oracle RAC允许多个实例同时访问一个数据库,而ASM...

    剖析Oracle 10g数据库的各种存储形式

    ASM可以看作是Oracle特有的文件系统,它优化了数据存储和访问,降低了管理复杂性,同时保持了较高的性能。 4. 集群系统 OCFS(RAC) RAC,即Real Application Clusters,是Oracle的集群数据库解决方案,允许多个...

    Oracle10g数据库管理与应用系统开发光盘.rar

    总结,Oracle 10g数据库管理系统为数据库管理员和开发者提供了强大的工具和特性,从高性能的数据存储到灵活的应用系统开发,再到可靠的灾难恢复机制,都是其突出亮点。理解并熟练掌握这些知识点,对于在Oracle环境中...

    RAC_Oracle11g_asm_grid_openfile 搭建集群环境

    asm(Automatic Storage Management)是 Oracle 提供的一个存储管理工具。asm 可以自动管理存储设备,提供高性能和高可用的存储解决方案。asm 可以与 openfiler 一起使用,以提供高性能和高可用的存储解决方案。 ...

    oracle 10g 考试题库

    2. **1Z0-042**:这对应于Oracle Database 10g: New Features for Administrators的考试,主要测试考生对Oracle 10g新特性的了解,如自动存储管理(ASM)、数据泵(Data Pump)、实时应用集群(RAC)以及自动工作...

    Oracle 10g 联机文档

    二、数据存储与管理 在Oracle 10g中,表空间是数据存储的基本单位,用于组织和管理数据库对象。表空间由一个或多个数据文件组成,每个数据文件包含物理存储的数据块。此外,Oracle 10g引入了自动存储管理(ASM),...

Global site tag (gtag.js) - Google Analytics