Controle de alterações no banco de dados

DBA Geral (instalação, configuração do banco, scripts do Sql*Plus, shell scripts, batch scripts, etc...)
Responder
gokden
Rank: DBA Pleno
Rank: DBA Pleno
Mensagens: 264
Registrado em: Dom, 19 Ago 2007 8:18 pm
Localização: Ribeirão Preto - SP
Lucas de Souza

OCA Developer
Analista de sistemas

boa noite galera....
bom, gostaria de saber como que vocês fazem o controle de alterações em tabelas no banco oracle ?

hoje na minha empresa o desenvolvedor mesmo é o responsável em criar/alterar tabelas, criar indices, adicionar colunas e tudo mais e eles matem um arquivo TXT onde vão documentando todas as alterações feitas no banco de desenvolvimento e depois eu atualizo na base de produção dos clientes.
não precisa nem dizer que um dia isso vai dar m***a né ?
há alguns anos atrás eu já trabalhei com o Oracle Designer(muitos anos), onde o desenv abria um chamado para o DBA e o DBA criava todas as estruturas no Designer e gerava os .sql.
problema era que eu tinha que ter um DBA só pra fazer isso, e eu travava o desenv, que ficava esperando o DBA criar as estruturas.

Hoje eu penso em duas alteranativas:
1) Utilizar o Oracle Datamodeler combinado algum controle de versão (GIT ou SVN) e bloqueia o desenv de fazer "alter table" no banco.
2) Criar uma Trigger que documente todos os DDLs, assim eu deixo o Desenv mexendo no banco e consigo criar tipo um "CVS" de alterações em tabelas do jeito que eu quiser.

minha preocupação é com tabelas, pois packages, triggers e demais eu já utilizo o SVN.

e vocês ?? como fazem este controle na empresa de vocês ? qual das 2 alteranativas consideram melhor ??

t+
Avatar do usuário
dr_gori
Moderador
Moderador
Mensagens: 5024
Registrado em: Seg, 03 Mai 2004 3:08 pm
Localização: Portland, OR USA
Contato:
Thomas F. G

Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered

Até hoje, a forma que eu mais vi é o desenvolvedor ter acesso apenas de leitura na base de produção. Ele simplesmente não pode passar NADA pra outras bases. Ou seja, se ele quiser passar algo, ele precisa montar ou documentar os scripts pra alguém rodar. Ele precisa saber exatamente o que criou. Não pode simplesmente sair criando coisas na base DEV e esperar que alguém pegue tudo e instale em outras, mesmo porque tem muito teste, lixo, etc em DEV.
Dessa forma, não é muito necessário ter um controle muito grande a nível de auditoria, pois tudo que realmente importa, ele precisa tratar com muito cuidado e documentar o que precisa passar pra outras bases.
Pra saber o que entrou em produção, basta guardar esses arquivos de deploy em um controle de versão. Ou outra forma. :roll:
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 7 visitantes