Temos uma instância no Oracle 10g. Apenas um esquema é usado para um aplicativo da web (voltado para a Internet), que é usado apenas para leitura de informações, sem adição ou modificação de dados. O resto dos esquemas não são usados.
Archived Redo Logs
está ativado. O que é estranho para nós é que arquivos arquivados são gerados todos os dias, inclusive domingos e feriados, quando ninguém vem trabalhar.
Achei que os Redo Logs arquivados são gerados ao inserir, excluir ou atualizar dados, nunca por causa de instruções select.
Isso está correto?
O próprio Oracle geralmente gera refazer no processo de execução de vários trabalhos em segundo plano. Por exemplo, por padrão no 10g, existe um trabalho que reúne estatísticas sobre objetos. Isso vai gerar refazer. Por padrão, o 10g tem um trabalho que também coleta informações de AWR a cada hora. Isso irá gerar refazer também. Há vários outros trabalhos em segundo plano (ponto de verificação, atualização do SCN para tabela de mapeamento de carimbo de data/hora, etc.) que também serão executados, o que gerará refazer continuamente, como é natural.
Se você executar a consulta
em um banco de dados ocioso (do ponto de vista do usuário), você notará que o
current_scn
está incrementando a cada poucos segundos. Isso é a Oracle fazendo vários tipos de tarefas domésticas. Essa limpeza gerará uma pequena quantidade de refazer a cada vez. Ao longo de um dia inteiro, é bastante comum que isso seja suficiente para alguns logs arquivados, mesmo que seu sistema esteja bastante ocioso.Você pode usar o LogMiner para ver exatamente o que os logs contêm.
Também é possível que uma
SELECT
instrução gere entradas de redo log devido à limpeza atrasada do bloco.Isso é abordado na documentação do Oracle, mas você também pode encontrar aqui um artigo do Ask Tom que aborda o assunto.