我是Informix的新手。我有一个Informix服务器,我使用oninit -ivy
。现在我的所有数据库都没了。我怎样才能让他们回来?我没有任何备份。
答案 0 :(得分:2)
他们可能会或可能不会帮助你 - 但如果他们无法帮助,可能没有人可以帮助你。 (当然,可能需要解决资金问题才能获得技术支持。)
没有备份并且在重新初始化系统之后(-ivy
意味着“初始化,详细,并且不要问我愚蠢的问题 - 我知道我在做什么”),剩下的不多了继续努力。
如果您的系统有多个dbspace或任何blob空格,那么这些空间不会被破坏,数据也是安全的。如果您有一个带有单个dbspace的默认系统,则信息消失的危险就更大。
系统有多大?受影响的数据库有多少,每个数据库有多大?这些数据库中的数据有多重要?可能有办法获取数据,特别是如果你知道数据库模式,如果最坏的情况发生。但这并不容易。关键是不要再造成伤害。您可以复制根dbspace的主要块并安全地存储该复制,但不要尝试修改任何内容。
为了检查,我拿了一个单块服务器的备份副本(到一个文件copy.0.rootdbs
),然后在系统上运行oninit -ivy
重新初始化它,检查'我的'数据库是不存在,然后运行onmode -ky
将其取回,然后再创建一个块(copy.1.rootdbs
)的副本,并将copy.0.rootdbs
复制回块上并将系统放入正常的方式(oninit -v
)。
这项练习有几点好消息:
copy.1.rootdbs
文件包含工作数据库中数据库的信息,虽然不是在重新初始化服务器运行时可以找到的形式。这意味着只要你有一个安全复制的根dbspace的最小修改主要块的副本,已删除数据库的大部分信息仍将是“那里”,但它需要一些非 - 提取该信息的不可忽视的努力。这些数据需要相当有价值,以保证所需的努力。具体涉及多少工作取决于各种因素,例如各种用户定义数据库中表格中数据的大小和类型。你知道的越多,恢复就越容易 - 但“更容易” 意味着“简单”。
oninit -ivy
。您也可以在IIUG(International Informix User Group)网站上寻找帮助 - 或者在邮件列表中ids
iiug.org
加入即可。会员资格是免费的,电子邮件并不繁琐。但是,对于这种情况的标准建议就是我在开始时所说的 - 放手并联系技术支持。
答案 1 :(得分:1)
我想知道您使用的是什么版本的Informix产品。在较新的版本Informix 11.70和12.10中,有一个安全配置参数(FULL_DISK_INIT)可以防止这种意外的磁盘初始化。 您最好的选择是按照上面Jonathan的建议致电IBM技术支持。