- 浏览: 909734 次
- 性别:
- 来自: 黑龙江
文章分类
- 全部博客 (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 1196当前数据表名为A,想要更名为B的语句如下: alter tab ... -
ORA-01078 & LRM-00109错误解决方法
2010-03-23 16:40 5447一同事今天刚装完oracle10g后,通过startup命令启 ... -
在线修改redo.log文件的大小
2009-09-02 17:24 59221.查看当前日志组成员: SQL> select mem ... -
怎么确保最终用户在数据库中只有一个会话
2009-08-11 18:47 1480sqlplus / as sysdba create user ... -
测试版-逻辑switchover
2009-07-16 12:41 12121.检查primary数据库是否配置了standby redo ... -
测试版-逻辑standby创建
2009-07-16 12:37 22581、创建物理standby 详见《测试版-物理standb ... -
测试版-物理switchover
2009-07-16 12:35 1058注意:standby数据库应该是alter database ... -
测试版-物理standby创建
2009-07-15 17:37 12521.编辑/etc/hosts文件 # vi /etc/ho ... -
dataguard日志传输方式简介
2009-06-26 12:44 52521、两种日志传输方式 Arch:传统的日志传送方式。现在只 ... -
物理standby的failover
2009-06-26 12:40 1195========================物理stand ... -
物理standby的Switchover
2009-06-26 12:39 1234=======================物理st ... -
dataguard保护模式介绍
2009-06-26 12:38 32861、三种保护模式 1).最大性能(maximize per ... -
查看pga和sga值
2009-05-27 01:07 2489--显示正在使用的参数和文本参数值 1)select * fr ... -
设置sga和pga的值
2009-05-27 01:05 2496--设置sga的值 1)alter system set sg ... -
表的创建时间和表的大小空间
2009-05-27 01:04 1323--查看表的创建时间 select created,last_ ... -
设置parallel_automatic_tuning参数之后的错误的解决方法
2009-05-27 01:02 1724--设置并行度 1)alter system set para ... -
HA、RAC、Datagurad的区别
2009-05-10 20:20 2444标题为:HA、RAC、Datagurad的区别 一.HA简介 ... -
通过shell脚本后台创建表空间
2009-05-10 20:16 20601.用oracle用户登陆并创建shell文件: $ vi / ... -
occi库文件替换
2009-05-10 20:08 20611.从官方下载occi_gcc343_x86_64_10203 ... -
oracle10g查看表空间信息
2009-05-10 20:06 2963SELECT UPPER(F.TABLESPACE_NAME) ...
相关推荐
● 自动存储管理(ASM) :这是一项Oracle欲代替存储陈列软件、卷管理软件的技术,它允许用户创建镜像、条带化硬件。在Oracle 10g网格计算环境中,它允许用户比较方便地在节点分配硬盘与硬盘组,从而获得负载均衡的...
9.5创建与管理ACFS 9.5.1 ACFS驱动资源管理 9.5.2 ACFS注册表资源管理 9.5.3 ASMCA图形化工具创建ACFS 9.5.4 ASMCMD管理卷 9.5.5手动创建ACFS 9.6 ASM管理工具 9.6.1 SRVCTL工具 9.6.2 ASMCA工具 9.6.3 EM...
他的关注方向包括Oracle产品集,以及其他前沿技术和这些技术在优化数据仓库设计和部署的应用。他还是各种技术会议的主讲人,包括COLLABORATE、Oracle OpenWorld和其他地方与区域会议。 Michael Abbey是公认的...
我们将为您介绍Oracle 11g数据库的高可用性功能,其中包括了真正应用集群(RAC)、自动存储管理(ASM)以及数据卫士等。通过阅读本次技术手册,相信您对高可用性的定义将有更加深入的了解,同时在进行高可用环境构建...
Oracle 10g->11g XTTS迁移方案 Oracle 9i至11g exp迁移 Oracle数据库三种迁移方案 Oracle DataGuard方式迁移数据库 数据库迁移升级最佳实践9i-10g-11g Oracle ASM扩容&数据迁移文档 06使用XTTS技术进行U2L跨平台数据...
Oracle Database 10 g :“g”代表网格 1-6 Oracle 数据库体系结构 1-8 数据库结构 1-9 Oracle 内存结构 1-10 进程结构 1-12 Oracle 实例管理 1-13 服务器进程和数据库缓冲区高速缓存 1-14 物理数据库结构 1-...
Bob Bryla是Oracle 9i和10g的认证专家,他在数据库设计、数据库应用程序开发、培训和Oracle数据库管理等方面拥有20多年的工作经验,他也足Dodgeville的Land'End公司的首席Internet数据库设计师和Oracle DBA. ...
《Oracle Database 11g初学者指南》带领读者循序渐进地学习数据库设置、管理、编程、备份和恢复。还深入介绍了SQL和PL/SQL。为了易于学习,这本独特的Oracle Press指南是这样组织的: 核心概念——Oracle Database ...
62 Install Oracle 9i 10g 11g 操作系统兼容列表及配置要求 63 Install Oracle BIEE-12c-Linux安装配置手册 64 Install Oracle Database (RDBMS) on Unix AIX,HP-UX,Linux,Solaris and MS Windows Operating ...
Bob Bryla是Oracle 9i和10g的认证专家,他在数据库设计、数据库应用程序开发、培训和Oracle数据库管理等方面拥有20多年的工作经验,他也足Dodgeville的Land'End公司的首席Internet数据库设计师和Oracle DBA. ...
大型业务系统Oracle数据库 10G升级11G实践.pdf 基于Oracle数据库的数据防护.pdf Oracle ASM的IO架构优化实践.pdf SQLAUTO——数据库SQL变更自动化管理.pdf Developer and DBA Guide to Whats New in MySQL 5.6.pdf ...
大型业务系统Oracle数据库 10G升级11G实践.pdf 基于Oracle数据库的数据防护.pdf Oracle ASM的IO架构优化实践.pdf SQLAUTO——数据库SQL变更自动化管理.pdf Developer and DBA Guide to Whats New in MySQL 5.6.pdf ...
大型业务系统Oracle数据库 10G升级11G实践.pdf 基于Oracle数据库的数据防护.pdf Oracle ASM的IO架构优化实践.pdf SQLAUTO——数据库SQL变更自动化管理.pdf Developer and DBA Guide to Whats New in MySQL 5.6.pdf ...
22.大型业务系统Oracle数据库 10G升级11G实践.pdf 23.基于Oracle数据库的数据防护.pdf 24.Oracle ASM的IO架构优化实践.pdf 25.SQLAUTO——数据库SQL变更自动化管理.pdf 26.Developer and DBA Guide to Whats New in ...
5.3.3.2 临时表空间的存储参数(Oracle9i/10g) 26 5.3.3.3 Undo/temp表空间的估算 26 5.4 其他文件设计 26 5.4.1 参数文件 27 5.4.1.1 参数文件命名规则 27 5.4.2 控制文件 27 5.4.2.1 控制文件命名规则 28 5.4.3 ...
AIF,AIFF:音频互交换文件,Silicon Graphic and Macintosh应用程序的声音格式 ANI:Windows系统中的动画光标 ARC:LH ARC的压缩档案文件 ARJ:Robert Jung ARJ压缩包文件 ASD:Microsoft Word的自动保存文件;...