[firebase-br] Alterar tabelas com firebird em produção

Gladiston Santana gladiston em vidy.com.br
Qui Ago 15 10:23:19 -03 2013


Comandos DDL (ex: alter table) não geram inconsistências, que mal fará em
adicionar ou remover um campo?
O que pode dar zica é usar um editor visual para esse fim, pois ele pode
abrir uma transação, voce faz os comandos DDL ou faz as mudanças
visualmente e aí nesse ínterim é todo mundo barrado enquanto a transação
não se concretiza.
O exemplo que me veio a mente é o ibexpert criando um novo campo com 'not
null' (o que teoricamente não é possível através DDL, mas parece que será
possivel no FB3) e tendo que popular valores default, além dele fazer isso
diretamente nas tabelas de sistemas, pelo tempo que durar o update, sua
tabela provavelmente estará travada enquanto a transação não for commitada.

Estude os comandos que irá precisar e gere um script, o ibexpert, por
exemplo mostra os comandos que serão realizados, copie e cole num arquivo
texto, depois faça um teste rodando este script em seu computador e daí
estará pronto para rodar em produção.

Quanto aos indices, sem ver, é dificil falar alguma coisa.
Mas voce poderia o PLAN e ver o que ele está fazendo, tem coisas que nos
surpreendem, por exemplo, a existencia de um indice ascendente não é
sinonimo de performance quando voce usa um MAX(), nesse caso tem que criar
um indice descendente tambem. Eu sempre achei que isso não era necessário
porque bastaria o próprio FB inverter o índice ascendente. Quando vi essa
informação no forum do FB fiquei até deprimido :)


Em 14 de agosto de 2013 22:06, Raul Geraldin <rgeraldin em gmail.com> escreveu:

> O problema é que não posso parar o sistema para alterar, e sempre temos
> melhorias a serem feitas no bd, e isso esta causando algumas
> inconsistências, como select parando de utilizar os índices do banco.
>
>
> 2013/8/14 Otavio Benini <otavio.benini em gmail.com>
>
> > ja fiz isso sem problemas
> > apenas me assegurei que a tabela envolvida não estava em uso
> >
> > sds
> > *Otavio Benini*
> > *Benini Informática e Sistemas*
> > *(11) 9-8181-6553*
> > *(11) 4701-2797*
> > info em benini.com.br
> > otavio.benini em gmail.com
> >
> >
> > Em 14 de agosto de 2013 08:30, Raul Geraldin <rgeraldin em gmail.com>
> > escreveu:
> >
> > > Bom dia Senhores, exite alguma recomendação para alterar tabelas do
> > > firebird 2.5.2 em produção, sem ter que parar o banco ?
> > > ______________________________________________
> > > FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> > > Para saber como gerenciar/excluir seu cadastro na lista, use:
> > > http://www.firebase.com.br/fb/artigo.php?id=1107
> > > Para consultar mensagens antigas: http://firebase.com.br/pesquisa
> > >
> > ______________________________________________
> > FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> > Para saber como gerenciar/excluir seu cadastro na lista, use:
> > http://www.firebase.com.br/fb/artigo.php?id=1107
> > Para consultar mensagens antigas: http://firebase.com.br/pesquisa
> >
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>



Mais detalhes sobre a lista de discussão lista