No artigo de hoje vou apresentar uma funcionalidade muito útil do SQL Developer 3.1, que eu acredito que pouca gente conhece (pois não existia em versões anteriores da ferramenta), e que pode ajudar DBAs e/ou Desenvolvedores, a comparar a estrutura de objetos de schemas de Bancos de Dados distintos. Na versão em português do SQL Developer 3.1, esta funcionalidade chama-se Diferenças em Bancos de Dados e está localizada no menu Ferramentas. Ela é ótima para comparar objetos entre 2 ambientes de BD, tais como os ambientes de Desenvolvimento ou Homologação e o ambiente de Produção.
Ao comparar os objetos a ferramenta exibe uma janela contendo o script DDL do objeto na origem e no destino e destaca o que está diferente entre os 2 BDs. Para efetuar os testes, o único detalhe para que tudo funcione corretamente, é: conecte-se no BD destino sempre com o usuário dono do(s) objeto(s) ou esquema a ser(em) comparado(s). Se você tentar se conectar no BD destino com o usuário SYS, por exemplo, você não verá os resultados da comparação. Além de não funcionar, a ferramenta não exibirá aviso algum e você poderá pensar que trata-se de um bug (eu passei por isso)!
Para demonstrar a funcionalidade, seguiremos o passo-a-passo abaixo para comparar a estrutura da tabela EMPLOYEES, do schema HR, entre um BD de produção, chamado BD_PROD, e um BD de homologação, chamado BD_HOMOLOG:
Observações: Para seguir o passo-a-passo abaixo é necessário ter o schema HR instalado nos BDs de origem e destino. Para mais informações, leia o artigo Instalando o schema de exemplo HR.
1- Clique no menu Ferramentas do SQL Developer (somente versão 3.1) e depois clique em Diferenças em Bancos de Dados;
2- Ao abrir a tela da Imagem 01, selecione nos campos Conexão de Origem e Conexão de Destino, os nomes das conexões dos BDs que você deseja comparar e clique em seguida no botão Próximo;Ao comparar os objetos a ferramenta exibe uma janela contendo o script DDL do objeto na origem e no destino e destaca o que está diferente entre os 2 BDs. Para efetuar os testes, o único detalhe para que tudo funcione corretamente, é: conecte-se no BD destino sempre com o usuário dono do(s) objeto(s) ou esquema a ser(em) comparado(s). Se você tentar se conectar no BD destino com o usuário SYS, por exemplo, você não verá os resultados da comparação. Além de não funcionar, a ferramenta não exibirá aviso algum e você poderá pensar que trata-se de um bug (eu passei por isso)!
Para demonstrar a funcionalidade, seguiremos o passo-a-passo abaixo para comparar a estrutura da tabela EMPLOYEES, do schema HR, entre um BD de produção, chamado BD_PROD, e um BD de homologação, chamado BD_HOMOLOG:
Observações: Para seguir o passo-a-passo abaixo é necessário ter o schema HR instalado nos BDs de origem e destino. Para mais informações, leia o artigo Instalando o schema de exemplo HR.
Passo-a-passo
Imagem 01 - Etapa 1 da comparação |
3- Ao aparecer a tela da Imagem 02, deixe marcado somente o campo Tabelas e clique no botão Próximo;
Imagem 02 - Etapa 2 da comparação |
4- Ao aparecer a tela da Imagem 03, efetue os seguintes procedimentos:
a) Campo Nome: digite o valor EMPLOYEES
b) Campo Esquema: selecione o valor HR
c) Campo Tipo: selecione o valor TABLE
d) Clique no botão que contém a imagem do sinal > , para finalizar a seleção da tabela a ser comparada
Imagem 03 - Etapa 3 da comparação |
5- Ao aparecer a tela da Imagem 04 clique no botão Finalizar:
Imagem 05 - Resultados da comparação |
Bom pessoal, por hoje é só!
[]s
Bacana o post Fábio.
ResponderExcluirMês passado realizei um compare utilizando o plsql dev, porém a visualização do sql dev me parece ser mais interessante.
Abs.
Daniel Barros
Daniel, o SQL Developer está evoluindo bastante. Muitos alunos comentam que PLSQL Developer era muito melhor, mas eu nunca usei pq não é free. O SQL Developer já atende as minhas necessidades sem custo algum de licenciamento!
Excluir[]s