Plugin Bases de Datos Oracle Bacula Enterprise – Guía Rápida

Esta guía rápida presenta varias técnicas y estrategias para la copia de seguridad de bases de datos Oracle con Bacula Enterprise.

El plugin soporta actualmente los siguientes métodos: Stream de Dumps para el Bacula, Point In Time Recovery (PITR) integrado al RMAN y Stream RMAN-SBT.

Instalación

El complemento de Oracle está disponible como un paquete Bacula Enterprise para la gran mayoría de las plataformas soportadas por los bancos de Oracle. (para obtenerlos, hable con nosotros). Ejemplo:

bacula-enterprise-oracle-10.0.0-1.rh7.i586.rpm

Usted necesita instalar este plug-in en el cliente en el que su base de datos Oracle reside, junto con el cliente de Bacula Enterprise.

El plug-in asume que sus instancias están listadas en /etc /oratab y que el usuario «oracle» del sistema operativo es miembro del grupo DBA (normalmente «dba» o «oracle»).

Configuración

Si su usuario de Oracle del sistema operativo no es «oracle», es posible que tenga que definir manualmente los permisos en el siguiente directorio y asegurarse de que sus cambios aún están en vigor después de cada actualización del complemento Bacula Enterprise para Oracle.

ls - ld /opt/bacula/oracle
drwxrwx - - - 13 dba raiz 4096 Mar 28 14:04 /opt/bacula/oracle
# o
chown -R oracle:dba /opt/bacula/oracle/

Todos los métodos de copia de seguridad del plugin requieren que Oracle DB tenga habilitada la función de recuperación de memoria (FRA): https://docs.oracle.com/database/121/ADMQS/GUID-D6A541BF-A878-4B45-AFAC-1E921554731E.htm

Ejemplo (sqlplus):

ALTER SYSTEM SET DB_RECOVERY_FILE_DEST_SIZE = 10G;
ALTER SYSTEM SET DB_RECOVERY_FILE_DEST = '/mnt/fra';

El directorio debe existir y tener permisos para el usuario de oráculo del sistema operativo.

Asegúrese de que su /etc/oratab está correctamente configurado, ya que proporcionará información para el plugin de Bacula. Importante también que el listener de Oracle esté activo:

lsnrctl start
lsnrctl status

Método Stream de Dumps

Para este método, las copias de seguridad diferenciales e incrementales sólo son posibles mediante el uso de la Deduplicación Global de Bacula Enterprise. Es más utilizado por pequeñas y medianas bases que no necesitan de PITR.

Para utilizar sudo para el comando de dump, es necesario comentar la siguiente línea (# al principio) del archivo /etc/sudoers con el comando de vista:

Defaults requiretty

La configuración del plugin para copia de seguridad de todas las bases en este modo (las instancias serán detectadas usando información en /etc/oratab), puede ser hecha gráficamente por el bweb (Figura 1) o por texto, en la Edición de Plugins del FileSet del Bacula:

Plugin Bases de Datos Oracle Bacula Enterprise – Guía Rápida 1

Figura 1. Configurador de Plugins do Bweb.

FileSet {
  Name = oracle_dump_set
  Include {
    Options {
      Signature = MD5
    }
  Plugin = oracle
  }
}

También puede especificar los valores de ORACLE_HOME y ORACLE_SID si es necesario. Por ejemplo: Plugin=oracle ORACLE_HOME=/ora sid=PROD

En el siguiente ejemplo se realiza una copia de seguridad de dos bases especificadas, filtradas por el nombre:

FileSet {
  Name = oracle_dump_set
  Include {
    Options {
      Signature = MD5
    }
    Plugin = "oracle: schema=heitordb"
    Plugin = "oracle: schema=xptodb"
  }
}

En este ejemplo, el plug-in de Oracle utilizará la cuenta»rob» del sistem operativo para ejecutar un dump de copia de seguridad de la tabla denominada «temp». Oracle Plugin espera que la cuenta «rob» sea miembro del grupo dba del sistema operativo para acceder directamente a Oracle usando «/ as sysdba».

FileSet {
  Name = oracle_dump_set
  Include {
    Options {
      Signature = MD5
    }
    Plugin = "oracle: unix_user=rob dump_opt="TABLES=temp""
  }
}

Essas são todas as opções suportadas pelo plugin no modo Dump:

Opción Descripción Default Ejemplo
mode Usa o modo dump do Plugin Bacula dump mode=rman
dump_opt Opções passadas para o comando export (exp) CONSISTENT=YES
GRANTS=YES
dump_opt=»»
unix_user Usuário Oracle do sistema operacional oracle unix_user=heitor
oracle_user Usuário do banco Oracle para os comandos oracle oracle_user=»hfaria/guru»
use_sudo Usar sudo para executar os comandos Oracle (quando não root) use_sudo
compress Usa compressão do comando exp do Oracle (Y/N). Y compress=N
schema Fará o backup dos schemas que casem com este nome ou coringas schema=PROD*
instance Fará o backup dos instances (SID) que casem com este nome ou coringas instance=PROD*
sid SID para backup sid=PROD
ORACLE_HOME ORACLE_HOME para usar com o SID ORACLE_HOME=/ora

Para probar la copia de seguridad, se puede utilizar el comando de bajo de bconsole, mostrando líneas que comienzan por @ (por ejemplo /@ORACLE/) que indican el contenido respaldado por el complemento del Bacula:

* estimate listing job=oracle-test
Connecting to Client 127.0.0.1-fd at 127.0.0.1:9102
-rw-r--r--  1 oracle dba  1949 2012-06-06 21:55:20  /@ORACLE/XE/users.sql
-rw-r--r--  1 oracle dba  5240 2012-06-06 21:55:22  /@ORACLE/XE/FLOWS/user.sql
-rw-r--r--  1 oracle dba    -1 2012-06-06 21:55:22  /@ORACLE/XE/FLOWS/user.sql
...
2000 OK estimate files=25 bytes=36,643

Nota: los siguientes esquemas reservados de Oracle se excluyen de la copia de seguridad predeterminada: ‘DBSNMP’, ‘CTXSYS’, ‘DIP’, ‘XDB’, ‘MDSYS’, ‘ANONYMOUS’, ‘XS $ NULL’, ‘HR’, ‘PM ‘,’ SH ‘,’ IX ‘,’ OE ‘.

Restauración Dump

Para restaurar una copia de seguridad realizada, seleccione el archivo user.sql para restaurar sólo los usuarios o user.sql y el data.sql para restaurar una base de datos. En el lugar de origen (where=/) hace que el Bacula intenta restaurar los datos directamente en el servicio de Oracle, o la especificación de un nuevo nombre hace crear un banco cambiado de nombre, preferentemente en mayúsculas. Ejemplo:

* restore where=BACULAOLD

Si especifica otro directorio en where, los volcados se restaurarán a un archivo en disco de la máquina del cliente, por defecto.

Como se muestra en la Figura 2, la selección de los datos se puede hacer directamente por la interfaz gráfica Bweb o bconsole.

Plugin Bases de Datos Oracle Bacula Enterprise – Guía Rápida 2

Figura 2. Selección de los dumps de Oracle por bweb.

Método RMAN-PITR

En este método se admiten las copias de seguridad diferenciales e incrementales, pero los mismos ocupan espacio en disco en la máquina del servicio de bancos de Oracle. Si esto es un problema, el método RMAN-SBT es más adecuado.

Para utilizar el modo de copia de seguridad de RMAN, la base de datos debe estar en el modo ARCHIVELOG. Para comprobar cómo se configura su base de datos, puede utilizar el siguiente comando SQL:

oracle$ sqlplus / as sysdba
SQL > SELECT LOG_MODE FROM SYS.V$DATABASE;
LOG_MODE
-----------
ARCHIVELOG

Para activar el modo de archivo de su base de datos, puede utilizar el comando ALTER DATABASE ARCHIVELOG en un estado no abierto, como SYSDBA. Ejemplo:

  • Detener la base de datos con el SHUTDOWN
  • Haga una copia de seguridad del banco
  • En sqlplus: ALTER SYSTEM SET log_archive_dest_1='LOCATION=/mnt/archive';
    • O: edite su archivo init[SID].ora para configurar el destino del registro de archivado. E.j.: LOG_ARCHIVE_DEST_1='LOCATION=/mnt/archive'
  • Inicie su base de datos sin abrirlo con el comando STARTUP MOUNT
  • Cambie el modo de archivo con ALTER DATABASE ARCHIVELOG; y abra con el ALTER DATABASE OPEN;
  • Detener la base de datos con el SHUTDOWN IMMEDIATE
  • Haga una copia de seguridad de la base de datos de nuevo porque el cambio de ARCHIVELOG actualizará los archivos de control y realizará copias de seguridad antiguas inutilizables

El Bacula Enterprise Oracle Plugin creará el conjunto de copia de seguridad de RMAN en un subdirectorio de destino de registro de archivado definido en el archivo init[SID].ora.

La función de control de cambios de RMAN para copias de seguridad incrementales mejora el rendimiento de la copia de seguridad incremental, registrando bloques modificados en un archivo de rastreo. Si el control de cambios está activado, el RMAN utilizará el archivo de control de cambios para identificar bloques modificados para backup incremental, evitando así la necesidad de escanear todos los bloques de los datafiles.

El siguiente comando SQL, que se ejecuta como sysdba, permite habilitar el seguimiento de cambios, y el «/ruta/archivo» como destino del registro de actividades (el archivo debe estar en un directorio válido en el que el usuario de Oracle pueda grabar).

SQL > SHUTDOWN IMMEDIATE;
SQL > STARTUP MOUNT;
SQL > ALTER DATABASE ENABLE BLOCK CHANGE TRACKING USING FILE '/caminho/arquivo'
SQL > ALTER DATABASE OPEN;

Después de habilitar el control de cambios, la primera copia de seguridad completa aún necesita barrer todo el archivo de datos, ya que el archivo de control de cambios no refleja el estado de los bloques. Los incrementales posteriores, ya tendrán el beneficio del archivo de control.

Al utilizar el modo RMAN de Bacula Enterprise Oracle Plugin, cada trabajo de Bacula ejecutará el RMAN para generar un conjunto de copia de seguridad. Aconsejamos configurar el RMAN para eliminar archivos antiguos después de algún período de tiempo. Aunque esto puede hacerse después de la copia de seguridad, le aconsejamos que mantenga los datos en el disco un poco más para evitar lagunas en su recurso de recuperación punto a punto. El siguiente comando configurará el período de retención de Oracle de 7 días, que debe ser suficiente, siempre y cuando usted haga algún tipo de copia de seguridad al menos una vez cada 7 días. De igual manera, también se recomienda retener un par de copias del archivo de registro para facilitar la restauración local y garantizar todos los medios de restauración en puntos de tiempo. En el shell:

rman target /
RMAN > CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS;
RMAN > CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 2;

La configuración de Job y FileSet puede ser hecha por la interfaz gráfica Bweb, o aún en los archivos de configuración del Bacula, a través del texto. La opción Accurate (Precisión) del Job debe estar habilitada, y el modo del Plugin mode = rman establecido. Ejemplo:

Job {
  Name = "Oracle-RMAN"
  Client = laptop1-fd
  FileSet = FS_oracle
  Accurate = yes
  ...
}

FileSet {
  Name = FS_oracle
  Include {
    Options {
    Signature = MD5
  }
  Plugin = "oracle: mode=rman"
  }
}

Las siguientes opciones se pueden modificar utilizando el método RMAN-PITR:

Opción Descripción Default Ejemplo
mode Usa o modo PITR do Plugin Bacula dump mode=rman
oracle_user Usuário Oracle do sistema operacional oracle oracle_user=oracle10
sid SID do Oracle sid=XE
ORACLE_SID SID do Oracle ORACLE_SID=XE
ORACLE_HOME Oracle Home ORARCLE_HOME=/opt/oracle/…
verbose Mostra saída do RMAN na log do job 0 verbose=1
sbt Usar o SBT no script RMAN sbt
ctrlfile Diretório dos arquivos de controle quando usando SBT ctrlfile=/tmp/oracle

Los scripts de RMAN se pueden personalizar en la máquina del cliente y están en /opt/bacula/etc:

  • oracle_before_full_backup.rman
  • oracle_before_incr_backup.rman
  • oracle_before_diff_backup.rman

Ejemplo:

% cat /opt/bacula/etc/oracle_before_full_backup.rman
BACKUP ARCHIVELOG FROM TIME 'SYSDATE-2';

Si desea eliminar los espacios de reserva de la copia de seguridad, puede utilizar la siguiente secuencia de comandos RMAN.

% cat /opt/bacula/etc/oracle_before_full_backup.rman
CONFIGURE EXCLUDE FOR TABLESPACE cwmlite;
CONFIGURE EXCLUDE FOR TABLESPACE example;

Restauración RMAN-PITR

Uso del broker RMAN del bweb

Después de restaurar el contenido de la copia de seguridad de RMAN a su sistema (Figura 3) con el comando bconsole restore o con BAT / BWeb, el complemento de Oracle le permite automatizar algunas operaciones de RMAN a través de un broker llamado bs_oracle_restore.pl. Este script está orientado por menú y le permite:

  • Restaure la base de datos original a un punto determinado en tiempo
  • Clone su base de datos, estando o no disponible

Plugin Bases de Datos Oracle Bacula Enterprise – Guía Rápida 3Figura 3. Broker bweb RMAN para la restauración de bases de datos

Después de restaurar el contenido de la copia de seguridad en un punto determinado en el tiempo, debe ejecutar la secuencia de comandos bs_oracle_restore.pl con el archivo restore_query_file.txt como argumento.

Tenga en cuenta que sólo necesita restaurar archivos que no están en su sistema, ya que RMAN puede utilizar los archivos que todavía están en el área de recuperación flash para ejecutar la restauración.

En el siguiente ejemplo, encontrará el archivo llamado restore_query_file.txt en el directorio donde se restauraron los archivos con Bacula. Si su copia de seguridad estaba en /u01/flash/Test.2012-06-06_12-00-00, y se restauró usando where=/tmp/bacula-restores, el archivo restore_query_file.txt debe estar en /tmp/bacula-restores/u01/flash/Test.2012-06-06_12-00-00/restore_query_file.txt.

chown oracle -R /tmp/bacula-restores/
su - oracle
/opt/bacula/scripts/bs_oracle_restore.pl /path/to/restore_query_file.txt
Bacula Enterprise Oracle Restore Tool 0.9
Do you want to:
1- restore the original database

El script de restauración de Bacula Enterprise Oracle se puede llamar con la opción –testing tener acceso para restaurar los procedimientos que están actualmente en fase de prueba por los sistemas de Bacula. Si ha utilizado alguna de estas características, nos gustaría recibir comentarios.

# /opt/bacula/bin/bs_oracle_restore.pl --testing /path/to/restore_query_file.txt
Bacula Enterprise Oracle Restore Tool 0.9
Do you want to:
1- restore the original database
The following restore modes are available but still being beta tested
2- restore the database into a clone
3- restore the database to a different location

RMAN puede realizar la recuperación de toda la base de datos a una hora especificada, SCN o número de secuencia del registro. Este tipo de recuperación a veces se denomina recuperación incompleta porque no utiliza completamente toda la información de redo disponible.
El broker de restauración bs_oracle_restore.pl detectará los archivos restaurados con parámetros de Bacula Enterprise que puede utilizar durante la restauración.

Do you want to:
1- restore to a certain point-in-time
2- restore to a certain scn
Choose restore mode (1-2): 1

Getting the range of recoverable backups
Please input the time to which you want to restore
between 2012-06-05_15:17:16 and 2012-06-05_15:36:09
(YYYY-MM-DD_HH24:MI:SS): 2012-06-05_15:35:00
INFO: Mounting database in mount state
The database is in open state,
do you really want to shutdown the database now (y/N): y
INFO: Call RMAN to restore the database
Opening database
BE CAREFUL, we are about to open the database in RESETLOGS mode.
Do you want to continue ? (no will exit) (y/N): y
Opening database resetlogs

El bs_oracle_restore.pl comprobará el directorio de copia de seguridad y detectará los archivos para realizar la restauración. Al final del proceso de restauración, la base de datos debe estar en el estado «OPEN». Bs_oracle_restore.pl realizará todos los pasos necesarios para recuperar la base de datos. Si está familiarizado con RMAN, puede realizar estos pasos manualmente.

En algunos casos, si los conjuntos de copia de seguridad de RMAN todavía están presentes en el disco, es posible que desee omitir el Bacula restaura y ejecutar directamente la secuencia de comandos bs_oracle_restore.pl. Por lo tanto, basta con utilizar la opción -D y apuntar al área de recuperación de flashback donde se encuentran archivos generados durante la última copia de seguridad.

Restaurar Directamente con el RMAN

Después de restaurar sus archivos con Bacula, debe comprobar el directorio de copia de seguridad para incluir archivos en el catálogo de RMAN.

RMAN> CATALOG START WITH ’/path/to/restore’ NOPROMPT;

Entonces, usted debe tener todas las copias de seguridad registradas y usted puede listar con ellos:

RMAN> LIST BACKUP SUMMARY;

List of Backups
===============
Key     TY LV S Device Type Completion Time #Pieces #Copies Compressed Tag
------- -- -- - ----------- --------------- ------- ------- ---------- ---
458     B  0  A DISK        12-JUN-16       1       1       YES        TAG20120612   
459     B  A  A DISK        13-JUN-16       1       1       YES        TAG20120613
461     B  A  A DISK        14-JUN-16       1       1       YES        TAG20120614
462     B  1  A DISK        15-JUN-16       1       1       YES        TAG20120615
...

Tenga en cuenta que LIST BACKUP puede mostrar información sobre objetos específicos, como:

  • Archivelogs
  • Datafiles
  • Controlfile
  • etc.

Para iniciar el proceso de restauración, la base de datos no debe estar abierta.

RMAN> shutdown immediate;
RMAN> startup mount;

Entonces, puede establecer la cláusula UNTIL e iniciar su recuperación.

RMAN> RUN {
2> RESTORE DATAFILE 1;
3> RECOVER DATAFILE 1;
3> }
Starting restore at 15-JUN-12
using channel ORA_DISK_1
...

Método Stream RMAN-SBT

Este método permite la copia de seguridad de las bases de Oracle directamente al almacenamiento del Bacula.

También es necesario configurar el modo de archivado, como se ve en el tema anterior (RMAN-PITR).

Lado del cliente

Una vez que el plugin y cliente del Bacula están instalados, el archivo libobk.so estará presente en /opt/bacula/lib.

Ejecute la siguiente secuencia de comandos para agregar automáticamente un enlace a $ORACLE_HOME/lib a libobk.so en /opt/bacula/lib:

/opt/bacula/scripts/install-sbt-libobk.sh install

Reinicie as instâncias do Oracle. Vamos testar este acesso mais adiante.

Al realizar una copia de seguridad o una restauración de RMAN, debe ponerse en contacto con Bacula Enterprise Director para obtener información sobre archivos y volúmenes, o realizar copias de seguridad y restaurar trabajos. Esta comunicación requiere el bconsole del Bacula instalado en la máquina que aloja Oracle, cliente de la copia de seguridad. Normalmente ya viene instalado junto con el paquete del cliente. Copie la configuración de la consola para usarla por el complemento. Ejemplo:

cp /opt/bacula/bin/bconsole /opt/bacula/oracle
cp /opt/bacula/etc/bconsole.conf /opt/bacula/oracle
chown oracle:dba /opt/bacula/oracle/bconsole*
chmod go-rxw /opt/bacula/oracle/bconsole*

Você pode configurar o arquivo /opt/bacula/oracle/bconsole.conf no cliente, da mesma maneira como está funcionando no servidor Bacula, com acesso administrador anônimo irrestrito (basta editar e preencher o nome, endereço e senha console do Director). Se quiser oferecer uma maior segurança, pode limitar os direitos de acesso do bconsole apenas para os comandos necessários pelo plugin Oracle, usando um usuário específico para acessar o Bacula por console e definindo uma senha, por exemplo:

Director {
   Name = nome_director-dir
   DIRport = 9101
   Address = endereço_rede
   Password = "sem_senha" # propositalmente. Usuários restritos usam a senha abaixo
}

Console {
   Name = oracle
   Password = "senha_console_oracle"
}

También aprovecha para configurar en el cliente las configuraciones de RMAN para el job del Bacula, creando un archivo sbt.conf e informando los nombres del cliente y del trabajo EXACTAMENTE como desea crear después en el Director (bweb):

# cat /opt/bacula/oracle/sbt.conf
client=oracle-fd
job=OracleBackup
bconsole="/opt/bacula/oracle/bconsole -n -c /opt/bacula/oracle/bconsole.conf"

Se admiten muchas opciones diferentes en el archivo sbt.conf, como: «restoreclient», «level», etc. Se pueden utilizar para realizar restauraciones en un host alternativo y para cambiar el nivel del Job de copia de seguridad respectivo en Bacula. Para establecer estos valores directamente en el script de copia de seguridad de RMAN, es posible, como en el siguiente ejemplo.

SEND 'level=Differential';

Consulte la documentación oficial de Bacula Systems para ver una lista completa de opciones.

Lado del Director

Pasando a la máquina del Director (por ejemplo, bweb), vamos a crear la consola con el usuario oráculo de Bacula, si ha optado por el acceso restringido, atar al Cliente, crear un FileSet y Job.

Ejemplo de configuración de acceso Consola en el Director (puede ser creada por el bweb) – sustituya el nombre del Cliente y del Job por los nombres:

Console {
  Name = oracle
  Password = "pass"
  CommandACL = .bvfs_lsfiles, .bvfs_get_volumes, use, .bvfs_get_jobids, wait, .bvfs_restore, .bvfs_cleanup, restore, run, gui, .jobs, quit, show, status
  ClientACL = oracle-fd
  JobACL = BackupOracle, RestoreJob
  CatalogACL = *all*
  StorageACL = *all*
  FileSetACL = *all*
  PoolACL = *all*
  WhereACL = /
  DirectoryAcl = *all*
  UserIdAcl = *all*
}

Amarre/cree una entrada de cliente con la dirección y la contraseña del cliente Bacula de la máquina Oracle, utilizando el mismo nombre de cliente definido en sbt.conf.

Para la configuración de FileSet, especifique el uso del modo rman-sbt:

FileSet {
  Name = SBT-FileSet
  Include {
    Options {
  Signature = MD5
  }
  Plugin = oracle-sbt
  }
}

Las opciones para la llamada FileSet del plugin son:

Opción Descripción Default Ejemplo
unix_user Usuário Oracle do sistema operacional oracle unix_user=heitor
ctrlfile Caminho para o arquivo de controle do Plugin e RMAN /opt/bacula/oracle ctrlfile=/tmp/base

Cree un nuevo trabajo de copia de seguridad utilizando el FileSet y los clientes creados y con el mismo nombre de trabajo definido en el archivo sbt.conf del cliente. También configure MaximumConcurrentJobs=5 o más para la copia de seguridad simultánea de varios canales de rman.

Prueba

Para probar el uso de la biblioteca libobk, volviendo a la máquina cliente de la copia de seguridad, ejecute el RMAN con el usuario oráculo del sistema, debiendo haber una salida similar:

RMAN > allocate channel for maintenance type 'SBT_TAPE';
using target database control file instead of recovery catalog
allocated channel: ORA_MAINT_SBT_TAPE_1
channel ORA_MAINT_SBT_TAPE_1: SID=42 device type=SBT_TAPE
channel ORA_MAINT_SBT_TAPE_1: Bacula Enterprise Oracle SBT Plugin 1.0.0.2

Para probar las configuraciones hechas en sbt.conf, ejecute el comando en el shell del cliente:

/opt/bacula/scripts/install-sbt-libobk.sh test
1000 OK: director-dir Version : 10.0.0
INFO: Connection to the Director OK
INFO: Connection from the Director to the Client OK
INFO: Plugin installed correctly
INFO: Job found on the Director
INFO: FileSet configured on the Director

Para realizar un trabajo de copia de seguridad de prueba, utilice el siguiente ejemplo que iniciará 2 tareas de Bacula en paralelo y el RMAN enviará los datos a ellos usando algún tipo de round robbin. Si el RMAN no puede ponerse en contacto con Bacula para uno o más canales, el RMAN enviará automáticamente los datos al canal disponible. Esto significa que si el almacenamiento o el director están ocupados por el número de dispositivos o por la configuración del Bacula Máxima de Trabajos Simultáneos), el RMAN gestionará la situación automáticamente.

Para versiones más avanzadas de Oracle DB (por ejemplo, Enterprise) es posible definir numerosos canales para la multiplexación:

RUN {
  ALLOCATE CHANNEL c1 DEVICE TYPE sbt;
  ALLOCATE CHANNEL c2 DEVICE TYPE sbt;
  BACKUP INCREMENTAL LEVEL 0 DATABASE plus archivelog;
}

Ejemplo de copia de seguridad completa:

RUN {
  ALLOCATE CHANNEL c1 DEVICE TYPE sbt;
  ALLOCATE CHANNEL c2 DEVICE TYPE sbt;
  BACKUP DATABASE;
}

Para la versión Standard de Oracle sólo se puede iniciar un canal de copia de seguridad o restauración cada vez. Por ejemplo:

RUN {
  ALLOCATE CHANNEL c1 DEVICE TYPE sbt;
  BACKUP INCREMENTAL LEVEL 0 DATABASE plus archivelog;
}

También puede utilizar etiquetas durante la copia de seguridad para facilitar la restauración posteriormente:

RUN {
 ALLOCATE CHANNEL c1 DEVICE TYPE sbt;
 BACKUP DATABASE tag BACULA filesperset 5 KEEP UNTIL TIME '(SYSDATE+130)'  LOGS;
 release channel c1;
}

Los datos van directamente al almacenamiento del Bacula, y la copia de seguridad puede ser acompañada por las interfaces bweb, bconsole etc.

Programación

El inicio y la programación de los trabajos de copia de seguridad en este modo se pueden hacer por el ORM, dbms_scheduler o un script RMAN iniciado por el Bacula. Ref.: http://www.dba-oracle.com/t_rman_scheduling_backup.htm

También se puede utilizar un script de RMAN llamado por un Job Admin de Bacula. Para ejemplos de secuencias de comandos, póngase en contacto con nosotros.

Copia Copias de Seguridad Locales en Disco de RMAN para el Bacula-SBT

En lugar de configurar una nueva copia de seguridad, también puede copiar copias de seguridad en disco ya realizadas por RMAN para el controlador SBT. Ejemplo de comando:

RMAN> BACKUP DEVICE TYPE sbt COPY OF DATABASE;

Más ejemplos en: https://docs.oracle.com/cd/B19306_01/backup.102/b14191/rcmbackp.htm#CEGBCHJA

Restauración RMAN-SBT

Para restaurar objetos con RMAN, la conexión entre el RMAN y el Bacula debe ser funcional. Si hay recursos disponibles, todo será administrado por el RMAN automáticamente. Puede enumerar todas las copias de seguridad con:

list backup summary;

Para restaurar por tiempo:

SHUTDOWN IMMEDIATE;
STARTUP MOUNT;
RUN {
 ALLOCATE CHANNEL c1 DEVICE TYPE sbt;
 ALLOCATE CHANNEL c2 DEVICE TYPE sbt;
 SET UNTIL TIME "to_date('2013-05-31_10:20:00','YYYY-MM-DD_HH24:MI:SS')";
 RESTORE DATABASE;
 RECOVER DATABASE;
}
ALTER DATABASE OPEN RESETLOGS;

En este ejemplo, RMAN restaurará la base de datos en un determinado momento definido por el comando UNTIL. Más información se puede encontrar en la documentación de Oracle RMAN. http://docs.oracle.com/cd/B28359_01/server.111/b28294/rman.htm#i1024051

Ejemplo de restauración mediante tags:

SHUTDOWN IMMEDIATE;
STARTUP MOUNT;
RUN{ 
 ALLOCATE CHANNEL c1 DEVICE TYPE sbt;
 restore tablespace users from tag 'BACULA'; 
}
ALTER DATABASE OPEN RESETLOGS;

Si desea realizar la restauración de uno o más tablespaces objetos de drop, también será necesario restaurar el controlfile:

startup nomount;
RUN {
 ALLOCATE CHANNEL c1 DEVICE TYPE sbt;
 SET UNTIL TIME "to_date('2018-12-26_17:05:00','YYYY-MM-DD_HH24:MI:SS')";
 restore controlfile from autobackup;
}

En caso de problemas como «RMAN-06026: some targets not found – aborting restore» y «RMAN-06023: no backup or copy of datafile x found to restore», puede forzar una actualización del catálogo de RMAN:

RUN {
 ALLOCATE CHANNEL c1 DEVICE TYPE sbt;
 send "update=force";
}

Otros ejemplos de restauración por RMAN: https://docs.oracle.com/cd/B19306_01/backup.102/b14191/rcmrecov.htm#i1006746

Si restaura archivos RMAN en un directorio local y la opción localdir se establece en sbt.conf, el complemento RMAN buscará el localdir antes de iniciar un Bacula.

Referencias

Oracle Backup Using Bacula Enterprise Edition Plugin Whitepaper. http://baculaystems.com

Disponível em: pt-brPortuguês (Portugués, Brasil)enEnglish (Inglés)esEspañol

Deja una respuesta