Chiappa, concorda que um cursor onde um commit; seja executado, exemplo, de 
1000 em 1000 registros é uma execução mais seegura, pois podem haver muitos 
registros?


Att,/Regards,


Vitor Jr.
Infraestrutura / Infrastructure Team
Oracle 11g DBA Certified Professional - OCP
Oracle Database 11g Performance Tuning Certified Expert - OCE
mail, gtalk e msn: vitorj...@gmail.com
skype: vjunior1981



On 20/01/2012, at 10:57, José Laurindo wrote:

> ok, o primeiro requisito vc já tem... A geração de código , se vc optar pelo 
> sqlplus, seria conectar como o OWNER em questão e fazer algo + ou - tipo, se 
> não errei nos plics :
> 
> set term off feedback off verify off pages 0 lines 500 trimspool on head off
> spool delete_tables.sql
> select 'DELETE FROM ' || table_name 
> || ' WHERE nomedacoluna < to_date(''01/01/2009'', ''dd/mm/yyyy'')'
> from USER_TABLES
> /
> spool off
> exit
> 
> O cursor PL/SQL seria semelhante, retirando-se os comandos sqlplus e 
> encaixando o SQL no loop, e dentro do loop executando-se via EXECUTE 
> IMMEDIATE a string montada...
> 
> []s
> 
> Chiappa
> --- Em oracle_br@yahoogrupos.com.br, "Carlos Pinto" <carlos.pintoo@...> 
> escreveu
> >
> > Valeu….tenho um campo data em todas as tabelas.
> > 
> > 
> > 
> > Com os melhores cumprimentos, 
> > 
> > Carlos Pinto
> > 
> > 
> > 
> > De: oracle_br@yahoogrupos.com.br [mailto:oracle_br@yahoogrupos.com.br] Em
> > nome de José Laurindo
> > Enviada: sexta-feira, 20 de Janeiro de 2012 12:25
> > Para: oracle_br@yahoogrupos.com.br
> > Assunto: [oracle_br] Re: Limpeza de registos
> > 
> > 
> > 
> > 
> > 
> > Bem, o primeiro passo é ter como LOCALIZAR a data em que os registros foram
> > inseridos : o RDBMS Oracle absolutamente *** NÃO *** armazena por default
> > essa informação, assim OU vc tem que ter uma coluna em cada tabela que traga
> > essa informação, OU vc tem algum tipo de Auditoria ativado (seja via AUDIT,
> > FGA, logminer, trigger de DML, o que for) que traga essa informação
> > (obviamente essa Auditoria deveria estar ativa ANTES da inserção) .... Se
> > NENHUMA das duas opções é verdadeira, vc Não Tem Como saber quando o
> > registro foi inserido, é isso ...
> > Uma vez vc tendo onde buscar a informação, é um simples DELETE o que vc vai
> > fazer (ou um DROP PARTITION num caso ideal aonde a tabela é particionada e a
> > informação de inserção é citada na chave de particionamento) : claro, para
> > que vc não tenha que escrever um comando para cada tabela vc VAI usar alguma
> > técnica de geração de código : pode ser simplesmente um cursor aonde cada
> > string de comando para cada tabela é montada e executada via EXECUTE
> > IMMEDIATE, ou (a minha favorita) vc gera um script .SQL via spool no
> > sql*plus via SELECT que retorne a informação ...
> > 
> > []s
> > 
> > Chiappa
> > --- Em oracle_br@yahoogrupos.com.br <mailto:oracle_br%40yahoogrupos.com.br>
> > , "Carlos Pinto" <carlos.pintoo@> escreveu
> > >
> > > Bom dia,
> > > 
> > > 
> > > 
> > > Amigos como posso Eliminar todos os registos anterior ao ano 2009 de todas
> > > as tabelas de um determinado SCHEMA?
> > > 
> > > 
> > > 
> > > Obrigado.
> > > 
> > > Carlos Pinto
> > > 
> > > 
> > > 
> > > 
> > > 
> > > [As partes desta mensagem que não continham texto foram removidas]
> > >
> > 
> > 
> > 
> > 
> > 
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> 
> 



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



------------------------------------

--------------------------------------------------------------------------------------------------------------------------
>Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de inteira 
>responsabilidade de seus remetentes.
Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ 
--------------------------------------------------------------------------------------------------------------------------
>Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » Procedure » 
>Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: 
>http://www.oraclebr.com.br/  
------------------------------------------------------------------------------------------------------------------------
 Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/oracle_br/

<*> Para sair deste grupo, envie um e-mail para:
    oracle_br-unsubscr...@yahoogrupos.com.br

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html


Responder a