Deletar muitos Dados em tabela gigante do Oracle
13/07/2017
0
Olá a todos:
Tenho uma tabela oracle com milhões de registros e necessito deletar milhões de registros da mesma.
Tentei deletar por partes Ex: DELETE from <tabela> where CampoData <= '08/04/17' AND rownum <= 50000; --> Este comando fica rodando infinitamente até travar ferramenta de administração do banco(estou usando o SQL Developer..
Tentei deletar por indexes e por chaves e em todos este caso fica rodando e não deleta nada...
Gostaria de saber se existe uma forma eficiente de deleção no Oracle para casos de grande volume de dados...
Desde já Muito Grato a todos...
Tenho uma tabela oracle com milhões de registros e necessito deletar milhões de registros da mesma.
Tentei deletar por partes Ex: DELETE from <tabela> where CampoData <= '08/04/17' AND rownum <= 50000; --> Este comando fica rodando infinitamente até travar ferramenta de administração do banco(estou usando o SQL Developer..
Tentei deletar por indexes e por chaves e em todos este caso fica rodando e não deleta nada...
Gostaria de saber se existe uma forma eficiente de deleção no Oracle para casos de grande volume de dados...
Desde já Muito Grato a todos...
José Santos
Curtir tópico
+ 0
Responder
Posts
13/09/2017
Erik Bosco
Boa tarde José.
Você pode criar um backup da sua tabela via CTAS apenas com os registros que você quer deixar, em seguida você dropa a tabela com todos os registros e renomeia a tabela que você criou via CTAS para o nome da tabela original.
Exemplo:
create table pessoa_new as select * from pessoa where idade <= 40;
drop table pessoa;
alter table pessoa_new rename to pessoa;
Você pode criar um backup da sua tabela via CTAS apenas com os registros que você quer deixar, em seguida você dropa a tabela com todos os registros e renomeia a tabela que você criou via CTAS para o nome da tabela original.
Exemplo:
create table pessoa_new as select * from pessoa where idade <= 40;
drop table pessoa;
alter table pessoa_new rename to pessoa;
Responder
Clique aqui para fazer login e interagir na Comunidade :)