> Never seen this before. When I call gfix -validate in a certain database > here, it kill fbserver.exe (Firebird 2.1.4 SS) no matter options I chose > (-no_update, -ignore, -full, -mend). This database was generated by FB 2.0.x > SS server, and this error is shown there too. I take it to my machine running > 2.1.4 to test and see if the error was specific on 2.0.x. > gfix return only "connection lost to database" > Any suggestions would be welcome. TIA > Here is the Firebird.log when attempting to run gfix: > > PROGRAMADOR2 (Client) Thu Aug 18 10:19:26 2011 > Guardian starting: "C:\Arquivos de > programas\Firebird\Firebird_2_1\bin\fbserver.exe" > > PROGRAMADOR2 (Server) Thu Aug 18 10:21:39 2011 > Database: C:\TEMP\CORRUPT.FDB > Index 3 is corrupt on page 45972 level 0. File: > ..\..\..\src\jrd\validation.cpp, line: 1674 > in table ITENSVENDAS (150) > > PROGRAMADOR2 (Server) Thu Aug 18 10:21:39 2011 > Database: C:\TEMP\CORRUPT.FDB > Index 3 is corrupt on page 43933 level 0. File: > ..\..\..\src\jrd\validation.cpp, line: 1538 > in table ITENSVENDAS (150) > > PROGRAMADOR2 (Server) Thu Aug 18 10:21:39 2011 > Database: C:\TEMP\CORRUPT.FDB > Index 3 is corrupt on page 43933 level 0. File: > ..\..\..\src\jrd\validation.cpp, line: 1538 > in table ITENSVENDAS (150) > > PROGRAMADOR2 (Server) Thu Aug 18 10:21:39 2011 > Database: C:\TEMP\CORRUPT.FDB > Index 3 is corrupt on page 43933 level 0. File: > ..\..\..\src\jrd\validation.cpp, line: 1538 > in table ITENSVENDAS (150) > > PROGRAMADOR2 (Server) Thu Aug 18 10:21:39 2011 > Database: C:\TEMP\CORRUPT.FDB > Index 3 is corrupt on page 43933 level 0. File: > ..\..\..\src\jrd\validation.cpp, line: 1674 > in table ITENSVENDAS (150) > > PROGRAMADOR2 (Server) Thu Aug 18 10:21:39 2011 > Database: C:\TEMP\CORRUPT.FDB > Index 3 is corrupt on page 45040 level 0. File: > ..\..\..\src\jrd\validation.cpp, line: 1538 > in table ITENSVENDAS (150) > > PROGRAMADOR2 (Server) Thu Aug 18 10:21:39 2011 > Database: C:\TEMP\CORRUPT.FDB > Index 3 is corrupt on page 45040 level 0. File: > ..\..\..\src\jrd\validation.cpp, line: 1674 > in table ITENSVENDAS (150) > > PROGRAMADOR2 (Server) Thu Aug 18 10:21:39 2011 > Database: C:\TEMP\CORRUPT.FDB > Index 3 is corrupt on page 45613 level 0. File: > ..\..\..\src\jrd\validation.cpp, line: 1538 > in table SAIDANOTAS (160) > > PROGRAMADOR2 (Server) Thu Aug 18 10:21:39 2011 > Database: C:\TEMP\CORRUPT.FDB > Index 3 is corrupt on page 45613 level 0. File: > ..\..\..\src\jrd\validation.cpp, line: 1674 > in table SAIDANOTAS (160) > > PROGRAMADOR2 (Server) Thu Aug 18 10:21:39 2011 > Database: C:\TEMP\CORRUPT.FDB > Index 4 is corrupt on page 46149 level 0. File: > ..\..\..\src\jrd\validation.cpp, line: 1674 > in table SAIDAPRODUTOS (161) > > PROGRAMADOR2 (Client) Thu Aug 18 10:21:40 2011 > "C:\Arquivos de programas\Firebird\Firebird_2_1\bin\fbserver.exe": > terminated abnormally (4294967295) > > PROGRAMADOR2 (Client) Thu Aug 18 10:21:40 2011 > XNET error: Server shutdown detected > > PROGRAMADOR2 (Client) Thu Aug 18 10:21:40 2011 > Guardian starting: "C:\Arquivos de > programas\Firebird\Firebird_2_1\bin\fbserver.exe" >
The log tells you that an index in various tables (ITENSVENDAS, SAIDANOTAS) are corrupt. If you query the system table RDB$INDICES with a WHERE clause on RDB$RELATION_NAME, you can get a list of indices. The result set also includes a RDB$INDEX_ID field, although I can't recall if e.g. "Index 3 ..." on a particular table is the index with a value of 3 in this field or 4 (starting at index 0 or 1). Try to drop the indices in question and re-run a validation. As Firebird 2.1.4 has some index corruption issues fixed, I would also run a backup/restore cycle with 2.1.4. Hope this helps. -- With regards, Thomas Steinmaurer Upscene Productions http://www.upscene.com http://blog.upscene.com/thomas/ Download LogManager Series, FB TraceManager today! Continuous Database Monitoring Solutions supporting Firebird, InterBase, Advantage Database, MS SQL Server and NexusDB!
