问题:
进行onbar备份测试时,发现只备份了critical_files,dbspace都没有备份成功。查看了备份日志$INFORMIXDIR/tmp/bar_act.log,发现有以下报错:
2023-01-30 16:11:09 18664 18662 SQL -217 Column (syschktab_fast) not found in any table in the query (or SLV is undefined).
原因:
经排查发现,‘syschktab_fast’ 实际上是sysmaster库的一个表,但它被引用为列。在设置环境变量DELIMIDENT=Y会引起该问题。
解决办法:
unset环境变量DELIMIDENT后,测试onbar备份是否成功。
如果sysmaster库已经被破坏,参考以下步骤,重建sysmaster库。
关闭数据库
确保环境变量DELIMIDENT是unset状态
执行以下操作以防止管理员作业启动和锁定sysmaster表:
cat /dev/null > $INFORMIXDIR/etc/sysadmin/stop
启动数据库
执行以下命令重建sysmaster库
$INFORMIXDIR/etc/buildsmi
观察online.log,确保sysmaster库创建成功,重新尝试进行onbar备份。
注意:重建sysmaster库前,建议先对实例进行备份,如果备份不成功,可以尝试用dbexport命令将数据导出。