分类: 服务器与存储
2008-06-13 13:43:56
由于Informix多用于管理大型应用程序,因此其数据的备份与恢复是数据库管理员的重要工作,因此有必要掌握Infomix动态服务器的几种常用的传统数据备份与恢复方法。
对于Informix数据库,在线数据流备份和其它数据库一样具有最高的效率和实用性,建议对于商用Informix数据库采用在线数据流的备份模式。而其它ontape、dbexport、unload作为常用的备份维护工具,可以作为补充备份方式存在。
使用Ontape备份Informix数据库
ontape工具允许用户执行如下任务:
* 增量备份(0、1、2级)动态服务器的文档数据;
* 改变数据库的日志状态;
* 自动备份逻辑日志文件;
* 连续备份逻辑日志文件;
* 从文档恢复数据;
* 使用数据复制。
(注:为了执行这些功能,用户必须作为“root”或者“Informix”用户登录。)
使用ontape备份逻辑日志
逻辑日志被写满后,一定要将其备份,否则,用户数据库处理工作将被终止。逻辑日志备份方法有两种:自动备份逻辑日志与连续备份逻辑日志。
⒈ 自动备份逻辑日志
备份所有已写满的逻辑日志文件,称之为自动备份。在当前日志文件填满后,online自动地转换到一个新的逻辑日志文件。已满的逻辑日志文件显示未释放状态U。当用户将其备份后,状态从U变为UB。执行该程序时,应在前台完成,不要使用系统后台操作符&来执行此命令,因为这会将用户的工作放在后台执行,而用户就不能接收到任何反馈。
ontape处理过程是一个交互式的对话,若需要,系统会提示用户更换磁带。
步骤如下:
用DBA注册系统,执行命令:
$ontape -a
⒉ 连续逻辑日志备份
随着每个逻辑日志文件被写满,online系统将会自动地备份它们。
用DBA注册系统,执行命令:
$ ontape -c
在备份逻辑日志时,需注意:
*备份前,确信已将配置文件$ONCONFIG中的备份逻辑日志设备设置成可用的磁带设备LTAPEDEV (该设备可能与0级备份设备相同),并设置正确的块大小。
* LTAPEBLK与磁带容量LTAPESIZE。
* 确保与磁带均可用。
* 逻辑日志与0级备份配合使用,确保0级备份中包含逻辑日志的编号,而逻辑日志备份中的编号具有连续性。
修改数据库日志
通过使用ontape实用程序,用户可以对数据库作出如下修改:
* 给数据库增加日志;
* 终止数据库日志;
* 将数据库日志从缓冲区模式改为非缓冲区模式;
* 将数据库日志从非缓冲区模式改到缓冲区模式:
⒈ 将数据库(如dba1)的日志模式改变为非缓冲日志方式,执行命令:
$ ontape -s -U dba1
选0级备份即可。
⒉ 将用户数据库(例如dba1)的日志模式改变为缓冲日志方式:
$ ontape -s -B dba1
选0级备份即可。
⒊ 将用户数据库(例如dba1)的日志模式改变为无日志方式:
$ ontape -s -N dba1
结果立即生效。
对Informix系统数据库存档
Informix系统采用增量备份的方式,即0、1与2级共三个级别对系统数据存挡。
0级:最完整的系统备份,它包含了备份时刻OnLine系统的所有数据,记录的是备份那一时刻数据库的状态,其中包括备份时刻的当前逻辑日志。
1级:对0级备份后所有发生变化的数据进行备份。
2级:对1级备份后所有发生变化的数据进行备份。
注:
(1) 只有当online系统处于在线(OnLine)或静止(Quiescent)方式时,才能生成一个文档的备份。
(2) 一个文档的备份可能需要多盘磁带。一旦一盘磁带被写满,online系统将提示操作员对该磁带标上标签,若需要,提示操作员更换另一盘磁带。
(3) 每次生成0级备份时,还应备份相应的系统配置文件
如: $ONCONFIG、$INFORMIXDIR/etc/sqlhosts、$INFORMIXDIR/.profile、/etc/services、/etc/hosts等。
一旦OnLine系统遭到破坏被要求从磁带上恢复系统时,这些配置文件将被使用。
(4) 执行ontape程序备份系统时,应在前台完成。不要使用后台操作符&执行此命令。Ontape处理过程从一个事务处理对话开始,如需要,它将提示用户更换磁带。
生成0级备份,需用DBA注册系统,执行命令:
$ ontape -s
利用ontape从一个备份文档中恢复数据发生下列三种情况之一时,必须恢复online系统及数据:
* 用户想替换一个或多个磁盘;
* 用户的磁盘发生介质失败;
* 用户的online数据遭到严重损坏。
使用ontape工具,用户不能恢复一个被选择的表或数据库。因为用户从一组完整的文档和逻辑日志备份磁带中执行数据恢复,因此online恢复那些包括所有online数据库的磁带完整内容。
物理恢复零级备份的过程
利用0级备份介质对OnLine系统进行恢复,数据只能恢复到备份时刻止。
步骤如下:
置online系统处于离线(Off_Line)状态,将零级备份磁带插入正确的磁带机,用DBA注册系统,运行命令:
$ ontape -r
逻辑恢复零级备份的过程
利用0级备份介质与逻辑日志备份介质对OnLine系统进行恢复,可将数据恢复到发生故障时刻止。
采用dbexport与dbimport对数据库进行逻辑备份:
⒈数据卸载工具dbexport备份
dbexport的功能:
* 将指定的数据库卸载成ASCII码文件。
* SQL命令的Schema文件被创建。
* 将指定数据库中的所有触发器、所存进程、缺省值、约束及数据库中所有表的替代名卸载到磁盘或磁带。
dbexport处理一个数据库并生成一个特定的目录。该目录以.exp结尾,包含指定数据库每个表的ASCII转储文件。还生成一个SQL文件,该文件包含DDK命令和一些附加信息,dbimport工具使用这些文件重建数据库。
dbexport 语法
dbexport [-c ] [-d] [-q] [目标文件选项] database [-ss] [-V]
例:$ dbexport -c -t /dev/rct0 -b 20 -s 30000 -f /usr/databack/stores7.sql stores7 -ss
这条命令将stores7数据库输出到磁带。其中数据块尺寸为20KB,并且每个磁带写入30000KB。如果错误产生,则程序继续。并且将磁盘上的stores7.sql 文件放在/usr/databack目录。并包含服务指定信息。
结果完成后将出现信息
dbexport completed !
备份所产生的*.exp目录包含所有数据库表中记录的内容,可作为文本文档进行二次利用。
⒉数据装载工具dbimport
dbimport功能
* 数据库被创建;
* 将ASCII码数据导入数据库;
* 数据和数据库模式可被从磁盘或磁带中载入;
* 用户被授予在数据库上的DBA许可。
dbimport语法
dbimport [-c] [-q] [输入文件定位选项] [create 选项] database
例:用DBA注册系统,确认无用户使用将装载的数据库,删除已存在的需要更新的原数据库,运行:
$ cd /usr/informix/data
$ dbimport stores7 -d datadbs -l
=开始装载数据库,结果完成后将出现信息:
dbimport completed !
该命令完成了将dbexport工具备份的stores7数据库恢复到datadbs数据空间,保留其处理日志模式。
需要指出的是,使用dbexport和dbimport工具只是对指定的单个数据库做备份和恢复,并且用户必须具有该数据库的DBA权限。与ontape工具相比具有相对的灵活的特点,但对于online所有数据的恢复需反复执行上述命令。
⒊使用onbar工具
onbar是为informix版本7.21后引进的新的备份和恢复工具。Onbar允许创建数据库服务器数据的拷贝,在原始数据丢失或破坏是可以恢复拷贝。
Onbar可对数据库服务器dbspace进行并行备份和恢复来提高性能,也可允许多个用户创建多个备份和恢复会话。
Onbar默认的每次自动执行对写满的逻辑日志备份或由系统管理员切换日志。
Onbar 依赖管理程序与存储设备进行通讯。通过选择合适的存储管理程序,可以使用和利用虚拟任何可用的存储设备,包括完善的磁带存储器和光盘机设备。
Onbar 使用X/OPEN备份服务应用程序接口(XBSA)与备份管理程序通讯。
Onbar 能够支持多种XBSA相应的存储管理程序。Informix 的系统是第一个执行工业备份服务接口标准的关系型数据库管理系统。
Onbar 的构成
Onbar程序;
存储管理程序(i.e.IBM ADSM, OmniBack,Legato Networker);
XBSA接口( 系统管理程序、备份服务API、X/OPEN成员);
Onbara 目录表;
Onbar 消息文件;
Onbar 应急引导文件。
备份工具Onbar 与ontape 的比较
Onbar 命令使用起来简单、方便,和ontape相比,功能有所增强。首先,onbar提供数据库对象的高速的、并行的备份和恢复。而ontape是逐次将每一个chunk备份到单一设备。对于较大的系统来说,这就意味着备份会很慢。其次,onbar设定在备份和恢复是不需要操作人员在场,从不提示用户输入。再次,onbar 允许备份特殊的dbspace,这一特性允许用户应系统需要订制备份方案,更多的动态数据可以被经常和快速的备份。此外,onbar还允许将日志和数据备份使用同一介质,对于使用的数据库较小,而且没有操作员能在一天内多次更换数据备份和日志备份磁带的地方,这种功能尤其重要。
总结
对Informix数据库进行备份,可以采用ontape、dbexport、onbar以及unload等工具。使用单独的磁带作为备份介质,传统的备份工具一般使用ontape。作为数据库管理员的好助手dbexport可以下载数据库为ASCII码,可对数据进行修改维护。Informix数据库带有Legato备份管理系统,Onbar是Informix适应最新的备份发展而推出来的一个备份工具,它具有和备份管理系统直接连接的功能,能够将数据直接备份到中,实现磁带介质的自动管理,并且可以高效地采用在线流式方法备份数据。