No último post, descrevi os passos para deixar o banco em modo ARCHIVELOG.

O meu motivo para deixar o banco em modo archivelog foi exatamente permitir hot backups com o RMAN. Pois bem, vamos agora para o que mais interessava: o próprio RMAN!

Pré-requisito: o banco deve estar em modo ARCHIVELOG, conforme já foi explicado no post anterior.

Criação de diretórios

[et_pb_dmb_code_snippet _builder_version=”4.0.6″ code=”W3Jvb3RAb3Jhc2VydmVyIH5dIyAgbWtkaXIgL2JhY2t1cApbcm9vdEBvcmFzZXJ2ZXIgfl0jICBta2RpciAvYmFja3VwL2FyY2hpdmVsb2dzCltyb290QG9yYXNlcnZlciB+XSMgIG1rZGlyIC9iYWNrdXAvcm1hbgpbcm9vdEBvcmFzZXJ2ZXIgfl0jICBta2RpciAvYmFja3VwL3NjcmlwdHMKW3Jvb3RAb3Jhc2VydmVyIH5dIyAgbWtkaXIgL2JhY2t1cC9sb2dzCltyb290QG9yYXNlcnZlciB+XSMgIGNob3duIG9yYWNsZS5vaW5zdGFsbCAvYmFja3VwCltyb290QG9yYXNlcnZlciB+XSMgIGNob3duIG9yYWNsZS5vaW5zdGFsbCAvYmFja3VwL2FyY2hpdmVsb2dzCltyb290QG9yYXNlcnZlciB+XSMgIGNob3duIG9yYWNsZS5vaW5zdGFsbCAvYmFja3VwL3JtYW4KW3Jvb3RAb3Jhc2VydmVyIH5dIyAgY2hvd24gb3JhY2xlLm9pbnN0YWxsIC9iYWNrdXAvc2NyaXB0cwpbcm9vdEBvcmFzZXJ2ZXIgfl0jICBjaG93biBvcmFjbGUub2luc3RhbGwgL2JhY2t1cC9sb2dzCkNvbmZpZ3VyYcOnw7VlcyBkbyBSTUFOCgoKW29yYWNsZUBvcmFzZXJ2ZXIgbG9nXSQgcm1hbiB0YXJnZXQgLwouLi4KY29ubmVjdGVkIHRvIHRhcmdldCBkYXRhYmFzZTogSU5TVDEgKERCSUQ9MzcxMzMwNzEpCgpSTUFOPiBzaG93IGFsbDsKLS0gSXLDoSBhcGFyZWNlciBhIGNvbmZpZ3VyYcOnw6NvIGF0dWFsIGRvIFJNQU4uIENvbSBvcyBjb21hbmRvcyBhYmFpeG8sIHZhbW9zIGFsdGVyYXIgYWxndW1hcyBkZXNzYXMgY29uZmlndXJhw6fDtWVzCgpSTUFOPiBjb25maWd1cmUgY2hhbm5lbCBkZXZpY2UgdHlwZSBkaXNrIGZvcm1hdCAnL2JhY2t1cC9ybWFuL29yYV9kZiV0X3Mlc19zJXAuYmtwJzsKClJNQU4+IGNvbmZpZ3VyZSBjb250cm9sZmlsZSBhdXRvYmFja3VwIG9uOwoKUk1BTj4gY29uZmlndXJlIGNvbnRyb2xmaWxlIGF1dG9iYWNrdXAgZm9ybWF0IGZvciBkZXZpY2UgdHlwZSBkaXNrIHRvICcvYmFja3VwL3JtYW4vY2ZfJUYuY2YnOwoKUk1BTj4gY29uZmlndXJlIHJldGVudGlvbiBwb2xpY3kgdG8gcmVjb3Zlcnkgd2luZG93IG9mIDcgZGF5czs=” hover_enabled=”0″]W3Jvb3RAb3Jhc2VydmVyIH5dIyAgbWtkaXIgL2JhY2t1cApbcm9vdEBvcmFzZXJ2ZXIgfl0jICBta2RpciAvYmFja3VwL2FyY2hpdmVsb2dzCltyb290QG9yYXNlcnZlciB+XSMgIG1rZGlyIC9iYWNrdXAvcm1hbgpbcm9vdEBvcmFzZXJ2ZXIgfl0jICBta2RpciAvYmFja3VwL3NjcmlwdHMKW3Jvb3RAb3Jhc2VydmVyIH5dIyAgbWtkaXIgL2JhY2t1cC9sb2dzCltyb290QG9yYXNlcnZlciB+XSMgIGNob3duIG9yYWNsZS5vaW5zdGFsbCAvYmFja3VwCltyb290QG9yYXNlcnZlciB+XSMgIGNob3duIG9yYWNsZS5vaW5zdGFsbCAvYmFja3VwL2FyY2hpdmVsb2dzCltyb290QG9yYXNlcnZlciB+XSMgIGNob3duIG9yYWNsZS5vaW5zdGFsbCAvYmFja3VwL3JtYW4KW3Jvb3RAb3Jhc2VydmVyIH5dIyAgY2hvd24gb3JhY2xlLm9pbnN0YWxsIC9iYWNrdXAvc2NyaXB0cwpbcm9vdEBvcmFzZXJ2ZXIgfl0jICBjaG93biBvcmFjbGUub2luc3RhbGwgL2JhY2t1cC9sb2dzCkNvbmZpZ3VyYcOnw7VlcyBkbyBSTUFOCgoKW29yYWNsZUBvcmFzZXJ2ZXIgbG9nXSQgcm1hbiB0YXJnZXQgLwouLi4KY29ubmVjdGVkIHRvIHRhcmdldCBkYXRhYmFzZTogSU5TVDEgKERCSUQ9MzcxMzMwNzEpCgpSTUFOPiBzaG93IGFsbDsKLS0gSXLDoSBhcGFyZWNlciBhIGNvbmZpZ3VyYcOnw6NvIGF0dWFsIGRvIFJNQU4uIENvbSBvcyBjb21hbmRvcyBhYmFpeG8sIHZhbW9zIGFsdGVyYXIgYWxndW1hcyBkZXNzYXMgY29uZmlndXJhw6fDtWVzCgpSTUFOPiBjb25maWd1cmUgY2hhbm5lbCBkZXZpY2UgdHlwZSBkaXNrIGZvcm1hdCAnL2JhY2t1cC9ybWFuL29yYV9kZiV0X3Mlc19zJXAuYmtwJzsKClJNQU4+IGNvbmZpZ3VyZSBjb250cm9sZmlsZSBhdXRvYmFja3VwIG9uOwoKUk1BTj4gY29uZmlndXJlIGNvbnRyb2xmaWxlIGF1dG9iYWNrdXAgZm9ybWF0IGZvciBkZXZpY2UgdHlwZSBkaXNrIHRvICcvYmFja3VwL3JtYW4vY2ZfJUYuY2YnOwoKUk1BTj4gY29uZmlndXJlIHJldGVudGlvbiBwb2xpY3kgdG8gcmVjb3Zlcnkgd2luZG93IG9mIDcgZGF5czs=[/et_pb_dmb_code_snippet]

EFETUAR BACKUPS MANUALMENTE

[et_pb_dmb_code_snippet _builder_version=”4.0.6″ code=”Uk1BTj4gYmFja3VwIGRhdGFiYXNlIHBsdXMgYXJjaGl2ZWxvZzs=” hover_enabled=”0″]Uk1BTj4gYmFja3VwIGRhdGFiYXNlIHBsdXMgYXJjaGl2ZWxvZzs=[/et_pb_dmb_code_snippet]

AUTOMATIZAR BACKUPS

Nenhum DBA quer ficar fazendo backups manualmente todos os dias quando existe a possibilidade de automatizar a tarefa, não é verdade?

Então vamos automatizar esta rotina, lembrando que o DBA deve conferir os logs e também os arquivos de backup para garantir que os backups estão sendo realizados com sucesso.

Vou armazenar todos os scripts e arquivos de comandos em um diretório exclusivo:

[et_pb_dmb_code_snippet _builder_version=”4.0.6″ code=”W29yYWNsZUBvcmFzZXJ2ZXIgYmFja3VwXSQgY2QgL2JhY2t1cC9zY3JpcHRzLw==” hover_enabled=”0″]W29yYWNsZUBvcmFzZXJ2ZXIgYmFja3VwXSQgY2QgL2JhY2t1cC9zY3JpcHRzLw==[/et_pb_dmb_code_snippet]

Criei o script usando o gedit como editor de textos. Abaixo, o comando seguido do conteúdo do arquivo:

[[email protected] scripts]$ gedit bkp_diario.sh 
#!/bin/bash
su - oracle -c "rman target / cmdfile /backup/scripts/diario.txt"

Criei também um arquivo texto com os comandos que serão executados dentro do RMAN. Neste exemplo, bem simples, é um comando único, fazendo um backup de todo o database incluindo os archives.

[et_pb_dmb_code_snippet _builder_version=”4.0.6″ code=”W29yYWNsZUBvcmFzZXJ2ZXIgc2NyaXB0c10kIGdlZGl0IGRpYXJpby50eHQgCmJhY2t1cCBkYXRhYmFzZSBwbHVzIGFyY2hpdmVsb2c7″ hover_enabled=”0″]W29yYWNsZUBvcmFzZXJ2ZXIgc2NyaXB0c10kIGdlZGl0IGRpYXJpby50eHQgCmJhY2t1cCBkYXRhYmFzZSBwbHVzIGFyY2hpdmVsb2c7[/et_pb_dmb_code_snippet]

Por último, coloquei meu script para ser executado automaticamente pelo crontab. Para quem não conhece, o crontab é o “agendador de tarefas” do Linux. No caso abaixo, o meu script bkp_diario.sh será executado todos os dias, as 15:23, e a operação irá gravar um log no arquivo  /backup/log/bkp_diario.log.

[et_pb_dmb_code_snippet _builder_version=”4.0.6″ code=”W3Jvb3RAb3Jhc2VydmVyIH5dIyBjcm9udGFiIC1lCjIzIDE1ICogKiAqIC9iYWNrdXAvc2NyaXB0cy9ia3BfZGlhcmlvLnNoIDI+JjEmPiAvYmFja3VwL2xvZy9ia3BfZGlhcmlvLmxvZw==” hover_enabled=”0″]W3Jvb3RAb3Jhc2VydmVyIH5dIyBjcm9udGFiIC1lCjIzIDE1ICogKiAqIC9iYWNrdXAvc2NyaXB0cy9ia3BfZGlhcmlvLnNoIDI+JjEmPiAvYmFja3VwL2xvZy9ia3BfZGlhcmlvLmxvZw==[/et_pb_dmb_code_snippet]

Este foi um rápido resumo de como automatizei o backup da minha base Oracle. Lembrando que a minha base é apenas um banco para estudos e testes, e por isso esse tutorial é muito básico. Devem ser considerados vários fatores ao implementar uma rotina de backup. É muito importante definir a política de backup primeiro, para então fazer a implementação adequada. Futuramente falarei mais sobre o RMAN, tanto sobre configurações quanto comandos. E obviamente, falarei também de recoverys, ou seja, como recuperar um backup feito via RMAN em caso de algum problema na base.

O RMAN é uma ótima ferramenta de backup, com muitos recursos, e merece ser muito bem estudada.

Deixo abaixo como referência a documentação oficial da Oracle.

Backing Up Databases Using RMAN

http://download.oracle.com/docs/cd/B19306_01/backup.102/b14192/bkup.htm