是否有Informix命令来修复数据库?

我们有一个运行Avaya CMS软件的Sun Solaris系统.该软件使用Informix数据库.我们在服务器中有一个驱动器.驱动器开始变坏,破坏了文件.我们采购了一个新驱动器,并能够将旧驱动器中的数据复制到新驱动器,并成功启动并运行服务器.我们还有一个问题,即数据库报告错误的块并且不会写入新数据.

我们怎么修这个呢?它只是一个运行的Informix命令,还是我们必须取消分配并重新分配数据库存储?

IBM Informix Dynamic Server版本9.40.UC4

编辑:我们实际上不再关心旧数据,只是我们想写新数据,但它不会让我们.无论如何要解决这个问题?

解决方法

使用oncheck命令可以恢复简单的情况.
但是你的情况和这种腐败现在如何从“空”中恢复数据.

为此,您需要恢复归档逻辑日志备份.
然后,您将在崩溃前将所有数据恢复到上次状态.

你有没有 ?嗯….我很确定你现在的想法是:ooopsss ……

这是您在没有硬件冗余的环境中应该具备的最小值.

之后研究的其他选项是配置数据库以镜像不同硬盘上的所有块…这样一来,如果一个坏了,另一个保持全部运行.

阅读这篇文章https://stackoverflow.com/questions/19905391/why-informix-dbexport-is-generating-corrupt-data,也许它可以帮到你.

编辑:

如果块被破坏,没有意义想在它上面写任何东西.
在这种情况下,引擎非常有限,以保证数据的完整性.
如果有一些数据,你将无法删除块(考虑到数据库仍指向那里有东西).
更好的解决方案是导出未损坏的文本文件,从零重新创建实例,创建数据库,结构并重新加载数据……
需要了解这些产品是用资源制作的,以保证数据的完整性而不是破坏它(考虑到管理员正确配置它).
作为参考,请检查此链接

> Informix Manual 11.70 – Deal with corruption
> IBM Technotes – Unloading around table corruption
> IBM Technotes – How to unload rows from a table avoiding inaccessible data using the ROWID

相关文章

SELECT a.*,b.dp_name,c.pa_name,fm_name=(CASE WHEN a.fm_n...
if not exists(select name from syscolumns where name=&am...
select a.*,pano=a.pa_no,b.pa_name,f.dp_name,e.fw_state_n...
要在 SQL Server 2019 中设置定时自动重启,可以使用 Window...
您收到的错误消息表明数据库 'EastRiver' 的...
首先我需要查询出需要使用SQL Server Profiler跟踪的数据库标...