我的INTERBASE 数据库为什末经常会瘫痪 ,如何修复它(200分)

  • 主题发起人 主题发起人 sunqi
  • 开始时间 开始时间
怎么个瘫痪法?我还没遇到它死掉的情况。
查查磁盘空间够不够? 桌面上是不是运行的程序太多而系统资源不够?
或是你的程序有问题,自己死循环了?
 
瘫痪?什么叫瘫痪?

我用interbase至今,从来没有瘫痪过,详细描述一下吧
 
详细信息?
 
当我连接我的INTERBASE数据库时INTERBASE 会提示如下:
DATABASE FILE APPEARS CORRUPT()
WRONG PAGE TYPE
PAGE 0 IS OF WRONG TYPE (EXPECTED 3 FOUND 1)
请大家给诊断一下
 
1)从你的错误信息来看,你的内存条有问题,Delphi在地址映射或地址访问时
不能正确读取该内存的内容引起的.
2)硬盘的地址映射表可能有不良的程序占用如“病毒”等,该病毒不一定能用杀毒
软件所能解决的了的,建议请计算机专家为你诊断一下。
 
帮你出个主意:
你把数据文件COPY到另一台机器里,看是否能正常访问,如果能正常访问
那就是说,是由于硬件故障或是软件的运行环境造成你的数据库不能访问

如果仍不能访问的话, 我看很可能是由于数据文件被破坏造成,GDB文件
类似ACCESS 文件, 如果一旦出了问题(比如索引损坏, 由于用户访问过程时被非法关机等) 整个数据库都受到破坏,所以建议你定期备份为好(特别是到数据库大小上百兆了后)
 
GDB文件一般不会象ACCESS一样那么容易被破坏.倒有些象版本问题.
试试编一个最简单的脚本,在ISQL环境下运行它,然后在Database Explorer
中设置一个别名访问它:

Create Database 'TEST.GDB' USER 'SYSDBA' PASSWORD 'masterkey';
Create Table T1 (
ID Integer Not Null,
Value Integer Not Null,
primary key (ID)
);
Exit;
 
数据库损坏可以用Server Manager 中的工具修复
DB Vadication/Recover/...记不清了

请继续讨论或结束此问题
 
查查你建立数据库时的定义语句.是否定义了多个页文件,而后又删掉了.
 
to rss : 我不明白什么是页文件我只有一些库文件和索引文件 ,以及过程和触发器
to cj : 我的情况是用ISQL 或任何方法都不能连接上该瘫痪的数据库
另外 : 是否 INTERBASE 需要进行经常数据维护.
 
GFIX.EXE在INTERBASE/BIN下
如果不行,手工修复//别问我怎么做,我不会
要么DEL

数据库维护一定要做
 
我的意思是你建库时使用了多重文件方式,而又删了附属文件,
我刚试了一下,你的错误不是此问题.

根据你的错误信息是与数据库的页类型有关,检查一下你建库时
定义的页类型,如不定义默认则为1024,可以定义为1024,2048,4096,8192.
页类型定义影响库的性能,Blob字段,库的备份与恢复.
建议你定义为4096.
你试试用备份工具备份一下再恢复.
 
多人接受答案了。
 
后退
顶部