Meu próximo post seria sobre Backups usando RMAN.
Porém, para utilizar o RMAN é necessário que o banco esteja em modo archivelog. Por isso resolvi escrever este post antes, e assim dividir um pouquinho das tarefas, pois acredito que a leitura fica muito mais agradável em alguns posts mais curtos e simples do que um grande texto com todo o conteúdo de uma vez só.
Vamos botar a mão na massa?
Fiz o login diretamente no meu servidor:
Tudo ok, devidamente conectado como SYS. Hora de verificar se o banco de dados está ou não em modo archivelog:
O comando acima mostrou que a minha base, a minha instância, está subindo usando SPFILE.
Com isso posso fazer a alteração que citei anteriormente através dos comandos abaixo:
Esta alteração acima é simplesmente para dizer ao Oracle: “Eu quero que os archives gerados sejam gravados no diretório /backup/archives do servidor.”
Ótimo. Mas e se a instância estivesse usando pfile ao invés do spfile?
Sem problemas, neste caso bastaria acertar estes parâmetros dentro do pfile, ou seja, no arquivo init_[nome_do_banco].ora. Onde fica esse arquivo? Bom, tanto o spfile quanto o pfile geralmente podem ser encontrados no $ORACLE_HOME/dbs. As linhas destes parâmetros dentro do pfile ficariam assim:
Muito IMPORTANTE: o caminho especificado no parâmetro log_archive_dest_1 tem que ser válido, e com espaço disponível em disco. SEMPRE. Caso o Oracle tente gravar um archive neste diretório e ele tenha algum tipo de problema (diretório não existente, ou sem espaço em disco), o banco de dados irá simplesmente PARAR.
Feito isto, os próximos comandos são bem simples, conforme a sequência abaixo. Apesar de simples, é necessário obrigatoriamente fazer shutdown na base. Portanto, seu banco de dados ficará fora do ar por alguns instantes.
Pronto, o banco de dados já está em modo archivelog. Para conferir:
Ótimo! Agora o banco está em modo ARCHIVELOG, com isso posso fazer backups com o banco online! Em breve vou escrever sobre a ferramenta RMAN, e como fazer backups online usando o RMAN.
Algumas considerações importantes!
O meu banco de dados, no qual realizei todo esse processo acima, é versão 11gR2. Em versões anteriores, também era necessário setar o parâmetro log_archive_start, pelo comando:
Por que não fiz isso? Porque este parâmetro ficou obsoleto na versão 11g. Caso faça essa alteração (o que é comum acontecer, visto que vários tutoriais por aí incluem este comando), a cada startup do banco será mostrada a seguinte mensagem:
E aí, como resolver isto? O que fazer para sumir esta mensagem?
Bom, para resolver, basta “resetar” o valor do parâmetro log_archive_start, com o seguinte comando:
Pronto! Agora o parâmetro log_archive_start não tem mais nenhum valor associado. Mantenha sempre assim, não altere este parâmetro.
Esse conceito pode ser aplicado na versão Express Edition ? Obrigado
Pode sim Ricardo, a versão Express também funciona em modo Archivelog, e os passos para ativá-lo são os mesmos!
Abraço
camarada, ótimo este seu post, principalmente pelos exemplos e comentários. Parabéns.
Show de bola objetivo e simples.
Como faco pra apagar os arquivos? E apaguei os arquivos na pasta, mas no oracle na view ainda mostra
Rogério, você não deve apagar os arquivos manualmente, jamais!
Primeiramente: você está fazendo backup da sua base via RMAN?
O ideal é você ter um script que faça backup, e dentro desse script usar o comando que apaga arquivos obsoletos (incluindo backups antigos e archives).
Caso queira saber como fazer, pesquise aqui mesmo no blog os artigos sobre RMAN. Um deles tem um tutorial com os comandos.