- 浏览: 917501 次
- 性别:
- 来自: 黑龙江
文章分类
- 全部博客 (209)
- struts1 (3)
- hibernate3 (19)
- java (13)
- spring2 (5)
- netBeans (1)
- eclipse (1)
- JSF (1)
- DIV+CSS篇章 (1)
- jFreeChart+Oracle之曲线,柱状及饼状图的实现 (1)
- JSF知识与技巧 (3)
- Oracle数据类型的介绍与比较 (2)
- J2EE (2)
- Ajax技术 (4)
- javaScript技术 (25)
- struts2 (16)
- C/C++程序设计 (1)
- oracle系统学习 (29)
- 算法分析 (0)
- Linux实践 (7)
- extjs开发经验 (13)
- flex开发总结 (1)
- FusionCharts总结 (0)
- 高级数据库总结 (0)
- SVG拓扑图开发总结 (0)
- CSS (1)
- CSS使用简介 (1)
- SVG (0)
- DOJO (0)
- Junit测试 (0)
- lucene (24)
- solr (6)
- tokyo tyrant 技术 (7)
- Html5 (1)
- 算法与数据结构 (0)
- 物联网相关技术学习 (0)
- UI设计 (1)
- webservice (0)
- Android (5)
- hibernate4 (3)
- solrcloud (0)
- dorado5 (0)
- dorado7 (0)
- elasticsearch (0)
- GWT (0)
- node.js (0)
- 并发编程 (1)
- 大数据 (1)
- 项目经验 (5)
最新评论
-
cs261244787:
楼主好人! 平安
struts2,hibernate4,spring3配置时问题汇总及解决办法 -
wxluck666:
我也赞一个 很有用
struts2,hibernate4,spring3配置时问题汇总及解决办法 -
wxluck666:
我也赞一个 很有用
struts2,hibernate4,spring3配置时问题汇总及解决办法 -
xinsiyou:
牛逼,就是样式被搞没了
JS实现选项右移,左移,向上,向下调整顺序 -
unnamed__:
这代码风格就像一坨翔
java获取数据库的列名,类型等信息
摘要 随着数据库的持续运行,数据库的大小不断扩大,要求不断增大系统的存储容量,对于普通的文件系统,增加存储的过程非常复杂。Oracle10g的自动存储管理系统(automatic storage management asm)就是针对该问题而产生的,它大大简化了数据库存储系统的管理。
1 前言
如今,大型数据库系统要求尽量减少有计划的停机时间,同时随着数据库运行时间的持续增加,数据库的大小和数据库的文件数目也在不断增加,这种趋势导致磁盘容量和数据库大小每隔几年就翻一番,但是dba人数在这期间一般不会翻倍,因此要求dba管理更多和更大的数据库;还有一个问题,当数据库的存储容量不足时,向数据库添加磁盘,以增加磁盘容量时,普通的存储系统需要手工操作,过程非常复杂,而且要求数据库停机。一般包括以下步骤:(1)创建逻辑卷。(2)创建文件系统。(3)安装oracle数据软件。(4)创建并装载数据库。接着还要查找磁盘热点,移动数据文件减少竞争,并担心哪一天磁盘容量又不足,必须再添加更多的磁盘,移动所有的数据文件实现负载平衡,减少竞争。
可喜的是随着oracle10g新的存储管理特性asm(automatic storage management,自动存储管理)的出现,这种情况可以动态的改变了.
Asm集成了文件系统和卷管理器,它特别为oracle数据文件而构建。它扩展了same(stripe and mirror everything)的概念以优化性能,不再需要手工io调整(合理布局数据文件避免热点),自动实现数据文件的条带和镜像,在不停机的情况下,可以向存储系统增加磁盘,并自动调整数据文件的分布;另外,asm允许创建一个存储池(称为磁盘组),并管理文件的命名和数据库文件在磁盘上的放置,这些对于用户和管理人员来说都是透明的,屏蔽了底层数据文件的管理;还可以使用sql命令,命令行接口或企业管理器改变asm的存储如添加磁盘,删除磁盘等。可见,使用asm大大简化了数据库的storage management和provisioning。
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_tag与oracle的文件类型有关的信息,对于特定文件它是固定的。
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,它主要协调磁盘组的重新平衡活动;另一个是arb0,arb1等,这是一组从进程,在磁盘组重新平衡过程中,它们执行实际的数据分区的移动。
3.3 Css集群同步服务(Cluster Synchronization Services)
Asm要求安装css,并且在服务器启动时自动启动。css维持asm实例和数据库实例的同步,磁盘组装载后,asm向css注册磁盘组名,实例名和oracle home路径名。接着数据库实例使用这些注册的数据结构建tns连接串,数据库实例使用该连接串连接到asm实例,进行卷管理活动。
数据库实例中新增加了三个进程以支持asm磁盘组和结构,实现asm实例与数据库实例的通信。
Rbal 该进程负责磁盘组中所有磁盘的打开。
Asmb 该进程使用磁盘组名称联系css,并得到asm连接串,接着使用该连接串连接到asm实例。使用该永久的连接,可以交换周期性的消息如:用来更新统计并提供心跳机制。在需要asm干预的操作中,如创建文件,数据库前台直接连接到asm实例执行这个操作,完成文件创建后,数据库文件分区映射由asm发送到asmb。另外,asmb还向asm实例发送数据库io 统计。
O00x 一组从进程,建立到asm实例的短暂连接,x是1-10的编号。通过这个连接池,数据库进程可以向asm实例发送消息。例如打开文件,利用从进程向asm实例发送打开请求。但是,从进程不用于长时间的操作如:创建文件。从进程池连接为短暂的请求服务,消除了登录asm实例的开销,这些进程在不使用时即关闭。
3.5 数据库实例与asm实例交互
数据库实例是asm实例的一个客户,数据库与asm的通讯在节点内部进行,对asm文件的操作象对文件系统文件的操作一样,例如:所有的文件访问直接执行并没有asm的干预。当创建,删除,打开文件时,数据库实例与asm实例相互作用,从asm实例读取文件分布,接下来的i/o操作使用存储在数据库实例中的分区映射。如果存储配置改变,如:添加,删除磁盘或磁盘失败都会引起asm与数据库实例相互作用。
4 军卫一号向oracle10g asm的迁移
该过程分两步进行,第一步是数据库的升级操作;第二步是数据库文件从普通文件系统迁移到asm。
4.1 数据库的升级
现在,军队各个医院的军卫一号信息系统数据库主要采用oracle8i或oracle9i版本,只有极少数使用oracle10g第二版。要使用oracle10g的asm特性,首先升级oracle数据库到oracle10g。oracle数据库升级有多种方法,主要有imp/exp逻辑备份工具;数据库升级助手图形化工具;还有oracle提供的升级脚本。具体的升级过程可以参考oracle文档。
4.2 数据库文件从普通文件系统向asm的迁移
数据库升级到oracle10g后,数据库文件的存储使用普通的文件系统,要使用asm特性,需要把数据库迁移到asm,这种迁移可以使用oracle的rman工具手工迁移,还可以使用企业管理器提供的图形化工具。在实施迁移前,需要对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) 在asm的flashrec磁盘组上创建恢复区。
通过设置参数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恢复区,提高了控制文件的可用性。
使用rman在asm上创建控制文件:
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
发表评论
-
数据表更名语句
2010-04-21 11:08 1233当前数据表名为A,想要更名为B的语句如下: alter tab ... -
ORA-01078 & LRM-00109错误解决方法
2010-03-23 16:40 5498一同事今天刚装完oracle10g后,通过startup命令启 ... -
在线修改redo.log文件的大小
2009-09-02 17:24 59491.查看当前日志组成员: SQL> select mem ... -
怎么确保最终用户在数据库中只有一个会话
2009-08-11 18:47 1507sqlplus / as sysdba create user ... -
测试版-逻辑switchover
2009-07-16 12:41 12541.检查primary数据库是否配置了standby redo ... -
测试版-逻辑standby创建
2009-07-16 12:37 23001、创建物理standby 详见《测试版-物理standb ... -
测试版-物理switchover
2009-07-16 12:35 1085注意:standby数据库应该是alter database ... -
测试版-物理standby创建
2009-07-15 17:37 12781.编辑/etc/hosts文件 # vi /etc/ho ... -
dataguard日志传输方式简介
2009-06-26 12:44 53251、两种日志传输方式 Arch:传统的日志传送方式。现在只 ... -
物理standby的failover
2009-06-26 12:40 1222========================物理stand ... -
物理standby的Switchover
2009-06-26 12:39 1265=======================物理st ... -
dataguard保护模式介绍
2009-06-26 12:38 33251、三种保护模式 1).最大性能(maximize per ... -
查看pga和sga值
2009-05-27 01:07 2535--显示正在使用的参数和文本参数值 1)select * fr ... -
设置sga和pga的值
2009-05-27 01:05 2550--设置sga的值 1)alter system set sg ... -
表的创建时间和表的大小空间
2009-05-27 01:04 1354--查看表的创建时间 select created,last_ ... -
设置parallel_automatic_tuning参数之后的错误的解决方法
2009-05-27 01:02 1760--设置并行度 1)alter system set para ... -
HA、RAC、Datagurad的区别
2009-05-10 20:20 2475标题为:HA、RAC、Datagurad的区别 一.HA简介 ... -
通过shell脚本后台创建表空间
2009-05-10 20:16 20841.用oracle用户登陆并创建shell文件: $ vi / ... -
occi库文件替换
2009-05-10 20:08 20951.从官方下载occi_gcc343_x86_64_10203 ... -
oracle10g查看表空间信息
2009-05-10 20:06 2997SELECT UPPER(F.TABLESPACE_NAME) ...
相关推荐
在Oracle RAC(RAC是Real Application Clusters的缩写,即实时应用集群)环境中,ASM负责管理数据库的数据存储,包括数据文件、控制文件、重做日志等。当需要更换存储设备时,必须确保这个过程对数据库服务的影响降到...
在Oracle10g RAC(Real ...总之,Oracle10g RAC与ASM环境下的日常管理涉及到复杂的网络配置、服务状态监控、安全关闭与启动、监听器管理以及关键数据的备份与恢复。掌握这些操作是维护RAC集群稳定性和可用性的基石。
本文将深入探讨Oracle 11g ASM的新特性,解析其如何为数据库管理员提供更高效、更灵活的数据存储解决方案。 ### 一、Oracle 11g ASM新特性概述 #### 1. 动态再平衡(Dynamic Rebalancing) 动态再平衡是Oracle 11...
### Oracle 10g的ASM裸设备建库For Linux知识点详解 #### 一、概述 ...通过以上详细步骤的介绍,希望能够帮助读者更好地理解和掌握在Oracle 10g for Linux环境中使用裸设备构建ASM存储结构的方法与技巧。
Oracle10g数据库管理系统是Oracle公司推出的一款强大的关系型数据库管理系统,主要应用于企业级的数据存储、管理和分析。在Oracle10g中,有许多关键的知识点和特性,对于数据库管理员(DBA)和应用开发者来说,深入...
Oracle 10g是Oracle公司推出的数据库管理系统的一个版本,它在数据库管理领域具有广泛的使用,尤其对于企业级应用和大数据处理。本资料“Oracle 10g入门与提高”是一份PPT教程,旨在帮助初学者掌握Oracle 10g的基础...
Oracle 11g是一款强大的关系型数据库管理系统,由甲骨文公司开发,广泛应用于企业级数据存储、管理和分析。本教程“Oracle_11G_数据库应用简明教程PPT”将带你深入理解Oracle 11g的核心概念、功能及应用。 首先,...
本文将详细介绍Oracle12c中关于ASM(Automatic Storage Management)磁盘组管理的关键知识点,包括磁盘组属性的理解与配置、创建磁盘组的过程及注意事项。 #### 一、Disk Group 属性详解 磁盘组属性是指绑定到特定...
Oracle数据库系统在IT行业中有着广泛的应用,尤其在大型企业、金融机构和互联网公司的数据存储和管理方面扮演着核心角色。Oracle 10g版本包含了众多特性,旨在提供更高的性能、可用性和可管理性。 首先,Oracle 10g...
综上所述,Oracle 11g 在 AIX 环境下的部署涉及到多个层面的技术细节,包括 Grid Infrastructure 的安装、数据库的安装与配置、ASM 的管理以及集群和备份恢复策略的规划等。通过对这些关键步骤的详细了解和实践,...
### Oracle 11g与10g软件资源百度云下载相关知识点 #### 一、Oracle数据库简介 Oracle数据库是美国甲骨文公司的一款关系型数据库管理系统,在市场上占有重要的份额。Oracle数据库以其高度的安全性、可靠性和灵活性...
总的来说,“Oracle 10g数据库管理艺术”这本书将涵盖上述所有内容,包括但不限于RAC集群的构建与管理、Data Guard的配置、ASM的使用、SQL优化策略、权限与安全控制,以及性能监控和调优等关键知识点。通过对这些...
在使用Oracle GoldenGate与Oracle ASM(自动存储管理)环境进行集成时,可以采用多种方法来进行数据抽取。Oracle ASM是为了优化数据库性能和高可用性,同时减少存储维护操作而设计的。自Oracle Database 10g起引入了...
在Oracle RAC(Real Application Clusters)环境中,ASM(Automatic Storage Management)是一种集成的存储管理解决方案,它提供了数据存储的高可用性和性能优化。Oracle RAC允许多个实例同时访问一个数据库,而ASM...
ASM可以看作是Oracle特有的文件系统,它优化了数据存储和访问,降低了管理复杂性,同时保持了较高的性能。 4. 集群系统 OCFS(RAC) RAC,即Real Application Clusters,是Oracle的集群数据库解决方案,允许多个...
总结,Oracle 10g数据库管理系统为数据库管理员和开发者提供了强大的工具和特性,从高性能的数据存储到灵活的应用系统开发,再到可靠的灾难恢复机制,都是其突出亮点。理解并熟练掌握这些知识点,对于在Oracle环境中...
asm(Automatic Storage Management)是 Oracle 提供的一个存储管理工具。asm 可以自动管理存储设备,提供高性能和高可用的存储解决方案。asm 可以与 openfiler 一起使用,以提供高性能和高可用的存储解决方案。 ...
2. **1Z0-042**:这对应于Oracle Database 10g: New Features for Administrators的考试,主要测试考生对Oracle 10g新特性的了解,如自动存储管理(ASM)、数据泵(Data Pump)、实时应用集群(RAC)以及自动工作...
二、数据存储与管理 在Oracle 10g中,表空间是数据存储的基本单位,用于组织和管理数据库对象。表空间由一个或多个数据文件组成,每个数据文件包含物理存储的数据块。此外,Oracle 10g引入了自动存储管理(ASM),...