Subject | database corrupted? |
---|---|
Author | Sean |
Post date | 2007-03-09T23:02:33Z |
Hi there,
I have a server running on embedded firebird 1.5 and firebird.net
provider 2.0.1. There were 160 clients reporting data to the server.
After running for several weeks, the server was stuck, with 100% cpu
utilization without doing any real thing (all client connections to
database were timed out.)
When stopping the server, the database was 1.4GB(old.fdb). I did a
backup and restore. The restored database (new.fdb) is only 60MB, and
some data were missing. For example, in a table of old.fdb there are
248 records (I can still retrieve them), while in new.fdb there are
only 114 records. The gbak didn't give out any error during backup
and restore.
I then used gfix -v -full old.fdb, and got this result:
Number of record level errors : 3
Number of index page errors : 4
Number of database page errors : 730
I then did a sweep then backup. Nothing was improved.
I have several questions:
1. new.fdb is only 5% of the old.fdb. Is it normal? Does it indicate
errors in database structure?
2. Number of database page errors : 730, is it normal?
3. why gbak only backup'ed about half of the data without an error?
For testing I can select all data from 2 tables of old.fdb (although
the speed is quite slow).
4. Why did old.fdb refuse connections at one point (timeout
exception)? Any suggestion on how to diagnose it, avoid it, or recover
from it?
I am sorry to raise so many questions.
Best,
Sean
I have a server running on embedded firebird 1.5 and firebird.net
provider 2.0.1. There were 160 clients reporting data to the server.
After running for several weeks, the server was stuck, with 100% cpu
utilization without doing any real thing (all client connections to
database were timed out.)
When stopping the server, the database was 1.4GB(old.fdb). I did a
backup and restore. The restored database (new.fdb) is only 60MB, and
some data were missing. For example, in a table of old.fdb there are
248 records (I can still retrieve them), while in new.fdb there are
only 114 records. The gbak didn't give out any error during backup
and restore.
I then used gfix -v -full old.fdb, and got this result:
Number of record level errors : 3
Number of index page errors : 4
Number of database page errors : 730
I then did a sweep then backup. Nothing was improved.
I have several questions:
1. new.fdb is only 5% of the old.fdb. Is it normal? Does it indicate
errors in database structure?
2. Number of database page errors : 730, is it normal?
3. why gbak only backup'ed about half of the data without an error?
For testing I can select all data from 2 tables of old.fdb (although
the speed is quite slow).
4. Why did old.fdb refuse connections at one point (timeout
exception)? Any suggestion on how to diagnose it, avoid it, or recover
from it?
I am sorry to raise so many questions.
Best,
Sean