Guia de procedimentos de backups
Sumário Sobre o guia 3... 4 Procedimentos de backup do banco de dados Oracle... 5 Backup lógico... 6 Backup físico... 7 Envio de backup... para fita 9 2
3
Sobre o guia Este guia tem como objetivo orientar o usuário quanto à operacionalização dos procedimentos de backups no banco de dados Oracle e da análise dos logs de execução deles. Bem como, orientar na execução de envio para uma unidade de fita, os backups lógico e físico. 4
Procedimentos de backup do banco de dados Oracle Descrição geral A configuração e a análise dos backups de bancos de dados Oracle devem ser realizadas por um DBA Oracle, certificado e com experiência nesse tipo de procedimento. Todos os procedimentos de backups devem ser efetuados diariamente, por scripts automatizados e que gerem logs de execução. As análises dos logs de execução dos backups devem ser realizadas diariamente. Caso ocorra qualquer problema na execução deles, esse deverá ser tratado pelo DBA responsável, sendo o problema imediatamente corrigido e o backup que falhou deverá ser executado manualmente. Os backups devem ser feitos inicialmente para uma unidade de disco ou partição diferente da unidade ou ainda, partição do banco de dados. Em seguida, o backup deverá ser copiado para uma mídia removível, como por exemplo, uma unidade de fita. Para que seja possível a realização de um backup físico do banco de dados Oracle, sem que esse tenha que sair do ar, será necessário que ele esteja configurado no modo 'archivelog'. Recomenda-se que o diretório de geração dos 'archived logs', esteja num subdiretório do diretório de geração dos backups. Criar usuário específico Criar um usuário específico para a realização de backups, diferente dos usuários 'Sys' ou 'System', com as permissões específicas apenas para execução dos backups. Abaixo, os comandos com as permissões específicas que serão liberadas para o usuário: CREATE USER backup IDENTIFIED BY senha_backup DEFAULT TABLESPACE MV2000_D TEMPORARY TABLESPACE temp GRANT create session TO backup GRANT exp_full_database TO backup GRANT imp_full_database TO backup GRANT alter system to backup GRANT alter database to backup GRANT alter tablespace to backup É aconselhável realizar dois tipos de backups dos bancos de dados Oracle: 'Backup lógico' e 'Backup físico'. 5
Backup lógico Executar backup lógico Para realizar o backup lógico do banco de dados os seguintes procedimentos devem ser efetuados: O backup lógico do banco de dados Oracle deve ser realizado na ferramenta export (exp); Agendar para realização diária o seguinte comando, na execução do backup lógico para disco: exp backup/senha_backup@nome_banco full=y file=caminho/backup-logico.dmp log=caminho/backup-logico.log direct=y consistent=y. Onde: caminho/backup-logico.dmp - é o caminho completo e o nome do arquivo em que será salvo o backup; caminho/backup-logico.log - é o caminho completo e o nome do arquivo de log do backup. Numa eventual necessidade de recuperação, o comando que deverá ser utilizado para retornar os dados a partir de um backup lógico é: imp backup/senha_backup@nome_banco full=y log=caminho/importacao-backup-logico.log. file=caminho/backup-logico.dmp Onde: caminho/backup-logico.dmp - é o caminho completo e o nome do arquivo que será lido e carregado para o banco; caminho/importacao-backup-logico.log - é o caminho completo e o nome do arquivo de log da importação do backup. 6
Backup físico Executar backup físico Para realizar o backup físico do banco de dados os seguintes procedimentos devem ser efetuados: 1. Copiar o arquivo de parâmetros (init ou spfile) e copiar o arquivo listener.ora. cp $ORACLE_HOME/dbs/initBANCO.ora /caminho/initbanco.ora Onde: /caminho - é o diretório de backup. 2. Efetuar um log switch para que o arquivo de 'Redo Log' atual seja arquivado. ALTER SYSTEM SWITCH LOGFILE. 3. Criar um script de criação do arquivo de controle. ALTER DATABASE BACKUP CONTROLFILE TO TRACE. 4. Copiar o script de criação do arquivo de controle, gerado na etapa anterior (3). cp $ORACLE_BASE/admin/banco/udump/*.trc /caminho/ Onde: $ORACLE_BASE/admin/banco/udump - é o diretório USER_DUMP_DEST do banco; /caminho - é o diretório de backup. 5. Criar script que coloca as tablespaces em modo de backup. SPOOL begin_backup.sql SELECT 'ALTER TABLESPACE ' tablespace_name ' BEGIN BACKUP FROM DBA_TABLESPACES WHERE CONTENTS <> 'TEMPORARY' SPOOL OFF 6. Executar o script gerado na etapa anterior (5), para colocar as tablespace em modo de backup. 7. Criar script que copia os arquivos de dados e os arquivos de controle para diretório de backup. SPOOL copia_arquivos.sh SELECT 'cp ' nome ' /caminho/' FROM (select name nome from v$datafile union all select name from v$controlfile) SPOOL OFF 8. Executar o script de cópia dos arquivos, gerado na etapa anterior (7). 7
9. Criar script que retira as tablespaces do modo de backup. SPOOL end_backup.sql SELECT 'ALTER TABLESPACE ' tablespace_name ' END BACKUP' FROM DBA_TABLESPACES WHERE CONTENTS <> 'TEMPORARY' SPOOL OFF 10. Executar o script gerado na etapa anterior (9), para retirar as tablespace do modo de backup. Numa eventual necessidade de restauração e recuperação de qualquer arquivo do backup, deve-se dar preferência a restauração dos arquivos que estão em disco, pois o tempo de restauração será menor. 8
Envio de backup para fita Enviar backups para fita Após a execução dos backups em disco, deve-se enviá-los para uma unidade de fita. Um exemplo de comando que pode ser utilizado para enviar o backup para fita é: tar cvf /dev/nst0 /caminho_backup --totals >> /caminho_log/arquivo.log 2>&1. Onde: /dev/nst0 - é o dispositivo da unidade de fita; /caminho_backup - é o diretório onde estão todos os backups; /caminho_log/arquivo.log - é o diretório e o nome do arquivo de log da gravação para fita. Recomenda-se que, o diretório de backup do servidor de banco seja enviado diariamente para unidade externa de fita. E ainda, que se tenha um conjunto de dez (10) fitas para que os backups sejam realizados da seguinte maneira: Uma fita para as segundas-feiras; Uma fita para as terças-feiras; Uma fita para as quartas-feiras; Uma fita para as quintas-feiras; Uma fita para a primeira (1º) sexta-feira do mês; Uma fita para a segunda (2º) sexta-feira do mês; Uma fita para a terceira (3º) sexta-feira do mês; Uma fita para a quarta (4º) sexta-feira do mês; E, uma fita para a quinta (5º) sexta-feira do mês, quando houver. Sobrará uma fita para backups eventuais sob demanda. 9
Back Cover