InterBase性能堪忧!(0分)

  • 主题发起人 主题发起人 WiseAnt
  • 开始时间 开始时间
W

WiseAnt

Unregistered / Unconfirmed
GUEST, unregistred user!
一直以来,抱着对Open Source's InterBase RDBMS钦佩、赞赏、信任
的我,终于被事实所折服。
就在昨天,为一客户所编写的一套管理系统(使用InterBase数据库),
数据库文件损坏了,开始时提示错误如下:
I/O error for file "H:/Data/Data1.GDB"
Error while trying to read from file
已达文件结尾。

InterBase没有带任何的数据库修复工具,我只有尝试着对数据库进行导出,
结果还是无能为力,接着我试一下对数据库进行结构整理、修改。于是,错误
改为:
Database file appears arrupt()
wrong page type
page 2687 is wrong type(expected 5, found 4)


最后,我只能放弃了修复数据库这一妄想,痛苦的将数据库执行了恢复备份
的操作,丢失了一天的数据...

后,经查原因为有不知情者将服务器重启,虽然为服务器配备了UPS,但此
次事故却是我们无法预防的,而Interbase在此却显得如此的苍白无力......

我只能对它表示遗憾,说一声:别了,我曾经最亲爱、信任的InterBase
 
这么惨,损失一天还好啦。关键是作为开发者,选择了这个方案,还真没面子。
按道理“不知情者”是不允许碰服务器的,这个事件同时也说明您客户单位的管理也不怎么样啊。
 
正常的启动应该不会有这种问题,直接拷贝GDB文件倒是很容易引发这种错误。
 
  但我个人认为,由此可见InterBase的完整性稳定性也未免太经不起折腾了,
如果是SQLServer/MySQL/Orcal呢?
 
把这个问题发到Borland的新闻组上,看看有什么办法没
 
我想知道你的IB的版本,数据库的容量,OS版本,以及使用的数据引擎,
在我使用IB的经历中,至今还没遇到这种问题。

我现在用的IB5.6,用BDE访问。最近也用了ibexpress.
总体感觉上还可以。
 
左大师:想不到惊动您老人家了。可惜我英文不好!

我用的是InterBase6.01、WinNt4.0、BDE访问。
不过这跟BDE应该无关,在尝试排错的过程中,我是使用IBConsole.

我一直对InterBase比较推崇,但我希望在此问题在InterBase中解决后才考虑继续使用IB。
 
我可正在用IB开发系统,这个消息对我让我睡不着觉了。。。
 
WiseAnt:为了验证你的问题(也为了我晚上能睡得着^_^),
我刚才在正常使用过程中(此时一个程序正在读写IB数库)强行Reset。
一切OK!!!!!!!!!!!没有你所说的问题。
不过我的环境是在Win98下,难道NT40会这样?这个我还要试。。。。。。
 
不过我的SQL SERVER也一样。换到WIN2k下吧
 
SQL SERVER也一样?这太好了(幸灾乐祸^_^)
对于WiseAnt所遇到的问题,我刚才又反复试了几下,也没事呀,InterBase好像很强壮的。
我在应用程序正在写表时强行按下[复位]键将机器RESET若干次也没事。
所以大家尽可以放心、大胆地用InterBase。绝对安全!!!!!!!!!

高效、小巧、稳稳、Free-->I n t e r B a s e !!!
职明人的选择!!!!!!!
 
如果是因为别的原因,尚值得同情,是因为服务器重启而引起的话就不足为怪了。
如果你将数据库设为强制写,即使重启也不会有大的问题,最多丢两三条记录。
如果非要追究责任的话,我认为:
1.用户方面对服务器管理方面上的问题;(40%)
2.开发方在IB数据库操作上的问题,对数据库的更新应该随时进行;(30%)
3.维护方的问题,重要的数据库一定要设为强制写。(30%)

呵呵,我用IB算是时间长的了,没有遇到过一次这样的问题。根本的问题不解决,你就是用
Oracle也是一样的结果。这样说来,你的话就该值得推敲推敲了。
 
barton:
如何设为强制写?谢谢
 
同意 Barton。

我就碰到过有些客户,根本不管理,打游戏抄股票、有任何事情全部往开发者身上一推。
向领导说他们没有开发好啊。不管什么数据库都会弄坏。
 
我的Interbase也出现过一次这样的错误
 
对阿,数据库应该实时写入的
interbase的实时写入可以用BDE的api啊!
我也有过这种经历,我个人认为责任在于开发者!
 
无奈的永远只是我们这此开发者...哎!...

我曾在网上几到过一篇文章,大致是说如果SQLServer发生类似事件,可从日志及文件中
恢复数据。

我倒真希望InterBase的安全性比SQLServer高,因为我始终忘不了她...
曾经沦海难为水...
 
哦,请大家注意,不仅仅是数据丢失,而是数据库损坏,无法读取记录,而导致丢失!
 
to K:
打开IBConsole,注册你的数据库,打开属性,在General页第一行:
Forced Writes设为Enabled即可.
to WiseAnt:
我正在研究一个可以为IB提供log的程序,可以备份甚至Undo。最新版的IBX在这方面
提供了很多很强的功能。还有一些很好的机制我正在研究。
 
损坏数据和丢失数据没有什么区别呀.
如果MSSQLServer正在写般的时候你按一下服务器的Reset试试.也是打不开的.
 
后退
顶部