[oracle_br] Re: Script sql para geração de DDL de todo o database/instancia separado por usuario

2017-08-02 Por tôpico jlchia...@yahoo.com.br [oracle_br]
Segue as respostas adicionais :

"O export das DDL´s será executado em inúmeros servidores que por sua vez 
possuem diversos databases e algumas instâncias e repetido em intervalos de 
tempo irregulares."

E daí ? NENHUM desses detalhes te impede de montar um shell script que faça o 
export via datapump programaticamente ... Muito menos o haver múltiplas 
instâncias, é ** trivial ** vc escrever um shell script que identifica as 
instâncias E o oracle_home de cada instância e gera os parâmetros adequados e 
aciona o client de datapump apropriado...

"A aplicabilidade de uma técnica é inerente à tarefa a ser executada"

Concordo : por isso indiquei aquela que imho é MAIS ADEQUADA à tarefa E depende 
menos de programação...  
 
 Mas repito : seja por qual motivo for, se a geração de script DDLs pelo 
expor/datapump não te atende, teu próximo passo a analisar é a viabilidade de 
DBMS_METADATA, antes de apelar para a forma mais cru, ** complexa ** e 
primitiva de gerar os DDLs ...
 Só pra vc ter uma idéia da Complexidade envolvida, veja em 
https://asktom.oracle.com/pls/asktom/f?p=100:11:P11_QUESTION_ID:1464804639878
 a *** centena *** de linhas necessária para gerar o DDL de UMA TABELA, por aí 
vc imagina (se puder) a Complexidade de um script que gere os Vários e muitos 
DDLs de diversos objetos em múltiplos Schemas. Sorry, eu tenho peixes *** 
muito maiores *** pra fritar, meu tempo é Precioso para reinventar a roda
  Mas se é isso que vc quer, seja meu convidado e vá em frente : vamos ver se 
mais alguém das antigas tem um script do tipo pra te enviar, como eu disse os 
meus já joguei fora há ANOS, simplesmente não valia a pena dar manutenção nele 
cfrme novos objetos e detalhes são introduzidos no Dicionário de Dados a cada 
novo release
  
   Sorte aí pra vc...
   
   []s
   
 Chiappa

Re: [oracle_br] Re: Script sql para geração de DDL de todo o database/instancia separado por usuario

2017-08-02 Por tôpico Silvio Commodaro Junior scommod...@yahoo.com.br [oracle_br]
Tem uma idéia no link Extraindo comando DDL com o pacote DBMS_METADATA
  
|  
|   |  
Extraindo comando DDL com o pacote DBMS_METADATA
 Integrated Cloud Applications & Platform Services  |  |

  |

 
 Silvio Commodaro JuniorFones: (11)99154-8694(cel) / (xx11)4330-8409(res)       
       

Em Quarta-feira, 2 de Agosto de 2017 19:11, "fro...@gmail.com [oracle_br]" 
 escreveu:
 

     Caso alguem possua o script referido na minha solicitação original e puder 
me fazer a gentileza de ceder, agradeço enormemente.  #yiv6512679032 
#yiv6512679032 -- #yiv6512679032ygrp-mkp {border:1px solid 
#d8d8d8;font-family:Arial;margin:10px 0;padding:0 10px;}#yiv6512679032 
#yiv6512679032ygrp-mkp hr {border:1px solid #d8d8d8;}#yiv6512679032 
#yiv6512679032ygrp-mkp #yiv6512679032hd 
{color:#628c2a;font-size:85%;font-weight:700;line-height:122%;margin:10px 
0;}#yiv6512679032 #yiv6512679032ygrp-mkp #yiv6512679032ads 
{margin-bottom:10px;}#yiv6512679032 #yiv6512679032ygrp-mkp .yiv6512679032ad 
{padding:0 0;}#yiv6512679032 #yiv6512679032ygrp-mkp .yiv6512679032ad p 
{margin:0;}#yiv6512679032 #yiv6512679032ygrp-mkp .yiv6512679032ad a 
{color:#ff;text-decoration:none;}#yiv6512679032 #yiv6512679032ygrp-sponsor 
#yiv6512679032ygrp-lc {font-family:Arial;}#yiv6512679032 
#yiv6512679032ygrp-sponsor #yiv6512679032ygrp-lc #yiv6512679032hd {margin:10px 
0px;font-weight:700;font-size:78%;line-height:122%;}#yiv6512679032 
#yiv6512679032ygrp-sponsor #yiv6512679032ygrp-lc .yiv6512679032ad 
{margin-bottom:10px;padding:0 0;}#yiv6512679032 #yiv6512679032actions 
{font-family:Verdana;font-size:11px;padding:10px 0;}#yiv6512679032 
#yiv6512679032activity 
{background-color:#e0ecee;float:left;font-family:Verdana;font-size:10px;padding:10px;}#yiv6512679032
 #yiv6512679032activity span {font-weight:700;}#yiv6512679032 
#yiv6512679032activity span:first-child 
{text-transform:uppercase;}#yiv6512679032 #yiv6512679032activity span a 
{color:#5085b6;text-decoration:none;}#yiv6512679032 #yiv6512679032activity span 
span {color:#ff7900;}#yiv6512679032 #yiv6512679032activity span 
.yiv6512679032underline {text-decoration:underline;}#yiv6512679032 
.yiv6512679032attach 
{clear:both;display:table;font-family:Arial;font-size:12px;padding:10px 
0;width:400px;}#yiv6512679032 .yiv6512679032attach div a 
{text-decoration:none;}#yiv6512679032 .yiv6512679032attach img 
{border:none;padding-right:5px;}#yiv6512679032 .yiv6512679032attach label 
{display:block;margin-bottom:5px;}#yiv6512679032 .yiv6512679032attach label a 
{text-decoration:none;}#yiv6512679032 blockquote {margin:0 0 0 
4px;}#yiv6512679032 .yiv6512679032bold 
{font-family:Arial;font-size:13px;font-weight:700;}#yiv6512679032 
.yiv6512679032bold a {text-decoration:none;}#yiv6512679032 dd.yiv6512679032last 
p a {font-family:Verdana;font-weight:700;}#yiv6512679032 dd.yiv6512679032last p 
span {margin-right:10px;font-family:Verdana;font-weight:700;}#yiv6512679032 
dd.yiv6512679032last p span.yiv6512679032yshortcuts 
{margin-right:0;}#yiv6512679032 div.yiv6512679032attach-table div div a 
{text-decoration:none;}#yiv6512679032 div.yiv6512679032attach-table 
{width:400px;}#yiv6512679032 div.yiv6512679032file-title a, #yiv6512679032 
div.yiv6512679032file-title a:active, #yiv6512679032 
div.yiv6512679032file-title a:hover, #yiv6512679032 div.yiv6512679032file-title 
a:visited {text-decoration:none;}#yiv6512679032 div.yiv6512679032photo-title a, 
#yiv6512679032 div.yiv6512679032photo-title a:active, #yiv6512679032 
div.yiv6512679032photo-title a:hover, #yiv6512679032 
div.yiv6512679032photo-title a:visited {text-decoration:none;}#yiv6512679032 
div#yiv6512679032ygrp-mlmsg #yiv6512679032ygrp-msg p a 
span.yiv6512679032yshortcuts 
{font-family:Verdana;font-size:10px;font-weight:normal;}#yiv6512679032 
.yiv6512679032green {color:#628c2a;}#yiv6512679032 .yiv6512679032MsoNormal 
{margin:0 0 0 0;}#yiv6512679032 o {font-size:0;}#yiv6512679032 
#yiv6512679032photos div {float:left;width:72px;}#yiv6512679032 
#yiv6512679032photos div div {border:1px solid 
#66;min-height:62px;overflow:hidden;width:62px;}#yiv6512679032 
#yiv6512679032photos div label 
{color:#66;font-size:10px;overflow:hidden;text-align:center;white-space:nowrap;width:64px;}#yiv6512679032
 #yiv6512679032reco-category {font-size:77%;}#yiv6512679032 
#yiv6512679032reco-desc {font-size:77%;}#yiv6512679032 .yiv6512679032replbq 
{margin:4px;}#yiv6512679032 #yiv6512679032ygrp-actbar div a:first-child 
{margin-right:2px;padding-right:5px;}#yiv6512679032 #yiv6512679032ygrp-mlmsg 
{font-size:13px;font-family:Arial, helvetica, clean, sans-serif;}#yiv6512679032 
#yiv6512679032ygrp-mlmsg table {font-size:inherit;font:100%;}#yiv6512679032 
#yiv6512679032ygrp-mlmsg select, #yiv6512679032 input, #yiv6512679032 textarea 
{font:99% Arial, Helvetica, clean, sans-serif;}#yiv6512679032 
#yiv6512679032ygrp-mlmsg pre, #yiv6512679032 code {font:115% 
monospace;}#yiv6512679032 #yiv6512679032ygrp-mlmsg * 
{line-height:1.22em;}#yiv6512679032 #yiv6512679032ygrp-mlmsg #yi

Fw: Re: [oracle_br] Re: Script sql para geração de DDL de todo o database/instancia separado por usuario

2017-08-02 Por tôpico Luis Freitas lfreita...@yahoo.com [oracle_br]
Froier,

    Concordo com o Chiappa sobre isso, o expdp/impdp com sqlfile é a melhor 
opção, você pode fazer o export com o sys ou outro usuário com permissão de 
export full database e filtrar com o parametro "schemas". Ele vai gerar um 
script funcional para recriar os esquemas de forma fácil. 
    Do exemplo que ele já mandou pode incluir a opção "CONTENT=metadata_only" 
no export, o que deve gerar um arquivo pequeno, contendo apenas a definição dos 
objetos.
    Você vai precisar gerar scripts com os grants concedidos ao schemas também.

    Se optar por usar o dbms_metadata, sugiro incluir os comandos abaixo, para 
gerar os scripts. Quando usei esta ferramenta tive muitos problemas com o 
tratamento de objetos dependentes e grants. É mais útil quando se extrai 
objetos individuais.
   dbms_metadata.set_transform_param (dbms_metadata.session_transform, 
'SQLTERMINATOR', true);
   dbms_metadata.set_transform_param (dbms_metadata.session_transform, 
'PRETTY', true); 

Atc,Luis Freitas
On Wednesday, August 2, 2017, 5:44:07 PM GMT-3, fro...@gmail.com [oracle_br] 
 wrote:

    



Boa tarde Chiappa,Apenas a criação dos objetos vazios e sem o "Create 
database".Reconheço e estou preparado para excluir os usuário de acesso ao 
database (account_status='OPEN', os schemas de dados sempre estão com disable) 
e quando forem usuários de sistema (default_tablespace not in 
('users','sysaux','system')).
Agradeço-lhe muito a gentileza em tentar responder a minha pergunta, mas 
percebo que não possui o que estou procurando. Acredito ter sido bem 
específico, sendo o link repassado de nenhuma utilidade para mim.
Obrigado de qualquer forma,
Frederico Roier
---Em oracle_br@yahoogrupos.com.br,  escreveu:

Detalha um pouco mais : vc quer obter o comando CREATE DATABASE também ou não ? 
Vc diz que "quer DDLs", então IMAGINO que vc quer obter os DDLs de criação dos 
objetos mas VAZIOS, SEM DADOS, é isso ?? Outra coisa, vc fala "gerar DDL 
completa", mas vc *** SABE *** que dentro de um database Oracle existem *** 
DIVERSOS *** schemas de uso INTERNO APENAS, como o SYS, o SYSTEM, e vários 
outros : NEM PENSE em querer 'clonar' o schema SYS ou o SYSTEM de um database 
em outro, isso só pode dar os mais altos enroscos..

 SUPONDO que os procedimentos normais de clone de database (principalmente 
clone físico via cópia de arquivos) não te atendem mesmo (por questões de 
espaço ou o que for), E que o que vc vai fazer é o ** NORMAL ** de se ver pelaí 
(ie, simplesmente usar o DBCA pra criar um database ** VAZIO ** de dados de 
usuários e clonar *** APENAS *** os itens gerais do banco (como TABLESPACES e 
ROLES, digamos), os objetos de usuários públicos não criados internamente pelo 
RDBMS (principalmente sinônimos públicos), os usuários de banco não-internos e 
seus privilégios E os poucos schemas não-internos que possuem dados, a melhor 
opção imho seria gerar os DDLs em um arquivo-texto pelo datapump : 
http://www.acehints.com/2011/07/data-pump-impdp-expdp-sqlfile-option-to.html é 
um pequeno exemplo pra te dar um start Provavelmente vc vai ter que enfiar 
um EXCLUDEs pra exluir os schemas internos e os dados das tabelas, mas não é 
nada muito complexo

[]s

  Chiappa

Re: [oracle_br] Re: Script sql para geração de DDL de todo o database/instancia separado por usuario

2017-08-02 Por tôpico Luis Freitas lfreita...@yahoo.com [oracle_br]
Froier,
    Concordo com o Chiappa sobre isso, o expdp/impdp com sqlfile é a melhor 
opção, você pode fazer o export com o sys ou outro usuário com permissão de 
export full database e filtrar com o parametro "schemas". Ele vai gerar um 
script funcional para recriar os esquemas de forma fácil. 
    Do exemplo que ele já mandou pode incluir a opção "CONTENT=metadata_only" 
no export, o que deve gerar um arquivo pequeno, contendo apenas a definição dos 
objetos.
    Você vai precisar gerar scripts com os grants concedidos ao schemas também.

    Se optar por usar o dbms_metadata, sugiro incluir os comandos abaixo, para 
gerar os scripts. Quando usei esta ferramenta tive muitos problemas com o 
tratamento de objetos dependentes e grants. É mais útil quando se extrai 
objetos individuais.
   dbms_metadata.set_transform_param (dbms_metadata.session_transform, 
'SQLTERMINATOR', true);
   dbms_metadata.set_transform_param (dbms_metadata.session_transform, 
'PRETTY', true); 

Atc,Luis Freitas
On Wednesday, August 2, 2017, 5:44:07 PM GMT-3, fro...@gmail.com [oracle_br] 
 wrote:

    



Boa tarde Chiappa,Apenas a criação dos objetos vazios e sem o "Create 
database".Reconheço e estou preparado para excluir os usuário de acesso ao 
database (account_status='OPEN', os schemas de dados sempre estão com disable) 
e quando forem usuários de sistema (default_tablespace not in 
('users','sysaux','system')).
Agradeço-lhe muito a gentileza em tentar responder a minha pergunta, mas 
percebo que não possui o que estou procurando. Acredito ter sido bem 
específico, sendo o link repassado de nenhuma utilidade para mim.
Obrigado de qualquer forma,
Frederico Roier
---Em oracle_br@yahoogrupos.com.br,  escreveu:

Detalha um pouco mais : vc quer obter o comando CREATE DATABASE também ou não ? 
Vc diz que "quer DDLs", então IMAGINO que vc quer obter os DDLs de criação dos 
objetos mas VAZIOS, SEM DADOS, é isso ?? Outra coisa, vc fala "gerar DDL 
completa", mas vc *** SABE *** que dentro de um database Oracle existem *** 
DIVERSOS *** schemas de uso INTERNO APENAS, como o SYS, o SYSTEM, e vários 
outros : NEM PENSE em querer 'clonar' o schema SYS ou o SYSTEM de um database 
em outro, isso só pode dar os mais altos enroscos..

 SUPONDO que os procedimentos normais de clone de database (principalmente 
clone físico via cópia de arquivos) não te atendem mesmo (por questões de 
espaço ou o que for), E que o que vc vai fazer é o ** NORMAL ** de se ver pelaí 
(ie, simplesmente usar o DBCA pra criar um database ** VAZIO ** de dados de 
usuários e clonar *** APENAS *** os itens gerais do banco (como TABLESPACES e 
ROLES, digamos), os objetos de usuários públicos não criados internamente pelo 
RDBMS (principalmente sinônimos públicos), os usuários de banco não-internos e 
seus privilégios E os poucos schemas não-internos que possuem dados, a melhor 
opção imho seria gerar os DDLs em um arquivo-texto pelo datapump : 
http://www.acehints.com/2011/07/data-pump-impdp-expdp-sqlfile-option-to.html é 
um pequeno exemplo pra te dar um start Provavelmente vc vai ter que enfiar 
um EXCLUDEs pra exluir os schemas internos e os dados das tabelas, mas não é 
nada muito complexo

[]s

  Chiappa  #yiv5064173973 #yiv5064173973 -- #yiv5064173973ygrp-mkp {border:1px 
solid #d8d8d8;font-family:Arial;margin:10px 0;padding:0 10px;}#yiv5064173973 
#yiv5064173973ygrp-mkp hr {border:1px solid #d8d8d8;}#yiv5064173973 
#yiv5064173973ygrp-mkp #yiv5064173973hd 
{color:#628c2a;font-size:85%;font-weight:700;line-height:122%;margin:10px 
0;}#yiv5064173973 #yiv5064173973ygrp-mkp #yiv5064173973ads 
{margin-bottom:10px;}#yiv5064173973 #yiv5064173973ygrp-mkp .yiv5064173973ad 
{padding:0 0;}#yiv5064173973 #yiv5064173973ygrp-mkp .yiv5064173973ad p 
{margin:0;}#yiv5064173973 #yiv5064173973ygrp-mkp .yiv5064173973ad a 
{color:#ff;text-decoration:none;}#yiv5064173973 #yiv5064173973ygrp-sponsor 
#yiv5064173973ygrp-lc {font-family:Arial;}#yiv5064173973 
#yiv5064173973ygrp-sponsor #yiv5064173973ygrp-lc #yiv5064173973hd {margin:10px 
0px;font-weight:700;font-size:78%;line-height:122%;}#yiv5064173973 
#yiv5064173973ygrp-sponsor #yiv5064173973ygrp-lc .yiv5064173973ad 
{margin-bottom:10px;padding:0 0;}#yiv5064173973 #yiv5064173973actions 
{font-family:Verdana;font-size:11px;padding:10px 0;}#yiv5064173973 
#yiv5064173973activity 
{background-color:#e0ecee;float:left;font-family:Verdana;font-size:10px;padding:10px;}#yiv5064173973
 #yiv5064173973activity span {font-weight:700;}#yiv5064173973 
#yiv5064173973activity span:first-child 
{text-transform:uppercase;}#yiv5064173973 #yiv5064173973activity span a 
{color:#5085b6;text-decoration:none;}#yiv5064173973 #yiv5064173973activity span 
span {color:#ff7900;}#yiv5064173973 #yiv5064173973activity span 
.yiv5064173973underline {text-decoration:underline;}#yiv5064173973 
.yiv5064173973attach 
{clear:both;display:table;font-family:Arial;font-size:12px;padding:10px 
0;width:400px;}#yiv5064173973 .yiv5064173973attach div a 
{text-decora

[oracle_br] Re: Script sql para geração de DDL de todo o database/instancia separado por usuario

2017-08-02 Por tôpico fro...@gmail.com [oracle_br]
Caso alguem possua o script referido na minha solicitação original e puder me 
fazer a gentileza de ceder, agradeço enormemente.

[oracle_br] Re: Script sql para geração de DDL de todo o database/instancia separado por usuario

2017-08-02 Por tôpico fro...@gmail.com [oracle_br]
Primeiro não me atende, segundo, não foi isso que, humildemente, perguntei se 
alguém possuía e podia me ceder.
A aplicabilidade de uma técnica é inerente à tarefa a ser executada, não apenas 
o afã de utiliza-la.
O export das DDL´s será executado em inúmeros servidores que por sua vez 
possuem diversos databases e algumas instâncias e repetido em intervalos de 
tempo irregulares.

[oracle_br] Re: Script sql para geração de DDL de todo o database/instancia separado por usuario

2017-08-02 Por tôpico jlchia...@yahoo.com.br [oracle_br]
Discordo em gênero, número e Grau sobre a inadequação da técnica de extração 
dos DDLs via datapump ilustrada pelo link que forneci : ** SE ** vc incluir num 
exclude os usuários SYS, SYSTEM e demais usuários internos E excluir a geração 
dos dados (via CONTENT=metadata_only) E habilitar a geração de arquivo-texto 
com a saída, o que vc *** VAI OBTER *** é SIM os DDLs, é o que 'sobra' numa 
exportação nessa situação... Isso é *** Líquido e Certo *** , siga o exemplo do 
link que vc chega SIM nesse resultado, Inevitavelmente

 Anyway, se vc QUER/PRECISA seja por que motivo for (por questão de formatação 
avançada, por falta de acesso ao datapump, seja pelo que for) da opção MANUAL 
de extrair DDLs (ie, um script SQL que monte os DDLs a partir da DBMS_METADATA 
ou - algo mais Antigo ainda - consultando o dicionário de dados), embora não 
use isso (eu EVITO reinventar a roda sempre que possível) eu posso indicar 
https://stackoverflow.com/questions/10886450/how-to-generate-entire-ddl-of-an-oracle-schema-scriptable
 como um exemplo do uso de METADATA clonando todo um schema (é ** trivial ** 
adaptar a técnica para múltiplos schemas) 
 A opção de criar os DDLs consultando diretamente o dicionário de dados, 
Justamente por ser trabalhosa e complexa E ter sido há Muito abandonada em 
favor do datapump e/ou do dbms_metadata, ainda existe mas hoje em dia é muito 
difícil de achar exemplos (eu mesmo há ** anos ** já joguei fora os scripts que 
tinha para isso), então para essa opção fico te devendo refs/exemplos

 []s

   Chiappa

[oracle_br] Re: Script sql para geração de DDL de todo o database/instancia separado por usuario

2017-08-02 Por tôpico fro...@gmail.com [oracle_br]

 
Boa tarde Chiappa,
 Apenas a criação dos objetos vazios e sem o "Create database".
 Reconheço e estou preparado para excluir os usuário de acesso ao database 
(account_status='OPEN', os schemas de dados sempre estão com disable) e quando 
forem usuários de sistema (default_tablespace not in 
('users','sysaux','system')).

 Agradeço-lhe muito a gentileza em tentar responder a minha pergunta, mas 
percebo que não possui o que estou procurando. Acredito ter sido bem 
específico, sendo o link repassado de nenhuma utilidade para mim.
 

 Obrigado de qualquer forma,
 

 Frederico Roier
 
---Em oracle_br@yahoogrupos.com.br,  escreveu:

 Detalha um pouco mais : vc quer obter o comando CREATE DATABASE também ou não 
? Vc diz que "quer DDLs", então IMAGINO que vc quer obter os DDLs de criação 
dos objetos mas VAZIOS, SEM DADOS, é isso ?? Outra coisa, vc fala "gerar DDL 
completa", mas vc *** SABE *** que dentro de um database Oracle existem *** 
DIVERSOS *** schemas de uso INTERNO APENAS, como o SYS, o SYSTEM, e vários 
outros : NEM PENSE em querer 'clonar' o schema SYS ou o SYSTEM de um database 
em outro, isso só pode dar os mais altos enroscos..

 SUPONDO que os procedimentos normais de clone de database (principalmente 
clone físico via cópia de arquivos) não te atendem mesmo (por questões de 
espaço ou o que for), E que o que vc vai fazer é o ** NORMAL ** de se ver pelaí 
(ie, simplesmente usar o DBCA pra criar um database ** VAZIO ** de dados de 
usuários e clonar *** APENAS *** os itens gerais do banco (como TABLESPACES e 
ROLES, digamos), os objetos de usuários públicos não criados internamente pelo 
RDBMS (principalmente sinônimos públicos), os usuários de banco não-internos e 
seus privilégios E os poucos schemas não-internos que possuem dados, a melhor 
opção imho seria gerar os DDLs em um arquivo-texto pelo datapump : 
http://www.acehints.com/2011/07/data-pump-impdp-expdp-sqlfile-option-to.html é 
um pequeno exemplo pra te dar um start Provavelmente vc vai ter que enfiar 
um EXCLUDEs pra exluir os schemas internos e os dados das tabelas, mas não é 
nada muito complexo

[]s

  Chiappa



[oracle_br] Re: Script sql para geração de DDL de todo o database/instancia separado por usuario

2017-08-02 Por tôpico jlchia...@yahoo.com.br [oracle_br]
Detalha um pouco mais : vc quer obter o comando CREATE DATABASE também ou não ? 
Vc diz que "quer DDLs", então IMAGINO que vc quer obter os DDLs de criação dos 
objetos mas VAZIOS, SEM DADOS, é isso ?? Outra coisa, vc fala "gerar DDL 
completa", mas vc *** SABE *** que dentro de um database Oracle existem *** 
DIVERSOS *** schemas de uso INTERNO APENAS, como o SYS, o SYSTEM, e vários 
outros : NEM PENSE em querer 'clonar' o schema SYS ou o SYSTEM de um database 
em outro, isso só pode dar os mais altos enroscos..

 SUPONDO que os procedimentos normais de clone de database (principalmente 
clone físico via cópia de arquivos) não te atendem mesmo (por questões de 
espaço ou o que for), E que o que vc vai fazer é o ** NORMAL ** de se ver pelaí 
(ie, simplesmente usar o DBCA pra criar um database ** VAZIO ** de dados de 
usuários e clonar *** APENAS *** os itens gerais do banco (como TABLESPACES e 
ROLES, digamos), os objetos de usuários públicos não criados internamente pelo 
RDBMS (principalmente sinônimos públicos), os usuários de banco não-internos e 
seus privilégios E os poucos schemas não-internos que possuem dados, a melhor 
opção imho seria gerar os DDLs em um arquivo-texto pelo datapump : 
http://www.acehints.com/2011/07/data-pump-impdp-expdp-sqlfile-option-to.html é 
um pequeno exemplo pra te dar um start Provavelmente vc vai ter que enfiar 
um EXCLUDEs pra exluir os schemas internos e os dados das tabelas, mas não é 
nada muito complexo

[]s

  Chiappa