Informix-Online数据库以其高性能、高可靠性、支持数据完整性定义/检查等特点被广泛使用。对于使用中的数据库,数据备份的安全性和可靠性成为人们关注的焦点。笔者根据多年的学习和经验,总结比较了三种常用的Informix-Online数据库的数据备份方式。本文介绍的备份多为备份到磁带的热备份方式。一、使用ontape工具进行数据备份1、ontape工具的作用ontape工具有以下功能:备份和恢复在线数据、备份和恢复逻辑日志、改变数据库日志状态等(本文重点介绍关于数据备份功能)。2、执行ontape备份数据的语法ontape备份语法为:ontape-s-Lbackuplevel(0,1,2)当online为online或static模式时,Informix用户或具有DBA权限的用户可以通过执行上面的命令。0级、1级、2级备份按备份计划安排。0级备份是对整个数据库中所有数据的完整备份;1级备份只备份0级备份后修改的数据;二级备份只备份一级备份后修改的数据。3、使用ontape工具进行数据备份需要注意的问题1)在进行ontape备份前,正确设置Onconfig文件中的TAPEDEV、TAPEBLK、TAPESIZE参数。2)为缩短数据恢复时间,应以0级为主,尽量减少1、2级备份。银行等重要部门的数据每天都要做0级备份。3)如果需要将ontape备份的数据恢复到另一台服务器上,两台服务器型号、操作系统、Onconfig配置文件、非临时分配的dbspace磁盘空间数量和大小必须一致,否则数据无法恢复恢复正常。4)必须保证有足够的逻辑日志文件可用。如果剩余逻辑日志空间小于单个逻辑日志的50%,Informix-online将拒绝执行备份操作。在备份数据之前,必须先备份使用过的逻辑日志。5)保留Onconfig文件的副本。0级备份后,需要备份Onconfig文件,因为0级备份恢复时需要读取Onconfig文件信息。如果修改了在线配置,数据恢复会失败。如果恢复0级备份,则必须恢复当时的配置。6)备份可以在线或静态方式进行,备份过程中不能改变在线运行方式,否则备份会中断。7)不要使用后台方式执行备份命令(UNIX下的&&),因为备份是以交互方式进行的。二、使用dbexport命令进行数据备份一、dbexport命令简介dbexport命令将数据以ASCII格式写入文件或备份介质(如磁带)。dbexport卸载的文件包括数据库模式文件和数据文件。2、dbexport命令的语法如下:dbexport[-X][-c][-q][-d][-ss][{-o-t-b-s[-f]}]以上命令如下:<>中的内容为必填项,[]中的内容为可选项。-c:表示如果没有错误,则输出所有信息。-q:不在标准输出设备上显示错误信息、警告和生成的SQL数据定义语句。-d:只输出blob描述符,不输出blob数据。-ss:输出schema文件中创建数据库和表的服务器特定信息,如:初始extent和附加extent大小、锁定方式、表所在的dbspace等信息。-o:指定数据输出文件的磁盘目录。-t:指定数据输出文件的备份介质名称。-b:指定备份媒体块大小。-s:指定备份介质的最大存储容量。-f:用于指定存储在备份介质上的模式文件名。database:指定备份的数据库名称。使用dbexport功能及注意事项1)执行dbexport命令,必须是Informix用户或具有DBA访问权限的用户;2)用dbexport备份的数据必须用dbimport命令恢复;3)用户可以更改通过编辑schema文件数据库生成的dbimport,例如更改数据库名称或相关表信息;4)dbexport以独占模式(exclusivemode)占用数据库,备份时其他用户无法查询、修改和插入数据库;5)模式文件不保留数据库的日志文件,用户在使用dbimport命令创建数据库时必须为新数据库选择一种日志模式(ANSI、buffered、nobuffered类型);6)用户可以使用dbexport/dbimport命令将Informix-online和Informix-SE下的数据相互转换;您还可以在不同版本的Informix-online之间转换数据。这种转换对数据库服务器的结构和在线配置没有特殊要求;7)使用dbexport/dbimport命令备份/恢复数据,可以消除数据分配空间碎片的作用,提高数据库的整体运行效率。三、使用Onunload命令进行数据备份1、Onunload命令介绍Onunload命令以页为单位,以二进制形式卸载数据,其备份效率高于dbexport。2、Onunload命令语法Onunload[-l][-t][-b][-s][:[owner>.>上述参数含义如下:<>中包含的内容为必填项,[]中的内容内容可选-l:指示onunload分别从配置参数TAPEDEV、TAPEBLK和TAPESIZE中读取磁带设备、块大小和备份设备容量值-t:指定备份设备名称-b:指定备份设备的块大小-s:指定备份设备的存储容量database:指定要备份的数据库owner:指定表的所有者table:指定要卸载的表使用时需要注意的问题onunload1)onunload备份的数据必须用onload命令恢复;2)onunload/onload无法实现线上不同版本之间的数据传递;3)onunload/onload是以磁盘页大小为单位存储的二进制数据,卸载和接收数据的计算机必须具有相同的磁盘页大小;4)只能将onunload卸载的数据加载到在线管理的数据库或表中;5)用户必须有DBA访问权限才能执行onunload命令;6)onunload不保留初始表上定义的访问权限;7)onunload不保留上面定义的初始表Synonyms。以上三种数据备份方式各有特点。Ontape备份要求在线参数配置前后一致性高,但数据备份和恢复操作简单,备份和恢复速度快;onunloadbackup以页为单位,以二进制形式进行备份。更高,只要数据恢复时电脑磁盘页面大小一致即可;使用dbexport制作的备份可以实现不同版本、不同Informix产品之间的数据转换,数据传输灵活方便。为保证数据能够安全恢复,数据备份至少应选择两种方式。通过对Informix-Online数据库常用的三种备份方式的分析、比较和总结,用户可以根据实际情况选择适合自己需求的备份方式,从而保证数据的安全恢复和传输
