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