Uma situação que pode ser comum na rotina de um DBA é a necessidade de recriar algum objeto da base ou mesmo replicar um usuário com seus respectivos privilégios. Esta atividade pode ser realizada por ferramentas de exportação e importação de dados como o datapump e o export comum.
Porém para algumas situações onde não é possível utilizar ferramentas como o datapump a Oracle disponibiliza uma API capaz de fazer a engenharia reversa dos objetos, através da package DBMS_METADATA.
Porém para algumas situações onde não é possível utilizar ferramentas como o datapump a Oracle disponibiliza uma API capaz de fazer a engenharia reversa dos objetos, através da package DBMS_METADATA.
A sintaxe do processo é basicamente a demonstrada abaixo:
select dbms_metadata.get_ddl('TIPO_OBJETO','NOME_OBJETO','OWNER') from dual;
Como exemplo prático, estarei recuperando a ddl da tabela teste do schema JHONATA.
SQL> select dbms_metadata.get_ddl('TABLE','TESTE','JHONATA') from dual; DBMS_METADATA.GET_DDL('TABLE','TESTE','JHONATA') -------------------------------------------------------------------------------- CREATE TABLE "JHONATA"."TESTE" ( "NOME" VARCHAR2(20), "DATA" DATE )A utilização desta package é bastante simples e muito útil no dia a dia, nos mais variados tipos de situações, desde a necessidade de recriação de um objeto especifico, owner, permissões, etc
Fonte: http://docs.oracle.com/cd/B19306_01/appdev.102/b14258/d_metada.htm
Comentários
Postar um comentário