袁向英
摘要:容灾系统是指在不同的地区建立功能相同的多套系统,两个系统之间互为备份,同时继续数据库健康状态的监控和功能热切换,当其中有一个系统停止工作时,整个应用系统可以将业务即刻切换到另一处,使得该业务可以继续正常工作。该文分析数据库备份的一些概念和类型,用Oracle中的Rma和EXP技术对本地数据库进行备份,使用Logminer恢复用户修改的数据。在此基础上建立本地应用容灾的环境,使用OCM、Oracle,创建数据库配置节点设置来实现异地容灾体系。
关键词:Oracle;容灾;数据备份;并行数据库;日志挖掘
中图分类号:TP391 文献标识码:A 文章编号:1009-3044(2012)36-8591-04
1相关技术基础
1.1Oracle的备份
1.1.1冷备份
冷备份是指通过正常的指令关闭数据库后备份物理文件。Oracle数据库的冷备份是所有备份方式中最基础的也最容易实现的一种方式,但只有在数据库处于关闭的时候才能对数据库想冷备份;然后可以第三方的备份工具或者操作系统工具对数据库进行备份,这时的数据库是处于关闭状态的,不能提供服务,还有一种情况就是如果数据库是出现异常情况后关闭的,那么数据库的数据文件头和控制文件的状态很有可能是不同步的,控制文件和联机重做日志所处的状态很有可能也是不同步的,数据文件和联机重做日志文件也是不同步的,如果在这种状态下做的冷备份文件没有任何意义。
1.1.2热备份
热备份就是在不关闭数据库时做的备份,所谓热备份是相对于冷备份定义的。数据库文件的运行模式有两种一种是归档模式,另一种是非归档模式。归档就是将联机重做日志备份,如果数据库处于归档模式下运行时,是完全可以使用热备的方式对数据库文件进行备份的。不使用ARCH进程进行归档的数据库就是非归档模式,在该种模式下,在进行日志切换时不会有归档日志文件产生。
1.1.3备份工具Exp,Imp,Rman
Exp是一种热备份方式的工具,在打开数据库的情况下,做数据库的备份用Exp工具是完全可以的,这种工具是由Oracle数据库自带的一种备份程序。Exp是一种可以以dmp格式的文件形式将把用户数据以表为单位进行导出的工具。
Imp是一种数据恢复工具,也是Oracle数据库自带的工具,Imp工具可以读取dmp文件,并将dmp格式的数据文件中的数据导入到某个帐户下,从而达到数据恢复的用途。Exp是一种逻辑备份,不能备份归档文件、控制文件、参数文件、数据文件等一些数据库级的文件,只能备份数据库用户的数据和所属的对象。
Oracle提供了一个非常强大的备份工具那就是Rman,它不但可以用于备份归档模式的数据库,也可以对非归档模式的数据库进行备份,同时还可以对数据库级的文件进行备份,例如:数据文件、用户的数据、归档日志文件、控制文件,口令文件以及参数文件等这些数据库级的文件。
1.2备份与容灾的区别
1.2.1当数据库在非归档模式下运行时
在使用操作系统级别的复制命令这种冷备份的恢复时候,需要准备和主服务器相当配置的硬件平台、装上相同的操作系统、Oracle数据库软件平台。在使用Imp命令做数据恢复,要先创建一个跟需要容灾的数据库一模一样的表空间、用户等的数据库文件,然后手工建立与原数据库文件相同的控制文件和参数文件,最后是使用Imp工具命令对数据进行恢复。
1.2.2当数据库在归档模式下运行时
在使用Rman进行参数文件、数据文件、控制文件恢复前要先准备好与主服务器相同的硬件服务器平台与操作系统平台,并安装相同版本的Oracle数据库软件,然后恢复控制文件,参数文件、数据文件,最后利用归档日志完全恢复数据库。表1为当数据库运行在非归档模式。
表1 当数据库运行在非归档模式
[备份工具\&备份的范围\&关闭数据库\&恢复的范围\&备份、恢复速度\&Rman;\&所有的物理文件\&不需要\&不完全恢复\&较快可以使用并行\&冷备份\&所有的物理文件\&需要\&不完全恢复\&慢,受限制于操作系统\&Exp;\&用户数据\&不需要\&不完全恢复\&慢,使用的DDL和DML语句\&]
从上面叙述可以知道,对于数据库的备份只是数据库容灾的一种手段,保证了数据库中数据的不丢失,并不能保证数据库业务应用的连续性,备份和容灾二者之间应该是不同层次的两个概念。
1.3日志挖掘技术
Logminer是一种日志分析工具,在Oracle8i/Oracle9i数据库产品中都集成了这个工具,归档日志和重做日志中的所有事务变化都可以使用Logminer来分析。Logminer技术不但能够通过在所有的事务中找出由用户误操作而发生的错误事务,并且还通过Logminer技术对此类用户误操作事物所产生的错误事物执行回滚操作,从而可以恢复数据库的局部的变化而不用恢复全部数据库。
并行服务器技术Rac,是OracleRealApplicationServer的简称,RAC技术的具有高可用性及高可扩展性两个优点。它一般有两台或者两台以上同构计算机及共享存储设备构成,可提供强大的数据库处理能力,在OracleRAC环境下,Oracle集成提供了集群软件和存储管理软件,为用户降低了应用成本。当应用规模需要扩充时,用户可以按需扩展系统,以保证系统的性能。
2容灾体系的建立
2.1使用exp/imp构建本地的数据逻辑备份策略
逻辑备份最大的好处是简单、灵活,在数据两不是特别大的情况下速度也是非常快的;可以在夸平台、跨数据库版本。逻辑备份作为物理备份的一个辅助备份,在防止用户误操作导致的误删数据等方面有一定
构建逻辑本分略的思路主要是:编写一个exp导出的脚本,然后通过操作系统的任务管理器将脚本配置为定时自动执行,达到自动备份的效果。
2.2建立用户错误的容灾体系
2.2.1利用Logminer来恢复用户修改的错误数据
Logminer的安装过程中首先需要先运行以下两个脚本:$Oracle_HOME/rdbms/admin/dbmslm.SQL,$Oracle_HOME/rdbms/admin/dbmslmd.SQL然后再安装Logminer工具。
必须以系统的身份来运行这两个脚该文件。这两个脚本分别是创建DBMS_LOGMNR_D包和DBMS_LOGMNR包,它们分别是用来分析日志文件和创建数据字典。
创建日志文件列表过程总我们要考虑到两种方式:在线和离线归档日志文件。通过对过程DBMS_LOGMNR.START_LOGMNR中几个不同参数的设置,可以缩小要分析日志文件的范围。
2.2.2建立本地应用容灾
在建立本地应用容灾系统时,由于Rac技术的优越性,在提供客户端服务的某个节点出现服务中断的情况时,其他节点会主动代替该节点工作,从而为客户端提供有效的服务,并且在所有提供服务的节点间形成负载均衡,平均来分担客户端的业务数据请求。所有节点都具有相互替代工作的功能,也可以随时向集群系统中加入新的服务接入点,成为新的节点与其他节点一起形成新的集群节点,并达到负载均衡。下面举例说明Rac平台在搭建过程中的一些需要注意的问题:
2)操作系统准备
加载系统状态检查模块
5)测试、使用RAC
在正常的系统配置完成后,需要配置本地数据,主要是配置本地的文件名称,以及系统连接方式,在完成所有的配置后,业务系统发挥作用,各用户可以通过客户端与Rac集群进行正常的业务连接请求。
3容灾系统的测试
3.1测试大量数据丢失
3.1.1使用Imp恢复数据库
1)首先是保证数据库的正常连接,如果客户端已经连接到目标数据库,如果数据库中存在SJDOC用户的数据,应先将其清除。
2)重建用户并分配表空间和授予角色与权限。
3)利用用Imp工具恢复数据库。
4)验证。
使用SJDOC用户登陆,察看数据字典中该用户的表是否已经完全恢复。
3.1.2使用Rman恢复数据库
1)设置环境变量。
2)连接到Rman中,把数据库启动到Mount阶段。
3)恢复数据库。
4)以resetlog打开数据库。
5)验证。
使用SJDOC用户登陆,察看数据字典中该用户的表是否已经完全恢复。
4结束语
为有效的保证数据库中数据的安全、数据信息的准确,只有正确的建立数据库容灾系统和应用系统的容灾系统,才能将使业务系统具有高可用性以及使业务系统提供连续性的服务。采用Rac数据库并行技术能够缩短业务处理时间,可以提高联机处理事务效率。
参考文献
[1]FreemanRG.OracleBackupandRecoveryConcepts[M].JohnWiley,2009.
[2]MatthewHat.OracleRecoveryManagerReference[Z].
[3]BurlesonDK.OracleDataMiningConcepts[M].北京:机械工业出版社,2002.
[4]边凯.从本地到远程实现异地容灾的三步走[J].中国计算机用户,2005(3).
[5]周可记.邮政综合计算机网容灾中心系统方案[J].邮电设计技术,2005(1)
[6]侯海波,谢文华.分级容灾——漫谈城市公共容灾中心的建设[J].网络安全技术与应用,2004(10).
[7]郝鹏.居安思危认清容灾的重要性[J].中国计算机用户,2004(27).
[8]伊岚.浅谈数据的备份和容灾[J].电信快报,2004(8).