确保源服务器与目标Linux服务器的Informix版本(如12.10.xC12)、操作系统(如RHEL 7/8、CentOS Stream 8/9)兼容,参考Informix官方版本支持矩阵。目标服务器需满足硬件配置要求(CPU、内存、存储),建议预留1.5倍源数据库大小的存储空间。统一字符集与排序规则(如en_US.819),避免数据乱码。
informix)登录,创建与源数据库一致的用户(如db_owner),并授予DBA、RESOURCE、CONNECT权限。dbexport(逻辑备份,生成文本文件)或ontape(物理备份,备份数据文件)工具备份。例如:
dbexport -o /informix/backup/stores7 stores7(将stores7数据库导出至指定目录)ontape -s(全量备份,需指定备份设备)。在目标服务器上使用createdb命令创建同名数据库,并关联预先创建的表空间(数据表空间、索引表空间)。例如:
onspaces -c -d stores7_data -p /informix/data/stores7_data -o 0 -s 1000000 # 创建数据表空间(1TB)
onspaces -c -d stores7_idx -p /informix/data/stores7_idx -o 0 -s 2000000 # 创建索引表空间(2TB)
createdb -d stores7 -t stores7_data -i stores7_idx # 关联表空间
dbimport工具导入dbexport生成的.exp目录中的结构文件(如stores7.sql)。命令:dbimport -i /informix/backup/stores7 stores7 -c -l buffered # -c表示创建数据库,-l buffered表示缓冲写入
ontape备份,直接将源数据库的数据文件(如rootdbs、chunk文件)复制到目标服务器对应路径,修改onconfig配置文件中的路径参数(如ROOTPATH、DBSPACEPATH)。NUMBER转为Informix的DECIMAL)、约束条件(如外键、唯一索引)、触发器语法(如AFTER INSERT改为AFTER INSERT ON),确保与Informix语法兼容。dbexport导出源数据库数据至文本文件,再通过dbimport导入目标数据库。例如:dbexport -d stores7 -o /informix/db_export # 导出表结构与数据至/db_export目录
dbimport -i /informix/db_export stores7_new # 导入至目标数据库
High Performance Loader (HPL)工具实现增量同步。例如,导出新增数据至CSV文件,再用HPL加载:hpl -i /informix/incremental_data.csv -d stores7 -t target_table -f "," # 加载CSV数据至目标表
若使用ontape物理备份,将源服务器的备份文件(如tape1、tape2)复制到目标服务器,执行ontape -r(恢复)命令还原数据。例如:
ontape -r # 从磁带恢复数据,按提示输入数据库名(stores7)、备份集编号(1)
若源数据库为MySQL、Oracle等,使用ETL工具(如Informix DataStream、Talend、Sqoop)处理数据类型差异(如MySQL的TEXT转为Informix的LVARCHAR)、SQL语法差异(如LIMIT改为FIRST),确保数据一致性。
更新应用程序中的数据库连接配置,指向目标Linux服务器的Informix实例。例如,JDBC URL修改为:
jdbc:informix-sqli://target_centos_ip:9088/stores7:INFORMIXSERVER=informix_server;user=db_owner;password=your_password
替换源数据库特有的语法(如Oracle的SYSDATE改为Informix的CURRENT),优化查询语句以适应Informix的优化器特性(如使用INDEX提示)。
SELECT COUNT(*) FROM employees)、关键字段值(如订单金额、客户ID),确保数据无遗漏或错误。dbvalid工具验证目标数据库的物理一致性:dbvalid -d stores7 # 检查表空间、索引是否损坏
onstat工具监控目标数据库的性能指标(如CPU利用率、磁盘I/O、锁等待时间),对比源数据库的性能表现,必要时调整表空间大小、缓冲池参数(如BUFFERPOOL)或索引策略。定期检查Informix日志文件(online.log、alert.log),使用onstat工具监控数据库状态(如onstat -g ses查看会话状态、onstat -g sql查看慢查询),优化表空间碎片(oncheck -pt)、索引(rebuild index)。
制定目标数据库的定期备份计划(如每日全量备份+每小时增量备份),使用ontape或onbar工具执行备份,确保数据安全。
更新数据库架构文档、运维手册,记录迁移过程中的变更(如表空间路径、用户权限、SQL调整),便于后续维护。
onmode -ky停止,oninit启动)释放锁。informix用户,权限设置为660(如chown informix:informix /informix/data/stores7_data)。