您现在的位置是:首页 > 行业 > 制造 >

汽车行业MES系统数据备份策略研究

2009-07-20 22:45:00作者:颜国来源:

摘要汽车行业MES系统数据备份策略研究...

汽车行业MES系统数据备份策略研究在MES系统使用过程当中,对于系统源数据的保护,每个企业都有自己对其含义的理解,并且也把这种理解付诸于实施当中,由于每个企业的工业流程不一样,企业的行业属性也不一样,有的属于连续型生产(流程式生产)管理模式,有的属于离散型生产(加工装配式生产),因此对源数据的安全要求也不一样,有的在硬件发生故障或者数据库出现故障时,允许一定时间的应用断开状态下的检修和数据恢复,并且能够承受一定范围内数据的丢失。有的企业属于7*24的制造型企业,生产对系统的稳定性要求高,即使在硬件和数据库出现异常状态,也不允许通过断开应用来对其进行修复,同时更不允许任何数据的丢失,那么对于这两种不同的要求,如何充分利用企业目前的现有资源,结合各种安全策略的优势,通过设置统一标准备份以及安全策略来达到保护数据,以稳定MES系统的稳定运行就成为企业关心的问题。

数据保护有两个层次,一个层次利用数据库的自带工具或其它三方软件对数据库的数据做在线备份,在这种模式下当数据库的物理文件出现故障或者逻辑数据出现异常时,能够利用备份文件在数据库不提供对外服务的情况下恢复数据,这对于一个7×24小时的生产型企业来说,离线的数据库恢复虽然能够恢复还原数据,但是由于恢复过程时间的不确定性和风险性会给相关系统的运行带来不可预估的影响,恢复时间越长对企业的影响也越大,因此提出以高可用性为首要保证的第二种数据保护方式,这种方式是通过配置硬件的冗余以及利用软件故障切换来实现系统的高可用性,它的优势在于故障的及时切换以及对应用的高度透明,把故障的恢复时间缩短在毫秒级别,是一种高级别的数据保护方式。此篇文章将重点讨论第一个层次也就是数据库备份策略的研究。

在制定数据备份策略的时候,不紧需要考虑数据的完整和安全,还必须考虑到保护策略的实施对系统运行性能的影响以及实施过程中硬件的瓶颈,因此首先需了解MES系统数据库相关特性和数据库备份工具的特性,这样才能制定出一个高效健壮的保护机制。

一、MES相关特性

1.数据量稳定:MES系统是在工车辆数据的管理,因此已销售车辆数据会在系统中删除,因此数据库的数据量和年生产量保持一致,其值始终保持在一个量值范围以内,根据作者统计,数据库的数据量稳定在5G左右。

2.数据操作单调:每个星期会进行一次生产计划的接收,也就是生产计划数据的添加以及销售数据的删除,在其它工作日期间,进行的是过程数据的更新,分解到数据库的操作就是少量的数据插入和删除,频繁的数据更新。

3.表的功能划分明确:存放MES系统的原始数据的表,被分为两类,一类存放的是进程信息,程序信息,设备终端登记信息,用户管理信息,车型源信息,此类数据通常情况下变动较少,属于静态基础信息,另一类存放的是车辆的过程信息,此类信息通过多个数据采集终端收集在线车辆状态并通过PLC传送到数据库,信息变动频繁,属于动态车辆信息。

4.并发要求高:MES系统的目标是为了加强车间流水线的精确管理,准确适时的数据搜集是MES的基础,流水线区域划分越细,精确控制程度就越高,大量的数据采集器给数据库带来的是高并发的更新操作。

5.响应时间短:车辆的过程信息经过MES系统的处理必须尽快发送给车间的终端,否则将影响下一工序的进行,因此需要提供快捷的处理服务和尽可能短的响应时间。

二、数据库的备份

Oracle10g针对企业级数据库提供了很多数据备份的工具和方案,每种工具和方案都有其自身的特点,只采用单一的备份模式方案是不全面也是不强健的,一个合理健壮的备份机制往往是数个备份工具和方案的融合应用,针对MES系统的实际环境和需求,挖掘并整合各种备份工具和方案的特性,在提供数据安全备份的同时最大可能的减小对生产应用的性能影响。只有这样才能保证备份策略的一致性和有效性。

 

在制定MES系统数据库的备份策略之前,首先应该了解ORACLE提供的备份工具和机制,下面首先介绍几种oracle10g的常用备份工具以及相关特性。数据库的备份按照备份的环境要求可分为数据库热备份和数据库冷备份,所谓的热备份即在进行数据库备份的时候,数据库处于可用状态,应用保持与数据库的通讯连接,应用的操作不受备份操作的影响,而数据库冷备份则与之相反,在进行数据库冷备份的时候,数据库处于不可用状态,应用和数据库的连接中断,查询,更新,删除等操作无法进行。作为一个7*24小时的生产MES系统应用,为了保护数据库的数据中断应用对数据库进行冷备份代价过于昂贵,可操作性不强,因此可采用数据库热备。按照数据库备份文件的格式可分为物理备份和逻辑备份,物理备份和逻辑备份的最大区别就是备份目标文件的存在形式的不同,逻辑备份出来的数据格式是不能直接被数据库所利用进行直接读写的二进制形式,而物理备份的文件可以直接被数据库进行读写,严格来说逻辑备份并不能作为单一的备份形式存在,它只能作为物理备份的一种附属备份方式。

 1.数据库冷备

数据库的冷备在一些测试系统以及非7*24小时的应用系统中运用比较多,数据库冷备份的优点就是数据库在备份时可以保持对象的一致性,而且操作比较简单,基本上可以使用OS的命令就可以完成备份过程,由于冷备份在使用范围上不是很大,但是作为oracle的一种备份形式存在在以后的版本中也将继续存在,下面我们就来叙述下冷备份的过程:

1)关闭数据库

2)拷贝数据库的物理文件到备份目录,物理文件包括参数文件,网络配置文件,密码文件,数据文件,控制文件以及在线日至文件和归档日至文件。

在进行数据库冷备份的时候应该选择在非工作时间,在数据库备份过程完成之后,可以通过对比源物理文件和备份物理文件的空间大小是否一致来简单验证备份的有效性,对于一些测试系统,数据库的数据完整性并不是所关注的,因此可以选择在任何时候对数据库进行冷备份。

2.数据库热备

数据库热备是在冷备份的基础上发展而来的一种备份机制,ORACLE10G提供了几种不同的工具来实现备份过程,OS热备份,RMAN备份,EXPDP数据导出以及FLASHBACK功能,这些工具都可以在不影响数据库有效性的情况下使用,结合上述工具的优势可以制定出完善的备份机制。

1)OS 热备份

OS热备份是在OS冷备份的基础上发展而来的,它在保持冷备份易操作的优点下突破了对数据库运行模式的限制,数据库在热备过程中始终对外提供服务,应用不受备份过程的影响,数据库热备的原理是将表空间至于特殊模式,维护其一致性,在数据库需要恢复的时候能够提供具有一致性的备份文件,以下为数据库热备的详细实施过程:

a)确认数据库表空间的名称以及数据文件的物理目录
SQL>select t.name tablespace_name, d.status dtafile_status, d.name datafile_location from tablespacet,v$datafile d Where t.ts#=d.ts#;

b)将表空间至于开始备份状态
SQL>alter tablespace (tablespace_name) begin backup;

c)使用OS命令对数据文件进行复制
CP  (datafile_location)  backup_datafile_location;

 

d)使将拷贝结束的数据文件所属的表空间状态置于结束备份状态
SQL>alter tablespace (tablespace_name) end backup;

e)使用OS命令对数据文件进行复制

f)重复步骤2—4 直到所有表空间的数据文件都复制完成

g)复制在线日志文件以及归档日志文件到备份目录

h)复制参数文件,密码文件,网络配置文件等静态文件到备份目录

在实施OS热备份之前,最重要的是了解数据库物理文件在文件系统中的分布情况,这样才能保证所需的备份工作完整性,当表空间置于开始备份状态时,记录在该表空间内的数据文件头文件中的SCN(system change number)将被锁定,此锁定动作并不影响对数据文件的正常读写,但是将会产生额外的redo日志,当表空间结束备份状态,数据库利用这些redo信息更新到最新的SCN,OS热备在8i以前由于简便的操作以及对系统运行代价比较低得到广泛的应用,在10G中也有了新的发展,由于额外的redo的产生对系统的性能或多或少会产生一些消极影响,因此在一些操作密集型,并发程度高的OLTP系统中,此种备份方式谨慎使用,在备份过程中需要过多关注。

2)RMAN备份

Rman备份工具是使用频率最多,也是功能比较强大的一个备份工具,RMAN主要是备份数据库的物理文件,包括数据文件,控制文件,归档日志文件,参数文件,密码文件等,RMAN的优势在于:

·自动的备份与恢复

·方便的备份归档日志

·自动检测新的数据文件·支增量备份

最大限度的减少备份与恢复的错误·减少恢复的时间

·在热备份中不会产生额外的redo日志

·腐烂数据块的自动检测

·并行的备份与恢复操作

 

·在线备份时,表空间不用置于备份模式

10g又增加了如下新功能:a.增量备份的改进,它利用一个和文件系统中日志文件类似的文件,来跟踪从上次备份以来发生变化的数据块。RMAN需要读这个文件决定哪些块需要备份。b.增量合并,在基于磁盘备份的闪动恢复区域功能中,磁盘容量是一个必须要考虑的问题,通过使用执行语句添加compress关键字来压缩增量备份的文件是一个节约空间的有效方法。C.恢复预览,通过定期的检查来确认恢复时做什么样的准备。d.跨越resetlog的数据库恢复,通过增加控制文件增加结构,RMAN可以在一次resetlogs操作之前或之后随时利用所有的备份来恢复数据库,这意味着在一次resetlogs操作以后数据库可以迅速的被用户打开。

3)EXPDP(export dump)的使用

Expdp是oracle 10g在以前版本的exp发展而来的一个实用程序,属于逻辑备份方式的一种,它读取数据库并把输出转储到一个二进制文件中,该文件保存数据库模式对象的相关信息,有四种不同的备份方式:a.表方式,导出全表或者定制查询数据。b.表空间方式,将某个特定的表空间的对象导出。c.方案方式,导出具体用户相关的数据。d.数据库方式,将数据库中所有对象导出。它与之前的exp相比有了如下的改进:1.导出数据速度提高,经过作者的测试5G的数据在没有设置并行的方式下25分钟就可以完成,相比较exp速度大幅提高。2.可以设置并行度,并发的导出模式通过增加通道数量来提高导出速度。3.导出的文件比exp导出的文件大小要小,节约了占用磁盘的空间。4.前台退出导出界面,后台可保持继续运行状态,并可以任意中断或继续导出过程,过程可控性得到了加强。

在综合了以上的expdp的特性之后,制定了如下的数据导出策略:

a)在服务器端使用文件处理来创建和读取文件,因此目录作为文件使用
SQL>create directory dpdata as ’/ora_back/expdp//dpdata’;
SQL>grant read,write on directory dpdata to dykmesv2;

b)使用EXPDP导出MES方案对象
SQL>expdp liqun/oracle owner=liqun directory=dpdata1 dumpfile=expliqun.dmp  job_name=liqun_export

c)启用数据库的flashback(闪回)功能
闪回功能主要是针对数据库操作人员的误操作恢复,比如误删除某张表,可以利用flashback来闪回查询以及恢复这张表,当启动它以后,它会定期将已发生变化的块写入到闪回日志的日志文件中,这些日志不是由传统的Log Writer (LGWR) 过程写入,而是由一种称作Recovery Writer的新过程来写入:
$ ps -ef|grep rvwr|grep -v grep
oracle 27231 1  0 17:10:30 0:00 ora_rvwr_dyktmesv2
与常规的重做日志有所不同,闪回日志既不需要DBA创建,也不需要DBA维护,它们由Oracle Managed Files(OMF)自动在闪回恢复区域所指定的目录中创建。

启用过程如下:

SQL>Shutdown immediate;
        SQL>startup mount;
        SQL>alter database flashback on;
       

 

SQL>alter system set db_recovery_file_dest=’/ora_backup/ora_flash_area’;
        SQL>alter system set db_recovery_file_dest_size=2g;
        SQL>alter system set db_flashback_retention_target=1440;
        SQL>alter database open;

三、MES备份策略制定

在综合以上oracle备份方案以及工具的特点,结合MES系统的特点,在保证备份数据安全性的前提下,最小程度的减小备份任务对数据库性能的负面影响,制定出以下备份策略:

1)以月别为区分对数据库实行以月为周期的数据库OS热备份2)以天为周期,利用RMAN对数据库进行增量备份

备份脚本
run {
allocate channel d1 type disk;
backup incremental level 0 database format’/home/oracle/rman_backup/level0_%d_%s_%p_%u.bak’
tag=’level 0’include current controlfile;
-----------   level 0 backup
backup incremental level 1 format’/home/oracle/rman_backup/level1_%d_%s_%p_%u.bak’tag=’level 1’database; 
-----------   level 1 backup
backup incremental level 2 format’/home/oracle/rman_backup/level2_%d_%s_%p_%u.bak’tag=’level 2’database;
-----------   level 2 backup
sql’alter system archive log current’;
backup archivelog all format’/home/oracle/rman_backup/log_%d_%s_%p_%u.bak’delete allinput;
release channel d1;}

 

3)每天选择系统负载低的时段,利用EXPDP对MES计划实行对象的导出,以6个小时为一个周期。每天进行四次的导出任务,由于数据量相对稳定保持在5G左右,因此导出时间可以保持在半个小时以内。

4)开启数据库的FLASHBACK功能,并将产生出的相关日志文件妥善保管,及时使用RMAN删除过期的日志为后续的日志预留充足的磁盘空间。
 
        四、结 论

oracle数据库提供了丰富的备份方案以及工具,如何高效的使用它们,融合它们的优势,建立完整健壮的数据库备份策略,首先必须对行业别MES系统的需求和特点进行分析,只有了解了系统的流程以及特点,才能做到有的放矢,明确备份目标。其次还必须了备份工具使用的条件限制以及相关特性,只有这样才能制定出对系统运行的性能影响最小的高效的备份策略,通常来说,MES系统的数据库的备份采用物理备份和逻辑备份相结合的方法,备份方式的多样性可以明显减少数据库在宕机情况下的数据的丢失,组合方式越多,对数据的保护也就越完善,在下一步的研究过程中,将着重分析如何优化备份策略减少对系统性能的负面影响。


(本文不涉密)
责任编辑:

站点信息

  • 运营主体:中国信息化周报
  • 商务合作:赵瑞华 010-88559646
  • 微信公众号:扫描二维码,关注我们