domingo, 14 de março de 2021

Recuperando banco de dados Firebird

1 - Para facilitar, copiar da pasta firebird/bin os arquivos gfix.exe, gbak.exe e fbclient.dll na pasta C:\TEMP\BANCO (se não exitir, criar);

2 - Copie o banco corrompido na pasta C:\TEMP\BANCO e renomeie de *.fdb para BANCO.FDB;

3 - Execute todos os comandos abaixo. Eles devem ser executados com o prompt de comando executado como adminsitrador. Para isso, clicar no botão iniciar, pesquisar por "CMD", clicar com botão direito e escolher "Executar como Administrador").

  • gfix -v -full C:\TEMP\BANCO\BANCO.FDB -USER SYSDBA -pass masterkey
  • gfix -mend C:\TEMP\BANCO\BANCO.FDB -USER SYSDBA -pass masterkey
  • GBAK -backup -V -ignore -garbage -limbo C:\TEMP\BANCO\BANCO.FDB C:\TEMP\BANCO\BANCO.gBK -USER SYSDBA -pass masterkey
  • GBAK  -c -v -z C:\TEMP\BANCO\BANCO.gbk C:\TEMP\BANCO\BANCO_RECUPERADO.fdb -USER SYSDBA -pass masterkey

Pronto! Seu banco recuperado estará na pasta como BANCO_RECUPERADO.fdb.

SE HOUVER ERROS

Se aparecer um erro: "Can't format message nn:mmm -- message text not found" se referenciando ao arquivo (diretório)\firebird.msg, copie-o da instalação do Firebird (geralmente C:\Fortes\Firebird\Firebird_2_5), cole no diretório indicado na mensagem de erro e repita o procedimento.

Em alguns casos pode haver conflito com o Interbase ou outra instância do Firebird. Assim será necessário desinstalar o Firebird e instalar novamente ou fazer todo esse procedimento numa máquina virtual limpa bastando instalar a versão do Firebird antes.

Oracle - Listar datas do mês

 select TRUNC(SYSDATE)  + level - 1 dt from   dual connect by level <= (   LAST_DAY(SYSDATE) - TRUNC(SYSDATE) + 1 )