Backup Oracle en frío u offline

Las copia de seguridad en frio u offline, implica la parada de la base de datos y copiar todos los ficheros.

VENTAJAS:

  • Backup y recuperación sencilla
  • Pocos comandos y del sistema operativo
  • Facilidad de automatización
  • Recuperación completa de una manera rápida

DESVENTAJAS:

  • Necesita una ventana de tiempo
  • Corta los procesos y el acceso de los usuarios
  • Recuperación hasta el instante de la copia de seguridad
  • Es una recuperación de la base de datos completa. No puede ser parcial.

Para realizar una copia completa de nuestro base de una datos Oracle en frio u offline, deberemos hacer copia de los siguientes ficheros:

  • Ficheros de datos
  • Fichero de control
  • Redo logs
  • Los ficheros archivados de redo log en caso de estar activo
  • Ficheros de passwd. Es recuperable, pero nos facilita la vida, si los tenemos
  • Ficheros de configuración de la red. Es recuperable, pero nos facilita la vida, si los tenemos
  • pfile y spfile. Es recuperable, pero nos facilita la vida, si los tenemos

PASOS PARA REALIZAR UNA COPIA DE SEGURIDAD EN FRIO U OFFLINE

1.- Avisar a todos los usuarios, que se desconecten

2.- Buscar los ficheros de datos a hacer copia de seguridad y los apuntamos, para saber donde están

# Buscamos los ficheros de configuración de la red: tnsnames.ora, listener.ora y sqlnet.ora
# Por defecto estarán en $ORACLE_HOME/network/admin o indicado por la variable del sistema operativo TNS_ADMIN

[oracle@centos admin]$ set | grep TNS_ADMIN
TNS_ADMIN=/opt/oracle/product/11.2.0/dbhome_1/network/admin

[oracle@centos admin]$ ls -l /opt/oracle/product/11.2.0/dbhome_1/network/admin
total 20
-rw-r--r--. 1 oracle oracle  363 sep 19  2012 listener.ora
drwxr-xr-x. 2 oracle oracle 4096 sep 19  2012 samples
-rw-r--r--. 1 oracle oracle  187 may  9  2007 shrept.lst
-rw-r--r--. 1 oracle oracle  215 sep 19  2012 sqlnet.ora
-rw-r-----. 1 oracle oracle  342 sep 19  2012 tnsnames.ora

# conectarse a la base de datos

[oracle@centos ~]$ sqlplus /nolog
SQL*Plus: Release 11.2.0.1.0 Production on Thu Jun 27 18:00:25 2013

Copyright (c) 1982, 2009, Oracle.  All rights reserved.

SQL> connect system/xxxxx as sysdba
Connected.

# buscamos los ficheros de datos

SQL> select name from v$datafile;

NAME
--------------------------------------------------------------------------------
/opt/oracle/oradata/dbcentos/system01.dbf
/opt/oracle/oradata/dbcentos/sysaux01.dbf
/opt/oracle/oradata/dbcentos/undotbs01.dbf
/opt/oracle/oradata/dbcentos/users01.dbf

# buscamos los ficheros de control

SQL> show parameters control_files

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
control_files                        string      /opt/oracle/oradata/dbcentos/c
                                                 ontrol01.ctl, /opt/oracle/flas
                                                 h_recovery_area/dbcentos/contr
                                                 ol02.ctl

# buscamos los ficheros de log

SQL> select member  from v$logfile;

MEMBER
-------------------------------------------------------------------------------
/opt/oracle/oradata/dbcentos/redo03.log
/opt/oracle/oradata/dbcentos/redo02.log
/opt/oracle/oradata/dbcentos/redo01.log

# Localizar los fichero de redo log, en caso de estar habilitado el modo archive log

SQL> show parameters archive_dest

# localizar el fichero de password, pfile y el spfile, suele estar todos en el mismo directorio

SQL> show parameters pfile

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
spfile                               string      /opt/oracle/product/11.2.0/dbh
                                                 ome_1/dbs/spfiledbcentos.ora

# ya tenemos todos los ficheros a realizar copia, por lo que paramos la base de datos

SQL> connect sysstem/root1 as sysdba
Connected.
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> exit

# realizamos la copia de seguridad de los ficheros, que habíamos identificado

# ficheros de configuración de red

cp /opt/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora /media/disco_extra/backup/backup_2013-06-27
cp /opt/oracle/product/11.2.0/dbhome_1/network/admin/sqlnet.ora /media/disco_extra/backup/backup_2013-06-27
cp /opt/oracle/product/11.2.0/dbhome_1/network/admin/tnsnames.ora /media/disco_extra/backup/backup_2013-06-27

# ficheros de datos

cp /opt/oracle/oradata/dbcentos/system01.dbf /media/disco_extra/backup/backup_2013-06-27
cp /opt/oracle/oradata/dbcentos/sysaux01.dbf /media/disco_extra/backup/backup_2013-06-27
cp /opt/oracle/oradata/dbcentos/undotbs01.dbf /media/disco_extra/backup/backup_2013-06-27
cp /opt/oracle/oradata/dbcentos/users01.dbf /media/disco_extra/backup/backup_2013-06-27

# ficheros de control

cp /opt/oracle/oradata/dbcentos/control01.ctl /media/disco_extra/backup/backup_2013-06-27
cp /opt/oracle/flash_recovery_area/dbcentos/control02.ctl /media/disco_extra/backup/backup_2013-06-27

# ficheros de redo log

cp /opt/oracle/oradata/dbcentos/redo03.log /media/disco_extra/backup/backup_2013-06-27
cp /opt/oracle/oradata/dbcentos/redo02.log /media/disco_extra/backup/backup_2013-06-27
cp /opt/oracle/oradata/dbcentos/redo01.log /media/disco_extra/backup/backup_2013-06-27

# ficheros de archive log
# en este caso no está activo, pero se copiarían los indicados por la consulta

# copiamos fichero de password, pfile y el spfile

cp /opt/oracle/product/11.2.0/dbhome_1/dbs/spfiledbcentos.ora /media/disco_extra/backup/backup_2013-06-27
cp /opt/oracle/product/11.2.0/dbhome_1/dbs/orapwdbcentos /media/disco_extra/backup/backup_2013-06-27

YA ESTARÍA HECHA LA COPIA DE SEGURIDAD DE UNA BASE DE DATOS ORACLE OFFLINE

Para restaurarla bastaría con poner todos los ficheros en los mismos directorios desde donde se copiaron.

Comments are closed.