Configurar script de backup con rman archive

Oracle-logo

En un blog anterior vimos cómo generar un backup full de la base de datos con rman, sin embargo, es muy útil añadirle a estos backups los de archive, con el fin de poder restaurar la base de datos en un punto en el tiempo.

Primero configura el full de la base de datos

Posterior continuamos con la creacion del script para el de archive

Entraremos a la ruta de los scripts de backup que tenemos previamente configurada

[oracle@soyundba bckps]$ vi rman_archive.sh
#########################################################
#                     Soy un DBA                        #
# Nombre del script: rman_archive.sh                    #
# Descripcion: Generar backup archive de la BD soyundba #
# Fecha creacion: Mayo 24 2022                          #
# Creado por: Julian David Ortiz Idrobo                 #
# Fecha modificacion:                                   #
# Modificado por:                                       #
#########################################################

######################
# SETEO DE VARIABLES #
######################
export ORACLE_BASE=/oracle/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/19.0.0/dbhome_1
export ORACLE_SID=$1
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
export fecha=`date +%d%b%Y_%H%M`
export ruta=/backup/soyundba/rman
export logarch=$ruta'/RmanArch_'${ORACLE_SID}'_'${fecha}'.log'
export nas=/nas/backup/soyundba/rman

#############
# EJECUCION #
#############
$ORACLE_HOME/bin/rman target / msglog $logarch append << EOF
run
{
allocate channel ch1 type disk maxpiecesize 10G;
sql 'alter system archive log current';
backup as compressed backupset archivelog all format '$ruta/RmanArch_%d_%T_%s_%p.bck' tag BckpArch;
delete noprompt archivelog all backed up 1 times to device type disk;
backup current controlfile format '$ruta/RmanCtrl_%d_%T_%s_%p.bck' tag BckpCtrlFile;
release channel ch1;
}
exit
EOF

#########################
# PASAR BACKUP A LA NAS #
#########################
cp $ruta/RmanArch_* $nas
cp $ruta/RmanCtrl_* $nas

Otorgamos los permisos necesarios, para que el usuario Oracle pueda ejecutar la tarea automáticamente desde el crontab

[oracle@soyundba bckps]$ chmod 755 rman_archive.sh

Asi mismo modificamos nuestro contab para dejar nuestra tarea programada a una hora especifica. Tal como en el ejemplo, nuestro backup se ejecuta todos los días a las 6:00 am, 12:00 pm y 10:00 pm.

[oracle@soyundba bckps]$ crontab -e
# BACKUP RMAN ARCHIVE DIARIO 6 AM, 12 PM Y 10 PM
00 06,12,10 * * * /home/oracle/scripts/bckps/rman_archive.sh csoyundba

Finalmente, podremos realizar la prueba del script, ejecutando este de manera manual

[oracle@soyundba rman]$ sh /home/oracle/scripts/bckps/rman_archive.sh csoyundba
RMAN> 2> 3> 4> 5> 6> 7> 8> 9> RMAN>

Podemos listar nuestros archivos físicos

[oracle@soyundba rman]$ ls -l
total 18432
-rw-r-----. 1 oracle oinstall    57856 Aug 13 13:24 RmanArch_CSOYUNDB_20220813_73_1.bck
-rw-r--r--. 1 oracle oinstall     2190 Aug 13 13:24 RmanArch_csoyundba_13Aug2022_1324.log
-rw-r-----. 1 oracle oinstall 18808832 Aug 13 13:24 RmanCtrl_CSOYUNDB_20220813_74_1.bck

Con esto, ya tendremos nuestras bases de datos protegidas ante contingencias y así podremos restaurarnos en un punto en el tiempo

Tambien puedes ver aquí la configuración con datapump

Te invito a seguir consultando más articulos relacionados a backups en Oracle dando clic aquí.

 

Acerca de JulianOrtiz0506

Soy administrador de bases de datos y desarrollador web, desde mis inicios en el mundo de la informática, he implementando proyectos personales y empresariales. Por consiguiente esto me ha permitido contar con una amplia calificación y destreza sobre mis áreas de conocimiento. Sobre todo suelo estar en constante aprendizaje, diariamente me estoy informando sobre nuevas tecnologías. Ya queme gusta estar actualizado en la tecnología de punta para todas las plataformas que me apasionan y con las cuales trabajo día a día.

Ver todas las entradas de JulianOrtiz0506 →

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *