微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

是否有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

原文地址:https://www.jb51.cc/mssql/80600.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐