关于Informix数据库灵活备份的探讨

【关于Informix数据库灵活备份的探讨】
随着保险业务的不断规范化 , 中国人民保险公司系统的业务正在向全面计算机处理发展 , 业务、财务等数据有向地市级分公司和省公司集中的趋势 , 这虽然大大减少了程序和数据的维护量 , 增强了数据的可利用性 , 但同时也对数据的安全备份工作提出了更高的要求 。每个计算机系统管理员都十分清楚数据备份工作具有时间性强、安全性要求高、责任重大和备份过程繁琐等特点 , 一旦疏忽 , 遇有计算机系统出现故障 , 数据遭到破坏或丢失 , 将会出现灾难性的后果 , 给工作造成不应有的重大损失 。为此 , 结合实际工作 , 笔者对Informix数据库安全及灵活备份工作进行了深入探讨 , 总结了如下几种备份方式 , 经过多年实践证明 , 这样做可使数据万无一失 , 对确保各项业务的正常进行具有良好的实用性 , 同时 , 因其具有灵活性强、安全性高的特点 , 也大大减轻了计算机系统管理员的工作量 。
一、定期做数据库的零级备份
数据库零级备份是重要的备份手段 , 日常一般用磁带备份 , 经常用于做重大操作之前的备份 , 其操作命令很简单 , 就是用Informix数据库系统所给的命令 ontape -s 根据提示一步一步去做 。零级备份的恢复用 ontape -r 交互操作来完成 , 这里不再赘述 。由于磁带机设备速度比较慢 , 对于大数据量来说不论是备份还是恢复花费的时间较长 , 因此 , 可采用在硬盘上做零级备份的办法 。具体操作如下:
(1)在硬盘上划一个足够大的空间 , 用于备份文件的存放 。
(2)用onmonitor或用vi 将参数TAPEDEV指向零级备份文件 。
如把参数改为TAPEDEV=/data/databk , 意思就是/data目录下的databk文件作为数据的存放空间 , 同样 , 逻辑日志参数也可修改如下 , LTAPEDEV=/data/logbk , 这样可做硬盘零级备份和逻辑日志备份 , 备份和恢复时间比磁带机缩短很多 。
零级备份的缺点是对同一个数据空间的数据库不能单独备份 , 而且备份完毕的介质无法直观显示 , 给人一种不踏实的感觉 。另外 , 一个数据库发生故障时 , 其他的也要被一起恢复 , 造成不必要的麻烦 , 为此笔者建议结合使用下面的备份方法 。
二、数据库的自动备份
我们计划让数据库在凌晨3时做dbexport导出备份 , 将备份文件传送到另一台Unix机器上 , 同时也可以将备份文件拷贝到磁带上 , 为此可以在机器自启动文件中加入idleout 120 命令 , 由于dbexport命令在有用户打开数据库时无法操作,这样就可保证在凌晨3点以前自动杀死所有忘记关闭的用户进程 。
1.导出数据库
(1)先建立一个数据备份用的用户 , 如databk 。再建立如下三个文件:1motorbk用于备份频繁变动的数据库;2fbbk用于备份每季度才变动一次的再保险数据库;3tapebk将备份文件写向磁带的文件 。
(2)设定.profile工作环境 。一定要注意DBDATE的格式 , 保证其与数据库中的日期格式完全一致 。
(3)将所有需要备份的数据库赋予用户databk DBA权限 , 方法为所在用户登录执行命令 grant dba to databk 。
(4)在用dbexport命令将数据库中的数据备份成一个文本文件之前 , 应先建立一个备份目录 , 以容纳备份文件 , 比如可建一个以年月日命名的备份目录 。
YYMMDD=“date‘+20%y%m%d"”
mkdir $YYMMDD
(5)用dbexport命令将每天所有需要备份的数据库中的数据卸出 , 由于机动车和统计台帐的数据库日期格式与会计记帐的不同 , 所以他们应更改日期格式变量后再卸出 。全部卸出后用tar命令打包成一个文件并传送到机器名为hp的机器中 。motorbk文件内容如下:

推荐阅读