在 Linux 环境下使用 IBM Informix 恢复数据,通常取决于你之前采用的备份方式。下面按常见场景系统说明。
Informix 主要有以下几种备份手段:
适用于:系统崩溃、数据丢失、需要完全恢复
步骤:
# 1. 关闭数据库
onmode -ky
# 2. 进入恢复模式
ontape -r
按提示:
完成后:
onmode -m # 进入多用户模式
ontape -r -t <time>
示例:
ontape -r -t "2026-01-21 14:30:00"
要求:
适用于企业级备份(TSM / NetBackup)
# 恢复整个实例
onbar -r
# 恢复某个 dbspace
onbar -r <dbspace_name>
# 时间点恢复
onbar -r -t "2026-01-21 14:00:00"
需要配置
$INFORMIXDIR/etc/onbar.cfg
之前使用过:
dbexport dbname
dbimport dbname -d <dbspace>
适用于:
UNLOAD TO '/tmp/tab.unl'
SELECT * FROM tabname;
恢复:
LOAD FROM '/tmp/tab.unl'
INSERT INTO tabname;
CREATE EXTERNAL TABLE ext_tab
LIKE tabname
USING (DATAFILES('DISK:/tmp/tab.unl'));
如果数据库是 buffering log / unbuf log / ansi:
查看日志状态:
onstat -l
# 检查实例状态
onstat -
# 检查备份信息
onstat -b
# 检查配置
vi $INFORMIXDIR/etc/$ONCONFIG
重点参数:
TAPEDEVLTAPEDEVLOGICAL_LOG| 场景 | 推荐方式 |
|---|---|
| 磁盘损坏 | ontape/onbar 冷恢复 |
| 误删表 | 时间点恢复 |
| 单表错误 | dbimport / load |
| 迁移服务器 | dbexport / dbimport |
onconfig 和 sqlhosts如果你能提供:
我可以给你精确恢复命令。