Re: [firebase-br] Consigo fazer backup, mas não consigo restaurar, dá erro. Porque ?

Eduardo Jedliczka eduardo em gerasoftinfo.com.br
Qua Dez 1 18:17:23 -03 2004


BOM:

este tipo de corrupção, onde o banco aceita gravar dois registros com a
mesma PK, pode ser causado de duas formas:

1º você utilizar frequentemente o IBExpert, alterando diretamente as tabelas
de sistema (renomeando PKs, FKs, trocando o tipo ou estado de um campo,
trocando campos que compoem índices) para fazer coisas que não existem
comandos SQL.

2º você realizar numa mesma transação comandos DDL (data definition
language) para criar ou alterar tabelas sem comitar e logo em seguida
comandos DML (data manipulation language) para inserir dados ou alterar
dados nestas tabelas.

Um backup e restore resolve o problema em ambos os casos, mas o tempo que
você utilizou o banco com esta "inconsistência" pode causar vários danos.
Dependendo da quantidade e gravidade destes danos, pode-se tornar impossível
retornar um backup.

[s]

=====================
Eduardo Jedliczka
GeraSoft Informática
Apucarana - PR
=====================
----- Original Message ----- 
From: "Fausto" <fausto.s.a em uol.com.br>
To: <eduardo em gerasoftinfo.com.br>
Sent: Wednesday, December 01, 2004 4:56 PM
Subject: Re: [firebase-br] Consigo fazer backup, mas não consigo restaurar,
dá erro. Porque ?


> Boa tarde Eduardo..
> Amigo eu vi esta reposta sua no forum da firebase, e não querendo abusar
de
> sua boa vontade, vc poderia me explicar estes tópicos de sua mensagem:
> "Só mais um detalhe, este problema acontece basicamente por dois motivos:
> - Utilização do IB Expert para mudar "nas tabelas de sistema" informações
> sobre campos e/ou índices
> - Alterações de estrutura mal projetadas, (o IB 6.0 / FB 1.0 possuia um
bug
> quanto a Operações DML não comitadas seguidas de operações DDL)."
>
>  pois não entendi direito.
>
> Grato
> Fausto
> ps me desculpe por contacta-lo em private
>
> ----- Original Message ----- 
> From: "Eduardo Jedliczka" <eduardo em gerasoftinfo.com.br>
> To: "FireBase" <lista em firebase.com.br>
> Sent: Wednesday, December 01, 2004 9:47 AM
> Subject: Re: [firebase-br] Consigo fazer backup, mas não consigo
restaurar,
> dá erro. Porque ?
>
>
> Acho que você olhou errado!!! RDB$Primary13 é com certeza uma PK.
>
> Mas a descrição da Mariana sobre o problema está certa!!!
>
> Então, verifique na sua base em produção por estas duplicidades, corrija e
o
> backup/restore funcionará sem problemas, tanto no FB 1.0 quanto no FB 1.5
>
> Só mais um detalhe, este problema acontece basicamente por dois motivos:
> - Utilização do IB Expert para mudar "nas tabelas de sistema" informações
> sobre campos e/ou índices
> - Alterações de estrutura mal projetadas, (o IB 6.0 / FB 1.0 possuia um
bug
> quanto a Operações DML não comitadas seguidas de operações DDL).
>
> [s]
>
> =====================
> Eduardo Jedliczka
> GeraSoft Informática
> Apucarana - PR
> =====================
> ----- Original Message ----- 
> From: "Chico" <chico em auditecmatao.com.br>
> To: "FireBase" <lista em firebase.com.br>
> Sent: Wednesday, December 01, 2004 10:34 AM
> Subject: Re: [firebase-br] Consigo fazer backup, mas não consigo
restaurar,
> dá erro. Porque ?
>
>
> > Eu li a sua explicação ... vamos ver se eu fiz certo aqui.
> > Olhei pelo IBExpert e a RDB$PRIMARY13 pertence a tabela PLANO e ao campo
> > SALDOMES (que é NUMERIC(15,2)). Mas esse campo não é chave, a chave é o
> > campo CONTAPLANO (VarChar(10)).
> > É por aí ?
> > E agora o que faço ?
> >
> > Muito Grato.
> > Chico.
> >
> >
> > ----- Original Message ----- 
> > From: "Mariana" <mariana em alternate.com.br>
> > To: "FireBase" <lista em firebase.com.br>
> > Sent: Wednesday, December 01, 2004 9:15 AM
> > Subject: Re: [firebase-br] Consigo fazer backup, mas não consigo
> restaurar,
> > dá erro. Porque ?
> >
> >
> > > Ola...
> > >
> > > Já aconteceu comigo este erro também.
> > > Isto significa que existem registros duplicados na tabela que tem a
> chave
> > > RDB$PRIMARY13.
> > > Vc terá que fazer um select nas tabelas internas para saber qual
tabela
> > > corresponde a esta chave.
> > > Ai tem que encontrar os registro duplicados, mas as vezes eles são tão
> > > idênticos, que só consigo encontra-los deletando a chave primária da
> > > tabela.
> > > Se for uma tabela com muitos registros, tenta fazer um select
agrupando
> as
> > > chaves.
> > > Espero ter ajudado.
> > >
> > > Mariana
> > >
> > >
> > > ----- Original Message ----- 
> > > From: "Chico" <chico em auditecmatao.com.br>
> > > To: "IB/FB" <lista em firebase.com.br>
> > > Sent: Wednesday, December 01, 2004 8:59 AM
> > > Subject: [firebase-br] Consigo fazer backup, mas não consigo
restaurar,
>> > > erro. Porque ?
> > >
> > >
> > > Pessoal, estou utilizando o Firebird 1.0.2.908, como estou querendo
> passar
> > > para o FireBird 1.5.1.4481 eu fiz um backup do meu GDB da seguinte
> forma:
> > >
> > > gbak -g -b -v -t -z ...
> > >
> > > Aí o backup aparentemente fez normalmente, não vi mensagens de erro.
> > >
> > > Aí troquei o FB para 1.5.1.4481 e executei o restore assim:
> > >
> > > gbak -r -v ...
> > >
> > > Mas, na hora em determinado momento ele dá essa mensagem:
> > >
> > > gbak: creating indexes
> > > gbak:     restoring index RDB$PRIMARY17
> > > gbak:     restoring index RDB$PRIMARY15
> > > gbak:     restoring index RDB$PRIMARY16
> > > gbak:     restoring index RDB$PRIMARY11
> > > gbak:     restoring index RDB$PRIMARY10
> > > gbak:     restoring index RDB$PRIMARY18
> > > gbak:     restoring index RDB$PRIMARY14
> > > gbak: cannot commit index RDB$PRIMARY13
> > > gbak: ERROR: attempt to store duplicate value (visible to active
> > > transactions) i
> > > n unique index "RDB$PRIMARY13"
> > > gbak: ERROR: action cancelled by trigger (3) to preserve data
integrity
> > > gbak: ERROR:     Cannot deactivate primary index
> > > gbak: Exiting before completion due to errors
> > >
> > > Aí, eu tentei fazer o seguinte, voltei o banco para 1.0.2.908, fiz o
> > > backup
> > > novamente e o restore, no restore deu novamente o mesmo erro. Alguem
> sabe
> > > que erro é esse ? E o porque que está acontecendo ? Que sugestões
vocês
> > > tem
> > > para eu resolver para poder trocar o banco, já que aconselham fazer um
> > > backup/restore antes de trocar o banco.
> > > Ou será que eu posso simplesmente trocar o banco sem fazer
> backup/restore
> > > ?
> > >
> > > Grato.
> > > Chico.
> > > ______________________________________________
> > > FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
> > > Para editar sua configuração na lista, use o endereço
> > > http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> > >
> > >
> > > ______________________________________________
> > > FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
> > > Para editar sua configuração na lista, use o endereço
> > > http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> > >
> >
> >
> > ______________________________________________
> > FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
> > Para editar sua configuração na lista, use o endereço
> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> >
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
> Para editar sua configuração na lista, use o endereço
> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
>
>
> -- 
> No virus found in this incoming message.
> Checked by AVG Anti-Virus.
> Version: 7.0.289 / Virus Database: 265.4.4 - Release Date: 30/11/2004
>
>
>
>
> -- 
> No virus found in this outgoing message.
> Checked by AVG Anti-Virus.
> Version: 7.0.289 / Virus Database: 265.4.4 - Release Date: 30/11/2004
>





Mais detalhes sobre a lista de discussão lista