Chiappa, obrigado pela dica.

Outra dúvida, no caso de perda total do banco e eu precise reinstalar o banco e 
voltar o backup, estes backups feitos apenas de schemas que tem segmentos serão 
suficientes ? digo isto porque o system neste caso está de fora.

Oracle 10.2.0.4
Win 2003

Abs,

Paulo.



________________________________
 De: J. Laurindo Chiappa <jlchia...@yahoo.com.br>
Para: oracle_br@yahoogrupos.com.br 
Enviadas: Quarta-feira, 5 de Dezembro de 2012 15:11
Assunto: [oracle_br] Re: duvida EXPDP
 

  
Sorry, mas salvo alguma feature não-documentada, afaik a sua idéia é furada, 
não tem não : veja na doc que não tem Nada sobre isso, vc TEM que ter uma 
chamada para cada schema se vc quer ter os schemas em arquivos .dmp separados 
para cada um... Fosse desejado que os schemas fossem todos para um só arquivo, 
tem como vc numa só chamada passar a lista de schemas, mas não é isso que vc 
quer...
Vc até poderia ter as n chamadas ao expdp num só script .BAT, claro, mas imho é 
vantajoso INLCUSIVE para a performance vc ter separados em vários .BATs (já que 
vc pode PARALELIZAR, ter múltiplas janelas DOS ao mesmo tempo abertas, cada um 
executando o .BAT referente á um schema : via de regra é MAIS RÁPIDO vc ter 
vários jobs paralelos do que um só executando por vez...
E é ÓBVIO, ninguém quer ter o trabalho cornífero de ficar digitando e digitando 
e digitando para ter os n .BATs , aí a gente usa o utilitário AMIGO DO DBA,  o 
sqlplus (sqlplus é o cachorro digital) :

=> tenha um simples script .SQL que gere os .BATs (supondo que o usuário que 
vai fazer os scripts seja SYSTEM com a senha ORACLE e que vc não queira nenhum 
parâmetro extra - CLARO que parâmetros como PARALLEL e quetais podem ser 
CRUCIAIS para performance, mas fica pra sua lição de casa as por se necessário) 
:

C:\Users\jchiappa>type gera_expdps.sql
set pagesize 0 trimspool on headsep off feedback off echo off verify off 
linesize 4000
-- Create an sql file that will create the individual result files
SET DEFINE OFF
SPOOL c:\temp\gera_scripts.sql
select DISTINCT 'SPOOL C:\temp\expdp_' || owner || '.BAT' || chr(10) || chr(13) 
||
' prompt expdp system/oracle DUMPFILE=' || owner || '.dmp 
DIRECTORY=data_pump_dir SCHEMAS=' || owner || chr(10) || chr(13) ||
'SPOOL OFF'
FROM DBA_SEGMENTS
WHERE OWNER NOT LIKE 'SYS%' AND OWNER NOT LIKE '%SYS' AND OWNER NOT LIKE 'XDB%'
AND OWNER NOT IN ('OUTLN', 'OBE', 'DBSNMP');
spool off
@c:\temp\gera_scripts.sql
exit

===> okdoc , eu rodo ele :

C:\Users\jchiappa>sqlplus system/oracle @gera_expdps.sql

SQL*Plus: Release 11.2.0.3.0 Production on Qua Dez 5 15:05:37 2012

Copyright (c) 1982, 2011, Oracle.  All rights reserved.

Conectado a:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, Oracle Label Security, OLAP, Data Mining,
Oracle Database Vault and Real Application Testing options

.......

...
Desconectado de Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 
64bit Production
With the Partitioning, Oracle Label Security, OLAP, Data Mining,
Oracle Database Vault and Real Application Testing options

===> Óia que bunitinho, tudo geradinho pra mim :

C:\Users\jchiappa>dir C:\temp /od
Volume in drive C has no label.
Volume Serial Number is 5A98-F13C

Directory of C:\temp

23/02/2012  17:29    <DIR>          oraremservice
05/12/2012  15:05             1.035 gera_scripts.sql
05/12/2012  15:05                72 expdp_HR.BAT
05/12/2012  15:05                78 expdp_SCOTT.BAT
05/12/2012  15:05                72 expdp_IX.BAT
05/12/2012  15:05                72 expdp_OE.BAT
05/12/2012  15:05                72 expdp_SH.BAT
05/12/2012  15:05                90 expdp_APEX_030200.BAT
05/12/2012  15:05                72 expdp_PM.BAT
05/12/2012  15:05    <DIR>          .
05/12/2012  15:05    <DIR>          ..
05/12/2012  15:05                82 expdp_ORDDATA.BAT
9 File(s)          1.645 bytes
3 Dir(s)   6.160.547.840 bytes free

=> vamos ver como ficaram :

C:\Users\jchiappa>type c:\temp\expdp_SH.bat
expdp system/oracle DUMPFILE=SH.dmp DIRECTORY=data_pump_dir SCHEMAS=SH

C:\Users\jchiappa>type c:\temp\expdp_pm.bat
expdp system/oracle DUMPFILE=PM.dmp DIRECTORY=data_pump_dir SCHEMAS=PM

C:\Users\jchiappa>

==> pronto, é só schedular como queira/precise....

[]s

Chiappa

OBS : outra Vantagem de ter separado vários scripts cada um gerando um .dmp é 
que é Trivial vc compactar/mover/fazer o que for preciso com o .dmp , colocando 
o comando necessário após a chamada ao expdp - nessa hora Com certeza a 
execução e geração do .dmp correspondente já acabou....

--- Em oracle_br@yahoogrupos.com.br, Paulo Couto <paulopcto2002@...> escreveu
>
> Amigos, bom dia,
> 
> Existe alguma forma de ao gerar um dump com o EXPDP ele gere uma .DMP para 
> cada SCHEMA automaticamente ? sem eu ter que criar um .bat para cada SCHEMA ?
> 
> Minha idéia é em apenas um .bat em uma linha de comando já gerar em .DMPs 
> separados.
> 
> Att,
> 
> Paulo.
> 
> [As partes desta mensagem que não continham texto foram removidas]
>


 

[As partes desta mensagem que não continham texto foram removidas]

Responder a