论文部分内容阅读
[摘 要]本文主要提供了供水综合管理系统数据库同步备份的可行性方案,并总结了方案的优劣和今后实现的相关建议。
[关键词]供水综合管理系统 Oracle Data Guard
中图分类号:TV 文献标识码:A 文章编号:1009-914X(2013)11-0274-01
1 背景
1.1 供水综合管理系统概况
上海市自来水市南公司的供水规模为214万立方米/日,供水面积约312平方公里,供应人口约320万,是一个集制水供水、营业销售、排管施工、管线养护等为一体的综合性大型供水企业。
上海市自来水市南公司供水综合管理系统的基础系统平台分为系统数据库平台和GIS应用程序平台两部分。针对市南公司海量数据的特点,数据库选用Oracle作为其系统数据库平台。而在GIS应用程序平台的选择上,选用了主流的ESRI公司的ArcGIS系列产品。
1.2 供水综合管理系统数据库安全现状
供水综合管理系统现有数据库版本为Oracle10g(10.2.0.1),运行在一台HP DL580G5服务器上,服务器通过Raid5磁盘阵列进行硬件数据保护。
目前,全部数据的容量已经超过了60GB,数据库表空间已经超过100GB,并日积月累不断增加。
系统数据库使用EXP命令每日和每周进行部分及全库的DMP备份文件导出,并使用Symantec Backup Exec Remote Agent Utility进行定期的自动异机备份和人工手动异地备份。
根据目前的数据库安全环境和数据保护方式,如果发生系统数据库的软硬件灾难性故障,极易造成短期的数据丢失,并需要较长的时间进行系统平台重新搭建、调试、配置及数据还原,严重影响市南自来水各生产服务系统的正常业务运行。
2 Oracle Data Guard技术分析
2.1 Data Guard实现原理
Oracle Data Guard包括一个生产数据库,也称为主数据库,以及一个或多个备用数据库,这些备用数据库是与主数据库在事务上一致的副本。Data Guard利用重做数据保持这种事务一致性。当主数据库中发生事务时,则生成重做数据并将其写入本地重做日志文件中。通过Data Guard,还将重做数据传输到备用站点上,并应用到备用数据库中,从而使备用数据库与主数据库保持同步。
2.2 Data Guard提供的保护模式
Oracle针对用户的不同需求提供三种保护模式:最大保护模式、最大性能模式、最大可用模式。比较如下:
3 供水综合管理系统数据同步备份可行性方案
针对供水综合管理系统对数据库同步备份的需求,采用Oracle Data Guard进行实现。
3.1 基于Oracle Data Guard的優势
节约投资:Data Guard是Oracle原厂自带的容灾产品,完全免费。
技术成熟、稳定:早在Oracle 7版本就已经推出该功能(当时名称为Standby数据库)。其核心采用了Oracle成熟的归档、备份、恢复技术。
对系统运行性能影响小:Data Guard在主数据库服务器端不存在对日志解析等工作,仅需要主数据库服务器端将归档日志文件传输到容灾节点。
Data Guard能够满足供水综合管理系统数据库基本的数据容灾、RTO、RPO、带宽等相关数据安全需求。
3.2 Data Guard运行模式建议
Oracle提供了物理Data Guard以及逻辑Data Guard两种不同的方式。这两种方式各有优缺点。在本方案中,我们推荐采用物理Data Guard的方式。
3.3 Data Guard保护模式建议
根据供水综合管理系统数据库的实际情况,推荐采用最大性能模式。
采用最大性能模式,系统不会实时传输日志文件,传递的是归档日志文件,因此对主数据库性能影响很小。
3.4 Data Guard初始安装步骤
3.4.1 确认主数据库运行于归档模式
如果主数据库没有处于归档模式,那么需要将数据库运行模式修改为归档模式。该修改过程需要短暂停止数据库运行。
3.4.2 物理备份主数据库的所有数据文件
该部分工作可以在不影响业务正常运行的情况下执行。该部分工作依据数据量以及I/O速度不同,所需要的时间也不同。
3.4.3 在主数据库创建standby 控制文件
通过命令创建灾备中心的控制文件。
3.4.4 拷贝备份的数据文件、standby控制文件及日志文件到备份节点。
因为数据量较大,可以将备份的文件压缩后传递。在数据传输启动后无需人为干预。
3.4.5 配置主、备中心的数据库服务器Data Guard环境
该操作对主数据库运行没有任何影响。
其中灾备数据库平台要求与主数据库架构一致,如均为HP DL580服务器。操作系统版本及数据库版本均需要一致。
Data Guard不支持异构平台数据容灾,也不支持不同数据库版本之间做数据容灾。
3.4.6 使用主数据库备份的文件创建灾备数据库系统。
该操作主要是解压文件、恢复数据文件的时间。
3.4.7 配置灾备数据库环境。
根据主数据库的归档日志保持灾备数据库与主数据库一致。
4 总结
通过前面的探索,可以发现Oracle Data Guard方案成本低廉、配置相对容易、可靠性较高、容灾能力强,基本满足供水综合管理系统数据库数据同步备份和故障时数据库切换的需求。
当然,从严格意义上来说,从中我们也可以发现其一些不足之处:
Data Guard不支持异构平台搭建,软硬件系统必须配置相同,一旦硬件或软件平台升级,必须要重新搭建;
Data Guard占用两套主机的系统资源,同时却只提供一套数据库服务资源,无法实现节点的负载均衡及系统资源分流。
所以,如果想要更好的解决方案,可以使用更复杂的RAC+Data Guard方案,RAC保证可用性,Data Guard在RAC组独立磁盘上和另外一台主机上,保证可靠性,这将会获得更好的容灾及资源利用效果。
参考文献
[1]Oracle.Oracle Data Guard白皮书,2004.
[2]黄剑.基于Oracle Data Guard的容灾策略设计与实现.科技广场,2006,11.
[关键词]供水综合管理系统 Oracle Data Guard
中图分类号:TV 文献标识码:A 文章编号:1009-914X(2013)11-0274-01
1 背景
1.1 供水综合管理系统概况
上海市自来水市南公司的供水规模为214万立方米/日,供水面积约312平方公里,供应人口约320万,是一个集制水供水、营业销售、排管施工、管线养护等为一体的综合性大型供水企业。
上海市自来水市南公司供水综合管理系统的基础系统平台分为系统数据库平台和GIS应用程序平台两部分。针对市南公司海量数据的特点,数据库选用Oracle作为其系统数据库平台。而在GIS应用程序平台的选择上,选用了主流的ESRI公司的ArcGIS系列产品。
1.2 供水综合管理系统数据库安全现状
供水综合管理系统现有数据库版本为Oracle10g(10.2.0.1),运行在一台HP DL580G5服务器上,服务器通过Raid5磁盘阵列进行硬件数据保护。
目前,全部数据的容量已经超过了60GB,数据库表空间已经超过100GB,并日积月累不断增加。
系统数据库使用EXP命令每日和每周进行部分及全库的DMP备份文件导出,并使用Symantec Backup Exec Remote Agent Utility进行定期的自动异机备份和人工手动异地备份。
根据目前的数据库安全环境和数据保护方式,如果发生系统数据库的软硬件灾难性故障,极易造成短期的数据丢失,并需要较长的时间进行系统平台重新搭建、调试、配置及数据还原,严重影响市南自来水各生产服务系统的正常业务运行。
2 Oracle Data Guard技术分析
2.1 Data Guard实现原理
Oracle Data Guard包括一个生产数据库,也称为主数据库,以及一个或多个备用数据库,这些备用数据库是与主数据库在事务上一致的副本。Data Guard利用重做数据保持这种事务一致性。当主数据库中发生事务时,则生成重做数据并将其写入本地重做日志文件中。通过Data Guard,还将重做数据传输到备用站点上,并应用到备用数据库中,从而使备用数据库与主数据库保持同步。
2.2 Data Guard提供的保护模式
Oracle针对用户的不同需求提供三种保护模式:最大保护模式、最大性能模式、最大可用模式。比较如下:
3 供水综合管理系统数据同步备份可行性方案
针对供水综合管理系统对数据库同步备份的需求,采用Oracle Data Guard进行实现。
3.1 基于Oracle Data Guard的優势
节约投资:Data Guard是Oracle原厂自带的容灾产品,完全免费。
技术成熟、稳定:早在Oracle 7版本就已经推出该功能(当时名称为Standby数据库)。其核心采用了Oracle成熟的归档、备份、恢复技术。
对系统运行性能影响小:Data Guard在主数据库服务器端不存在对日志解析等工作,仅需要主数据库服务器端将归档日志文件传输到容灾节点。
Data Guard能够满足供水综合管理系统数据库基本的数据容灾、RTO、RPO、带宽等相关数据安全需求。
3.2 Data Guard运行模式建议
Oracle提供了物理Data Guard以及逻辑Data Guard两种不同的方式。这两种方式各有优缺点。在本方案中,我们推荐采用物理Data Guard的方式。
3.3 Data Guard保护模式建议
根据供水综合管理系统数据库的实际情况,推荐采用最大性能模式。
采用最大性能模式,系统不会实时传输日志文件,传递的是归档日志文件,因此对主数据库性能影响很小。
3.4 Data Guard初始安装步骤
3.4.1 确认主数据库运行于归档模式
如果主数据库没有处于归档模式,那么需要将数据库运行模式修改为归档模式。该修改过程需要短暂停止数据库运行。
3.4.2 物理备份主数据库的所有数据文件
该部分工作可以在不影响业务正常运行的情况下执行。该部分工作依据数据量以及I/O速度不同,所需要的时间也不同。
3.4.3 在主数据库创建standby 控制文件
通过命令创建灾备中心的控制文件。
3.4.4 拷贝备份的数据文件、standby控制文件及日志文件到备份节点。
因为数据量较大,可以将备份的文件压缩后传递。在数据传输启动后无需人为干预。
3.4.5 配置主、备中心的数据库服务器Data Guard环境
该操作对主数据库运行没有任何影响。
其中灾备数据库平台要求与主数据库架构一致,如均为HP DL580服务器。操作系统版本及数据库版本均需要一致。
Data Guard不支持异构平台数据容灾,也不支持不同数据库版本之间做数据容灾。
3.4.6 使用主数据库备份的文件创建灾备数据库系统。
该操作主要是解压文件、恢复数据文件的时间。
3.4.7 配置灾备数据库环境。
根据主数据库的归档日志保持灾备数据库与主数据库一致。
4 总结
通过前面的探索,可以发现Oracle Data Guard方案成本低廉、配置相对容易、可靠性较高、容灾能力强,基本满足供水综合管理系统数据库数据同步备份和故障时数据库切换的需求。
当然,从严格意义上来说,从中我们也可以发现其一些不足之处:
Data Guard不支持异构平台搭建,软硬件系统必须配置相同,一旦硬件或软件平台升级,必须要重新搭建;
Data Guard占用两套主机的系统资源,同时却只提供一套数据库服务资源,无法实现节点的负载均衡及系统资源分流。
所以,如果想要更好的解决方案,可以使用更复杂的RAC+Data Guard方案,RAC保证可用性,Data Guard在RAC组独立磁盘上和另外一台主机上,保证可靠性,这将会获得更好的容灾及资源利用效果。
参考文献
[1]Oracle.Oracle Data Guard白皮书,2004.
[2]黄剑.基于Oracle Data Guard的容灾策略设计与实现.科技广场,2006,11.