Informix-online是面向大规模联机事务处理和支持决策应用的高性能数据库系统,不但具有分布式数据处理功能,还支持客户/服务器结构应用,因此目前它已在金融系统和大规模企事业单位广泛应用。
在Informix-online动态服务器系统数据备份和恢复中常常推荐用ontape命令操作,这种方法对于需严格进行数据备份的单位当然是一种理想的方法,但是它对于经常需数据备份恢复并且经常更替修改备份的单位来说,做起来就比较繁琐,现在有一种简单易行的数据备份和恢复的方法,介绍给大家。
1?数据备份过程
进入用户,出现$提示符,键入
$dbexport 数据库名
它就会在当前用户下产生一个数据库名.exp的子目录和dbexport.out文件,这时,如果您想备份,就直接备份这一个目录和文件即可;如果不想备份,您尽管可以把它放在当前用户下,直到下一次备份时冲掉。
如果您总想保存住旧的数据备份,那么您可以在任何地方建立一个目录,用下列命令,把数据备份到您所指定的目录:
$dbexport 数据库名 -o 指定目录
这样在您指定的目录下就会有上述的数据库名.exp的子目录和dbexport.out文件存在,这时您仍可将它们备份到其他介质上或在此目录下永久存放。
2?数据恢复过程
首先进入用户,出现提示符后,键入:
$isq1或dbaccess删除此数据库
然后再进行以下操作:
$dbimport 数据库名
不过需注意的是,您当前的用户下必须有您想要恢复数据的数据库名.exp子目录。值得一提的是,在我实际恢复操作中,有没有dbexport.out文件都没有关系。
如果您想从您以前备份的某一目录恢复,则可以用以下命令:
$dbimport 数据库名 -i 指定目录
如果您在恢复过程中没有发现问题,但在程序运行过程中却找不到数据库,您还可以试用一下以下命令:
$dbimport 数据库名 -d 数据区名 -l buffered
注意:虽然根据以上的讲述是可以完全备份和恢复一个数据库的,但是有时候也会遇上一些意外的情况,那么就只好采取一点比较笨拙的办法:
(1)根据数据库名.exp子目录下的数据库名.sql文件建立数据库。
(2)写一个load文件,根据数据库名.exp子目录下的*.unl文件,再把数据一个数据库表一个数据库表的load上去。
例如:数据库名.exp子目录下有ccms01.unl文件,您就可编写一个sh文件(比如:hf),用vi编辑它,写一条load命令:load from"./数据库名?exp/ccms01.unl"insert into ccms01
执行sh此文件,就可把数据恢复上去
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/312079/viewspace-245275/ ,如需转载,请注明出处,否则将追究法律责任。