基于Informix数据库系统备份方案的分析与实施

时间:2022-09-29 10:31:52

基于Informix数据库系统备份方案的分析与实施

摘要:本文通过对Informix数据库备份实施过程进行分析,介绍了Informix-Online提供的数据库备份方法、优化方法和执行方案,并对该方案进行了简析。

关健词:Informix 数据库 备份

中图分类号: 文献标识码:A文章编号:1007-9416(2010)05-0000-00

1前言

Informix数据库因其具有高性能、高可靠性、支持数据完整性定义和检查等特性而得到广泛应用。对于使用中的数据库,数据备份的安全可靠性便成为人们关注的焦点。Informix一Online提供了几种有效的数据备份和恢复的方法,在实践中如何应用这些方法,以便最方便、最安全、最有效地备份和恢复数据,需要数据库管理者根据系统的具体情况制订好计划,在日常工作中执行。[1]

数据库备份策略在维护系统数据安全起着非同小可的作用,好的备份策略应该考虑保证数据的安全,并且操作较为方便。由于Informix多用于管理大型应用程序,因此其数据的备份与恢复是数据库管理员的重要工作。[2]

2Informix数据库备份的方案解析

Informix-Online数据库因其具有高性能、高可靠性、支持数据完整性定义和检查等特性而得到广泛应用。Informix-Online数据库常用的三种数据备份方式如下:

2.1ontape工具

ontape工具具有如下功能:备份和恢复Online数据、备份和恢复逻辑日志、改变数据库日志状态等。在online处于联机或静止方式时,根据备份方案安排进行0级、1级、2级备份。0级备份是对整个数据库的所有数据进行完整备份;1级备份是只对0级备份以后修改过的数据进行备份;2级备份只是对1级备份以后修改过的数据进行备份。ontape备份对online参数配置前后一致性要求较高,如果需要将ontape备份的数据恢复到另一台服务器上时,要求两台服务器机型、操作系统、Onconfig配置文件及非临时分配的Dbspace磁盘空间数量和大小必须一致,否则数据不能正常恢复。备份采用交互方式进行。

2.2dbexport命令

dbexport命令以ASCII码格式将数据写到文件或备份介质上(如磁带)。卸出的文件包括数据库模式文件和数据文件。它以独占方式(exclusive mode)占用数据库,备份期间其他用户不能对数据库进行查询和修改及插入操作。用户可以使用dbexport/dbimport命令,将Informix-online和Informix-SE下的数据进行相互转换;也可以将数据在Informix-online的不同版本之间转换,这种转换对数据库服务器的结构和online的配置没有特别要求;操作灵活。

2.3Onunload命令

Onunload命令以页为单位,使用二进制形式卸出数据,备份效率比dbexport高。但它也有缺点:onunload/onload不能实现不同版本的online之间的数据转移;卸出和接受数据的计算机必须具有相同的磁盘页大小;onunload不保留初始表上定义的同义词。

2.4Unload命令

该dbaccess下的命令可以倒出数据表包含的记录。需要对要备份的表进行逐一指定,且不能同时备份表结构和索引信息。优点是备份出的文件容量小。

3 数据库备份方案的初步实施

目前对数据库批后备份每日进行,首先根据配置文件倒出某些重要数据表的数据,然后对数据库冗余数据进行清除(库中至少保留7天的数据),再备份整个数据库(dbexport)和特定表数据文件到磁带设备中。具体实现过程如下:

由批量数据备份交易(2603)提示用户在主控台上运行/ap/ccb_bank/tools/afterbak.sh文件,该文件进行如下操作:

(1)首先清理由交易产生的临时文件,然后清理数据库备份目录/ap/dbback.after

(2) 接着调用/ap/ccb_bank/tools/datacln清理数据库中的数据,对应datacln命令的配置文件为datacln.cfg。可以在该配置文件中指定某些表数据在数据库中的保留期限,以及是否要单独备份其数据。

Datacln根据配置文件备份某些表的数据,生成重要数据文件,放在/ap/dbbackup中,,然后对数据库中的冗余数据进行清理。如果是提取日,该命令还把重要数据文件拷贝到系统数据库备份目录/ap/dbback.after中(该目录文件将被刻录到磁带中)。

(3) 用dbexport倒出数据库到/ap/dbbackup.after目录,并把该目录文件打包备份到磁带。

(4) 更新数据库索引。以上这种设计原则上要求平时轮流使用一组磁带进行每日备份,每周一个循环,每个磁带保留一周数据,要求每周一个永久备份。根据/ap/ccb_bank/tools/datacln.cfg文件中配置,在重要数据文件的提取日,这些重要文件将和每日数据库完全备份数据一起倒入到磁带中。

4 数据库备份方案的优化

(1) 扩充/ap文件系统到5G,以避免系统经常出现的文件系统空间不够的现象。(SCO不必执行本步骤)

chfs -a size='22347776' /ap

(2) 在AP主机上,另开辟文件系统/backup ,空间20G,用于数据和日志的备份,并建立两个目录/backup/db和/backup/log,informix用户具有读写权限(#chmod R 777 /backup)。其中:

/backup/db/ 中保留数据库备份

/backup/log/ 中保留日志备份

对于SCO,只需创建/backup/db和/backup/log目录即可。

对于AIX,如果DB和AP主机是分开的,需要在DB主机上mount。

在AP上执行:

(1)mklv -y 'lvbak' havg2 320

(2)crfs -v jfs -d 'lvbak' -m '/backup' -A''`locale yesstr | awk -F: '{print $1}'`'' -p 'rw' -t ''`locale nostr | awk -F: '{print $1}'`'' -a frag='4096' -a nbpi='4096' -a ag='320'

(3)mount /backup

(4)在DB上mount AP主机的/backup目录

(3)宕数据库,修改$ONCONFIG指定文件中的参数

TAPEDEV /backup/db/arc

TAPEBLK 16

TAPESIZE 20000000

(4) 每周依然用7盘磁带做当日的数据库和日志的备份。每月底要进行月度备份(保留本月每天的ontape备份数据)。每年底,将每月的备份磁带刻到光盘上。

5 数据库备份方案的执行

(1) 实现第三项中指定的优化方案环境修改;并安装新备份方案的补丁盘。

(2) 在每天日终备份时,首先在DB主机上用informix执行sh /ap/ccb_bank/tools/dbontape.sh,该步骤将数据库用ontape命令备份到/backup/db目录下。

(3)准备每天备份的磁带。

(4)在AP主机上用root执行sh /ap/ccb_bank/tools/afterbak.sh,该步骤首先清理/ap文件系统,然后压缩/ap/ccb_bank/log到/backup/log目录中;再把/backup/log和步骤2中产生的/backup/db内容,备份到轮换磁带中。最后清理数据库表中数据。如果在清理数据库表中数据时,由于某些表数据太多无法清除,则先用informix用户执行sh /ap/ccb_bank/tools/recreate.sh,然后重新用root执行sh /ap/ccb_bank/tools/afterbak.sh。

(5)每月底,准备好一个40G的磁带,用root执行sh /ap/ccb_bank/tools/allbak.sh,该步骤备份每天放到/backup/db和/backup/log中的数据。

6 数据库备份方案的简析

(1) 该方案在实施过程中得出的结论是:使用ontape方法,进行数据库备份和恢复。这种方法不需要重起服务和数据库。(2) 按照该方案进行初步实施优点是:现方案基本能满足数据库备份的要求,而且操作简单。缺点是没有日志的备份;日终备份需要重起数据库和服务。(3) 该方案在执行中应注意的问题是:如果数据库损坏,必须有专人知道进行恢复,并记录恢复的过程,切不可自行恢复。

参考文献

[1] 李毅之.综合业务网中Informix数据库的备份策略,电脑与信息技术,1998年 05期.

[2] 王晓波.浅谈INFORMIX数据库的备份.甘肃科技,2008年 13期.

上一篇:EPON接入技术 下一篇:浅析计算机病毒防治