DBMS_REDEFINITION - É possivel filtrar registros?

Dúvidas, dicas e truques de SQL, Select, Update, Delete, cláusulas, operações com joins, Funções em SQLs, etc
Avatar do usuário
stcoutinho
Moderador
Moderador
Mensagens: 850
Registrado em: Qua, 11 Mai 2011 5:15 pm
Localização: são Paulo - SP

Pessoal,

Em minha empresa disponho de uma tabela particionada por HASH com milhões de registros.

Estamos pretendendo alterar o critério de particionamento desta tabela HASH para RANGE. E para isso, estamos avaliando o DBMS_REDEFINITION.

Nosso maior problema é que a tabela em HASH tem um considerável numero de dados históricos que precisarão ser removidos da base. Esta limpeza será muito custosa, pois estamos falando de milhões de registros.

Gostaria de saber se somente com o DBMS_REDEFINITION é possível fazer estas duas operações durante o processo de reorganização ON-LINE da tabela:

- Alterar a estrutura de particionamento da tabela;
- Migrar somente os registros que não fazem parte do historico à remover;

A primeira questão já sabemos ser possível, mas não sabemos que seria possível usar um critério (filtro) para indicar quais registros da antiga tabela que não precisam ser migrados para a nova tabela.

Se a filtragem é factível, que métodos precisamos aplicar no DBMS_REDEFINITION?

Grato pela Ajuda,

Sergio Coutinho :mrgreen:
Avatar do usuário
stcoutinho
Moderador
Moderador
Mensagens: 850
Registrado em: Qua, 11 Mai 2011 5:15 pm
Localização: são Paulo - SP

Pessoal,

Pelo que eu pude pesquisar no ASKTOM, não é possível filtrar os registros durante o DBMS_REDEFINITION.

Desta forma, a tabela origem precisa ter os registros indesejados removidos previamente, antes da redefinição.

Mas se algum forista trabalhar com o DBMS_REDEFINITION, ficaria grato se pudesse me passar uma opinião sobre o mesmo.

Abraços,

Sergio Coutinho
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 14 visitantes