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:
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.
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'
- O: edite su archivo
- Inicie su base de datos sin abrirlo con el comando
STARTUP MOUNT
- Cambie el modo de archivo con
ALTER DATABASE ARCHIVELOG;
y abra con elALTER 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
Figura 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: Português (Portugués, Brasil)English (Inglés)Español