O Adobe Campaign fornece um workflow integrado que permite agendar determinadas tarefas de manutenção do banco de dados: o fluxo de trabalho de limpeza do banco de dados. Esse workflow realiza as seguintes tarefas:
Observe que a tarefa de limpeza lida principalmente com a manutenção no nível do aplicativo, não com a manutenção no nível do RDBMS (com exceção da atualização de estatísticas). No entanto, as operações de manutenção serão necessárias no banco de dados. Mesmo se o workflow de limpeza do banco de dados for executado com êxito, isso não significa que o banco de dados esteja otimizado.
O workflow de limpeza do banco de dados não inclui nenhuma ferramenta de manutenção do banco de dados: cabe a você organizar a manutenção. Para fazer isso, é possível:
Estes procedimentos de manutenção devem ser executados regularmente e incluir:
Você precisa encontrar os slots apropriados para executar essas atividades de manutenção. Eles podem afetar o desempenho do banco de dados ao executar ou até mesmo bloquear o aplicativo (devido a bloqueio).
Normalmente, essas tarefas são executadas uma vez por semana durante um período de baixa atividade que não colidem com backups, recarregamento de dados ou cálculo agregado. Alguns sistemas altamente solicitados requerem uma manutenção mais frequente.
Uma manutenção mais detalhada, como recriações completas de tabela, pode ser realizada uma vez por mês, de preferência com aplicativos totalmente interrompidos, pois o sistema não pode mais ser usado.
Várias estratégias estão disponíveis:
Operações | Descrição | Benefícios | Desvantagens |
---|---|---|---|
Desfragmentação online |
A maioria dos mecanismos de banco de dados fornece métodos de desfragmentação. |
Basta usar o método de desfragmentação do banco de dados. Normalmente, esses métodos tratam de problemas de integridade, bloqueando os dados durante a desfragmentação. |
Dependendo do banco de dados, esses métodos de desfragmentação podem ser fornecidos como uma opção RDBMS (Oracle) e nem sempre são a maneira mais eficiente de lidar com tabelas maiores. |
Despejar e restaurar |
Despeje a tabela para um arquivo, exclua a tabela no banco de dados e restaure do despejo. |
Essa é a maneira mais fácil de desfragmentar uma tabela. Também é a única solução quando o banco de dados está quase cheio. |
Como a tabela é excluída e recriada, o aplicativo não pode ser deixado online, mesmo no modo somente leitura (a tabela não está disponível durante a fase de restauração). |
Duplicar, renomear e soltar |
Isso cria uma cópia de uma tabela e seus índices, em seguida, solta o existente e renomeia a cópia para ocupar seu lugar. |
Esse método é mais rápido que a primeira abordagem, pois gera menos E/S (sem cópia como arquivo e leitura desse arquivo). |
Requer duas vezes a quantidade de espaço. Todos os processos ativos que gravam na tabela durante o processo devem ser interrompidos. No entanto, os processos de leitura não serão afetados, pois a tabela é trocada no último momento após a reconstrução. |