I think FBFirstAId will not help in this case. If you still have backup, you can try to save data from it with IBBackupSurgeon - look with trial first.
Regards, Alexey Kovyazin ----- Reply message ----- From: "Leonardo Carneiro" <chesterma...@gmail.com> To: <firebird-support@yahoogroups.com> Subject: [firebird-support] gfix mend full deadlock Date: Thu, Nov 24, 2011 23:10 Tried IB-FirstAid+ trial, but gives me this messagem: 18:08:33 INFO: Open database files: C:\Arquivos de programas\DDD_SYSTEM\Servidor\BD_COPY.FDB 18:08:33 Unrecognized database found. On Thu, Nov 24, 2011 at 4:44 PM, Leonardo Carneiro <chesterma...@gmail.com>wrote: > Wow, last error crashed the firebird process =P. Could not connect to > others database in the same server. Had to kill the process =( > > > On Thu, Nov 24, 2011 at 4:19 PM, Leonardo Carneiro <chesterma...@gmail.com > > wrote: > >> Yep. When i first saw the mess, i deeply regreted the use of the -r >> switch =( >> >> Tried a -mend again: >> >> C:\Arquivos de programas\Firebird\Firebird_2_1\bin>gfix -mend -full -user >> SYSDBA -pas masterkey "c:\Arquivos de >> programas\DDD_SYSTEM\Servidor\BD_COPY.FDB" >> unable to allocate memory from operating system >> >> and in log: >> >> VGLDAS2K346 (Server) Thu Nov 24 14:43:17 2011 >> Database: ThreadData::start() failed: >> operating system directive _beginthreadex failed >> Espaço insuficiente de armazenamento para processar este comando. >> *(Insuficient storage space to process this comand). >> >> VGLDAS2K346 (Server) Thu Nov 24 15:33:24 2011 >> bugcheck during scan of table 132 (COMUNICACAO) >> >> >> VGLDAS2K346 (Server) Thu Nov 24 15:59:05 2011 >> Database: C:\ARQUIVOS DE >> PROGRAMAS\VELTRAC_CLIENTE_SERVIDOR\SERVIDOR\CÓPIA DE BD_CLIENTE.FDB >> internal gds software consistency check (page in use during flush (210), >> file: cch.cpp line: 2968) >> >> >> Which is very odd, since there is planty of free memory and disk space =( >> >> On Thu, Nov 24, 2011 at 5:11 PM, a...@ib-aid.com <a...@ib-aid.com> wrote: >> >>> That's why I always insist to do not use -r switch. >>> I'll create ticket to exclude it completely from gbak, even if we will >>> loose some money from such unlucky guys :) >>> >>> Regards, >>> Alexey Kovyazin >>> IBSurgeon Ltd (www.ib-aid.com) >>> >>> ----- Reply message ----- >>> From: "Leonardo Carneiro" <chesterma...@gmail.com> >>> To: <firebird-support@yahoogroups.com> >>> Subject: [firebird-support] gfix mend full deadlock >>> Date: Thu, Nov 24, 2011 20:08 >>> >>> >>> Hi everyone, >>> >>> I'm having a quite bad time with one database. The firebird version is >>> 2.1.4, running on a windows server 2003 r2 enterprise. For some weird >>> reason, the previous administrator thought that would be fun to disable >>> forced writes while in production, so the database was running this way >>> for >>> quite some time. Oddly, at that point, it was running fine. >>> >>> Last week I did some huge deletes, so i though it would be a good idea to >>> do backup/restore. I did the backup and the restore, overwriting the old >>> database, but now i'm having some troubles. Many indexes wasn't enabled >>> during the restore because a huge number of dup rows appeared in various >>> tables. I tried very hard to remove these dup rows, but without success. >>> In >>> one big table, i found more than 17.000 dup rows! >>> >>> Here is what i did: >>> >>> Created a non-unique index so i can search the table faster. >>> Found the dup IDs with: SELECT id FROM table GROUP BY id HAVING count(*) >>> > >>> 1; --> took about 40 minutos. brought about 1200 IDs that have 2 or more >>> duplicates >>> Made a copy of these dup rows in a file: SELECT * FROM table WHERE id IN >>> (IDs from the first command); --> almost instantly, using the new created >>> index >>> Tried to delete the dup rows: DELETE FROM table WHERE id IN (IDs from the >>> first command); runned for more that 10 hours and nothing!!!! >>> >>> Also tried the following: >>> EXECUTE BLOCK >>> AS >>> DECLARE id INT; >>> DECLARE tuple_id char(8); >>> BEGIN >>> FOR >>> SELECT id >>> FROM table >>> GROUP BY id >>> HAVING count(*) > 1 >>> INTO :id >>> DO >>> FOR >>> SELECT min(RDB$DB_KEY) >>> FROM table >>> WHERE id = :id >>> INTO :tuple_id >>> DO >>> DELETE FROM table where id = :id AND RDB$DB_KEY > :tuple_id; >>> END >>> >>> But after 40 minutos it ended up with an generic error (sorry, don't >>> remenber exactly). Looking at firebird.log, i did found the following: >>> internal gds software consistency check (Attempt to call >>> GlobalRWLock::unlock() while not holding a valid lock for logical owner) >>> >>> Finally, tried to execute a gfix mend full in a copy of the database, but >>> after a couple of hours, it simply returned the word "deadlock": >>> >>> C:\Arquivos de programas\Firebird\Firebird_2_1\bin>gfix -mend -full -user >>> SYSDBA -pas masterkey "c:\Arquivos de >>> programas\DDD_SYSTEM\Servidor\BD_COPY.FDB" >>> deadlock >>> >>> >>> Now i did a full validate. It took about 4 hours, but did gave any >>> output. >>> Any word on what i can do? >>> >>> Tks in advance. >>> >>> >>> [Non-text portions of this message have been removed] >>> >>> >>> >>> [Non-text portions of this message have been removed] >>> >>> >>> >>> ------------------------------------ >>> >>> ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ >>> >>> Visit http://www.firebirdsql.org and click the Resources item >>> on the main (top) menu. Try Knowledgebase and FAQ links ! >>> >>> Also search the knowledgebases at http://www.ibphoenix.com >>> >>> ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ >>> Yahoo! Groups Links >>> >>> >>> >>> >> > [Non-text portions of this message have been removed] [Non-text portions of this message have been removed]