2008/05/16

Использование Bacula для backup'а Oracle баз данных

При использовании Bacula для копирования Oracle баз данных в online-режиме (не останавливая базу, при включенной опции ARCHIVELOG) советую использовать идущую с Oracle'ом утилиту RMAN. После того, как соответствующее окружение (Flash Recovery Area, Catalog и т.п.) для RMAN'а будет настроено, на Bacula-клиенте можно использовать скрипт /u01/app/oracle/product/10.2.0/db_1/scripts/runbeforebackup:
#!/bin/bash            

if [ "$1" = "1" ]
then
LEVEL=1
elif [ "$1" = "0" ]
then
LEVEL=0
else
echo "Bad backup level"
exit 1
fi
rman catalog rcatuser/PASSWORD@RCAT target / << EOF
RUN {
BACKUP incremental level=$LEVEL as compressed backupset DATABASE INCLUDE CURRENT CONTROLFILE plus archivelog delete input;
}
EOF
На Bacula Director'е в соответствующие job'ы добавить строки:
ClientRunBeforeJob = "/bin/su - oracle -c \"/u01/app/oracle/product/10.2.0/db_1/scripts/runbeforebackup.sh LEVEL\""
где LEVEL - 0 (Full Backup) или 1 (Incremental Backup).
В зависимости от backup-политики на Вашем предприятии, конфигурируйте как часто следует использовать каждый из уровеней.

Ссылки:
  1. Oracle® Database Backup and Recovery Basics
  2. Oracle Applications DBA Blog: RMAN Archives
  3. Backing up and Restoring an Oracle database using the ControlFile as a Repository

No comments: