Boa Tarde Senhores,

Muito Obrigado por toda ajuda prestada.

Meu cenario, mudou ! A tabela é uma historico de processamento de rotinas, o 
usúario vai precisar das informações dos últimos 6 meses, preciso montar uma 
função para deletar as linhas e deixar somente os últimos seis meses.

Vocês teriam algum exemplo para esse delete, mais alguma sugestão 

Obrigado,

Alex 

--- Em seg, 4/5/09, Josÿffffffffffe9 Ferreira <ja_...@yahoo.com.br> escreveu:
De: Josÿffffffffffe9 Ferreira <ja_...@yahoo.com.br>
Assunto: Re: [oracle_br] Deletar grande quantidade de linhas
Para: oracle_br@yahoogrupos.com.br
Data: Segunda-feira, 4 de Maio de 2009, 18:11











    
            
            


      
       

Alex,

 

 

Antes de fazer o particionamento, lembre-se que você vai ter que criar uma nova 
tabela já particionada ou usar o pacote DBMS_REDEFINITION. e demois fazer a 
carga

 

Tome cuidade ao criar a tabela com CREATE TABELAS X AS SELECT ...

Pelo tamanho de sua tabela eu não aconselho essa alternativa.

Caso opte, em criar uma nova tabela e faça os inserts, faça um bloco PL/SQL, 
além disso  pode  você usar também o hint INSERT /*+ APPEND */ . Atere sua 
tabela pra NOLOGGING. Outra coisa, se o seu banco estiver em modo archive log, 
verifica a possibilidade de desativá-lo durante o procedimento.

  



a--- Em seg, 4/5/09, Caio Spadafora <caiospadafora@ yahoo.com. br> escreveu:



De: Caio Spadafora <caiospadafora@ yahoo.com. br>

Assunto: Re: [oracle_br] Deletar grande quantidade de linhas

Para: oracle...@yahoogrup os.com.br

Data: Segunda-feira, 4 de Maio de 2009, 18:59



Sugiro particionamento por range em um campo data populado pelo default sysdate 
no momento do insert.



Mas é fundamental que você trabalhe com tablespaces diferentes, se possível uma 
para cada partição, isso vai te permitir algumas manobras interessantes para 
isolar o que você quer remover.



Simplesmente criar uma outra tabela com os dados que você quer vai ter um custo 
muito grande levando em conta a quantidade de linhas, lembrando que para usar o 
particionamento você vai precisar de uma licença enterprise e possuir o option 
de particionamento.



Atenciosamente,

Caio Spadafora.

http://0011brothers .blogspot. com/



--- Em seg, 4/5/09, Duilio Bruniera Junior <bruni...@gmail. com> escreveu:



De: Duilio Bruniera Junior <bruni...@gmail. com>

Assunto: Re: [oracle_br] Deletar grande quantidade de linhas

Para: oracle...@yahoogrup os.com.br

Data: Segunda-feira, 4 de Maio de 2009, 13:37



cria um nova tabela usando o comando:



create table <tabela_name> as select ... <os campos que voce quer> from



<tabela que voce quer copiar>



where <suas restrições>;



- truncate na tabela;



- depois um insert voltando os dados;



INSERT INTO <owner>.<tabela>



(<campo1>, <campo2>, <campo3>, <campo4>)



SELECT <campo1>, <campo2>, <campo3>, <campo4>



FROM <owner>.<a tabela que voce criou com create table as select ...>



se puder não esqueça de fazer um backup dessa tabela tambem.



ta feito.



Mais no seu caso seria muito mais interessante se voce criasse por exemplo



uma tabela particionada, dai conforme o tempo voce poderia ir apenas



dropando as antigas.



mais ou menos assim.



CREATE TABLE TABELA1



(



col1 number(5) not null,



col2 varchar2(50) not null,



col3 date not null



)



tablespace TBS_TABELA_1



partition by range (col3)



(partition SEMESTRE1 values less than (to_date("01- JUL-2006" ,"DD-MON- YYYY"))



tablespace TBS_USERS_1,



partition SEMESTRE2 values less than (to_date("01- JAN-2007" ,"DD-MON- YYYY"))



tablespace TBS_USERS_2) ;



beleza ?



2009/5/4 alex maior <alex_maior@ yahoo. com.br>



>



>



> Senhores,



>



> Bom Dia,



>



> Estou precisando fazer um expurgo em uma



> tabela que tem 260.739.106 linhas.



>



> A minha instância funciona 24x7x365.



>



> Preciso fazer o expurgo de +/- 10.000.000 de linhas a cada seis meses,



> deixar somente as informações de 6 meses atrás até o presente momento.



>



> Minha dúvida: Existe uma maneira eficiente e rápida para fazer esse



> expurgo ?



>



> Alguma dica ? sugestão ? Exemplos ?



>



> Grato.



>



> Alex Maior



>



> Veja quais são os assuntos do momento no Yahoo! +Buscados



> http://br.maisbusca dos.yahoo. com



>



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



>



> 



>



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



Veja quais são os assuntos do momento no Yahoo! +Buscados

http://br.maisbusca dos.yahoo. com



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



Veja quais são os assuntos do momento no Yahoo! +Buscados

http://br.maisbusca dos.yahoo. com



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




 

      

    
    
        
         
        
        








        


        
        


      Veja quais são os assuntos do momento no Yahoo! +Buscados
http://br.maisbuscados.yahoo.com

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

Responder a