[firebase-br] Help em Corrupção de Banco de Dados

RedDevil reddevil em reddevil.eti.br
Sex Maio 6 11:45:03 -03 2005


Segundo o que, em um futuro muito distante, dirao as lendas, em Sex,
2005-05-06 às 10:50, Rodrigo - Alma Informática Ltda escreveu:
> Amigos,
> 
> Estou migrando um aplicativo que usa base de dados PARADOX para X FIREBIRD 1.5.2.
> Tenho algumas duvidas sobre trabalhar com o Firebird, que e o seguinte :
> 
> Quando se tem corrupção de tabelas no paradox tem um utilitário que corrige esta tabela, e no firebird isto acontece ou usando o backup, restore ele conserta a base de dados, juntamente com os seus índices.
> 
> Alguém poderia me esclarecer sobre esta duvida
> 
> Abraços
> 
> 
> 
> Rodrigo 


ola Rodrigo.
tudo bem contigo?
sincerely, espero que sim.

o Firebird possui um utilitario nativo para tratar bancos corrompidos,
esse utilitario de linha de comando chama-se GFIX (faça uma procura no
site da FireBase (www.FireBase.com.br) que voce vai encontrar algo que
te auxiliara a entender o principio da coisa no que diz respeito ao uso
do GFIX), mas, basicamente, o GFIX funciona da seguinte forma:

inicialmente, voce se posiciona (sem mas interpretaçoes, please...
"posiçao", neste caso, quer dizer outra coisa...;o) na pasta "bin" da
tua instalaçao do Firebird, e digita o seguinte:

SET ISC_USER=sysdba <Enter>
SET ISC_PASSWORD=a_tua_senha <Enter>

em seguida, para validar o BD, voce usa o GFIX da seguinte maneira:
GFIX -V -F X:\PastaDoBanco\Banco.FDB

se retornar status de erro no BD, entao voce usa a seguinte sintaxe do
GFIX:
GFIX -M -I X:\PastaDoBanco\Banco.FDB

e assim voce vai alternando as duas sintaxes do GFIX, ate que nao
retorne mais status de erro...

para refazer os indices que voce tem dentro do teu BD (algo tipow
"reindexar" eles...;o), basta voce desativa-los e reativa-los novamente
que eles serao refeitos nesse processo...

para desativar um indice, em um utilitario de SQL, voce faz o seguinte:
ALTER TABLE nome_do_indice INACTIVE;

e para reativa-lo, voce usa a seguinte sintaxe do Alter Table:
ALTER TABLE nome_do_indice ACTIVE;

esse procedimento, no que diz respeito aos indices, voce usara somente
em "casos graves", pois durante um backup/restore os indices existentes
no teu BD serao sempre refeitos... o backup/restore optimiza todo o
banco, e eh aconselhavel usa-lo de vez em quanto...


[]s
força sempre!
ate +++

Luiz "RedDevil" Stefanski
http://www.RedDevil.eti.br - Delphi Powered By IBObjects






Mais detalhes sobre a lista de discussão lista