Title: Backup and Recovery ORACLE
1Backup and Recovery ORACLE
Prof. Ing. Erick López Ch. M.R.I. Cuarta
Generación IV
2Contenido
3Errors and Failures Requiring
User Error
Media Failure
Errors Failure
DB Instance Failure
Network Failure
Process Failure
Statement Failure
4Media Failure
- Occur when trying to write or read an file on
disk that is required to operate an Oracle
database. - Is a physical problem reading or writing to files
on the storage medium. - All files associated with a database are
vulnerable to a disk crash, including datafiles,
control files, online redo logs, and archived
logs.
5Media Failure
- Media failures that affect datafiles can be
divided into two categories read errors and
write errors.
6User Error
- User errors such as accidentally dropping a
table. - User error can be reduced by increased training
on database and application principles. - Administering privileges correctly.
7Database Instance Failure
- Occurs when a problem prevents an Oracle database
instance from continuing to run. - An instance failure can result from a hardware
problem, such as a power outage, or a software
problem, such as an operating system crash. - Instance failure also results when you issue a
SHUTDOWN ABORT or STARTUP FORCE statement.
8Statement Failure
- Occurs when there is a logical failure in the
handling of a statement in an Oracle program. - For example, assume that all extents of a table
with a Insert statement.
9Process Failure
- Is a failure in a user, server, or background
process of a database instance such as an
abnormal disconnect or process termination. - When a process failure occurs, the failed
subordinate process cannot continue work,
although the other processes of the database
instance can continue - Recovery of the failed user or server process is
automatic (PMON).
10Network Failure
- A network failure can interrupt normal execution
of a client application and cause a process
failure to occur. - Oracle background process PMON detects and
resolves the aborted server process for the
disconnected user process.
11NOARCHIVELOG Mode
- NOARCHIVELOG mode, then the archiving of the
online redo log is disabled. - NOARCHIVELOG mode protects a database only from
instance failure, not from media failure.
12ARCHIVELOG Mode
- The archiving of the online redo log is enabled.
- Information in a database control file indicates
that a group of filled online redo log files
cannot be reused by LGWR until the group has been
archived.
13Backup
- Los backups se pueden clasificar en físicos y
lógicos. Los físicos se realizan cuando se copian
los archivos que soportan la BD. Entre estos se
encuentran los backups del SO, los backups en
frío y los backups en caliente. - Los backups lógicos sólo extraen los datos de las
tablas utilizando comandos SQL y se realizan con
la utilidad export/import.
14Backups del SO
- Este tipo de backup es el más sencillo de
ejecutar, aunque consume mucho tiempo y hace
inaccesible al sistema mientras se lleva a cabo.
Aprovecha el backup del SO para almacenar también
todos los archivos de la BD. Los pasos de este
tipo de backup son los siguientes - Parar la BD y el SO
- Iniciar en modo dba o superusuario.
- Realizar copia de todos los archivos del sistema
- Iniciar el sistema en modo normal y luego la BD.
15Backups de la BD en Frío
- Los backups en frío implican parar la BD en modo
normal y copiar todos los archivos que utiliza. - Antes de parar la BD hay que detener también
todas las aplicaciones que estén trabajando con
la BD. - Una vez realizada la copia de los archivos, la BD
se puede volver a iniciar.
16Backups de la BD en Caliente
- El backup en caliente se realiza mientras la BD
está abierta y funcionando en modo ARCHIVELOG. - Hay que tener cuidado de realizarlo cuando la
carga de la BD sea pequeña. - Este tipo de backup consiste en copiar todos los
archivos correspondientes a un tablespace
determinado, los archivos redo log archivados y
los control files. - Esto para cada tablespace de la BD.
17Backups Lógicos con Export/Import
- Estas utilidades permiten al DBA hacer copias de
determinados objetos de la BD, así como
restaurarlos o moverlos de una BD a otra. - Estas herramientas utilizan comandos del SQL para
obtener el contenido de los objetos y
escribirlos/leerlos
18Diseño de la BD y Reglas Básicas de Backup
- Es recomendable archivar los archivos redo log en
disco, y luego copiarlos a cinta, pero siempre en
un disco diferente del que soporta los ficheros
de datos y de redo log activos. - Los archivos copias no deben estar en el mismo
dispositivo que los originales. No siempre hay
que pasar las copias a cinta, ya que si se dejan
en disco se acelera la recuperación. Además, si
se copian las copias a cinta y se mantienen en el
disco, se puede sobrevivir a diversos fallos de
dispositivo.
19Diseño de la BD y Reglas Básicas de Backup
- Se deberían mantener diferentes copias de los
archivos de control, colocados en diferentes
discos con diferentes controladores. - Los archivos redo log en línea deben estar
multiplexados, con un mínimo de 2 miembros por
grupo, residiendo cada miembro en un disco
distinto.
20Diseño de la BD y Reglas Básicas de Backup
- Siempre que la estructura de la BD cambie debido
a la inclusión, borrado o renombrado de un
archivo de datos o de redo log, se debe copiar el
archivo de control, ya que almacenan la
estructura de la BD. - Alter database backup controlfile to 'destino'
21Diseño de la BD y Reglas Básicas de Backup
- Activar el modo ARCHIVELOG.
- Realizar un backup al menos una vez a la semana
si la BD se puede parar. En otro caso, realizar
backups en caliente cada día. - Copiar todos los archivos redo log archivados
cada cuatro horas. El tamaño y el número de ellos
dependerá de la tasa de transacciones. - Efectuar un export de la BD semanalmente en modo
RESTRICT.
22Backup en Caliente
- Si la implantación de BD requiere disponibilidad
de la misma 24h. al día, 7 dias a la semana no se
pueden realizar backups en frio. Para efectuar un
backup en caliente debemos trabajar con la BD en
modo ARCHIVELOG. El procedimiento de backup en
caliente es bastante parecido al frio. Existen
dos comandos adicionales begin backup antes de
comenzar y end backup al finalizar el backup. - Alter tablespace users begin backup
- Alter tablespace users end backup
23Backup Control File
- Backing it up in a binary format
- alter database backup controlfile to '/ct1
- Backing it up in a human readable format
- alter database backup controlfile to trace
- alter database backup controlfile to trace as
'/ct2' - alter database backup controlfile to trace as
ct3' reuse
24ARCHIVE MODE
- Alter database archivelog
- Alter database archivelog
- Alter database archivelog manual
- Alter database noarchivelog
- Archive log list
25ARCHIVE LOG MODE
- The database is in log archive mode, the database
makes sure that online redo logs are not
overwritten before they have been archived. - log_archive_dest_n (or, deprecated on EE
log_archive_dest ) specify where the archived
redo logs go. - SQLgt select log_mode from vdatabase
- SQLgt show parameter log_archive_start
26ARCHIVE LOG MODE
- SQLgt alter database archivelog
- alter database archivelog ERROR at line 1
- ORA-01126 database must be mounted EXCLUSIVE
and not open for this operation - Connect with dba
- SQLgt startup mount
- SQLgt alter database archivelog
- SQLgt alter database open
- SQLgt select log_mode from vdatabase
27No archive log Archive log
Must backup entire database. Can backup parts of database (datafiles tablespaces)
DB must be shut down. hot backups possible
Only entire DB can be restored Tablespaces can be restored
In case of a failure, all changes sinces the last backup will be lost All commited transactions will be restorable
28Backups Lógicos
- Este tipo de backups copian el contenido de la BD
pero sin almacenar la posición física de los
datos. Se realizan con la herramienta export que
copia los datos y la definición de la BD en un
archivo en un formato interno de Oracle. - Para realizar un export la BD debe estar abierta.
- Export asegura la consistencia en la tabla,
aunque no entre tablas. - Si se requiere consistencia entre todas las
tablas de la BD entonces no se debe realizar
ninguna transacción durante el proceso de export.
(restrict)
29Ventajas de un Export
- Se puede detectar la corrupción en los bloques de
datos, ya que el proceso de export fallará. - Protege de fallos de usuario, por ejemplo si se
borra una fila o toda una tabla por error es
fácil recuperarla por medio de un import. - Se puede determinar los datos a exportar con gran
flexibilidad. - Se pueden realizar exports completos,
incrementales y acumulativos. - Los backups relizados con export son portables y
sirven como formato de intercambio de datos entre
BDs y entre máquinas.
30Parámetros de Export
Parámetro Defecto Descripción
USERID indefinido el username/password del usuario que efectua el export.
BUFFER dependiente del SO El tamaño en bytes del buffer utilizado.
FILE expdat.dmp el nombre del fichero destino.
GRANTS Yes indica si se exportan también los derechos.
INDEXES Yes indica si se exportan también los índices.
ROWS Yes indica si se exportan también las filas de las tablas, o sólo las definiciones de las tablas.
CONSTRAINTS Yes indica si se exportan también las restricciones.
COMPRESS Yes indica si se exporta en modo comprimido.
FULL No indica si se exporta la BD entera.
OWNER usuario actual una lista de usuarios cuyos objetos se quieren exportar.
TABLES indefinido la lista de tablas a exportar.
RECORDLENGTH dependiente del SO la longitud en bytes del registro del fichero.
INCTYPE indefinido el tipo de export incremental.(Complete, Cumulative, Incremental)
RECORD Yes indica si se anota el export incremental en las tablas SYS.INCVID y en SYS.INCEXP.
PARFILE indefinido el fichero de parámetros.
31Modos de Export
- Modo Tabla Exporta las definiciones de tabla,
los datos, los derechos del propietario, los
índices del propietario, las restricciones de la
tabla y los triggers asociados a la tabla. - Modo Usuario Exporta todo lo del modo de Tabla
más los clusters, enlaces de BD, vistas,
sinónimos privados, secuencias, procedimientos,
etc. del usuario.
32Modos de Export
- Modo BD Entera Además de todo lo del modo
Usuario, exporta los roles, todos los sinónimos,
los privilegios del sistema, las definiciones de
los tablespaces, las cuotas en los tablespaces,
las definiciones de los segmentos de rollback,
las opciones de auditoría del sistema, todos los
disparadores y los perfiles.
33Modos de Export
- El modo BD entera se divide en tres casos
Completo, Acumulativo e Incremental. - Estos dos últimos se toman menos tiempo que el
completo, y permiten exportar sólo los cambios en
los datos y en las definiciones.
34Modos de Export (Completo)
- Exporta todas las tablas de la BD e inicializa la
información sobre la exportación incremental de
cada tabla. Después de una exportación completa,
no se necesitan los archivos de exportaciones
acumulativas e incrementales de la BD anteriores.
- exp useridsystem/manager fully inctypecomplete
constraintsY filefull_export_filename
35Modos de Export (Acumulativo)
- Exporta solo las tablas que han sido modificadas
o creadas desde la última exportación Acumulativa
o Completa, y registra los detalles de
exportación para cada tabla exportada. Después de
una exportación acumulativa, no se necesitan los
archivos de exportaciones incrementales de la BD
anteriores. - exp useridsystem/manager fully
inctypecumulative constraintsY
filecumulative_export_filename
36Modos de Export (Incremental)
- Exporta todas las tablas modificadas o creadas
desde la última exportación Incremental,
Acumulativa o Completa, y registra los detalles
de exportación para cada tabla exportada. - Son interesantes en entornos en los que muchas
tablas permanecen estáticas por periodos largos
de tiempo, mientras que otras varían y necesitan
ser copiadas. Este tipo de exportación es útil
cuando hay que recuperar rápidamente una tabla
borrada por accidente.
37Modos de Export (Incremental)
- exp useridsystem/manager fully
inctypeincremental constraintsY
fileincremental_export_filename
38Recuperación Lógica
Parámetro Defecto Descripción
USERID indefinido el username/password del usuario que efectua el import.
BUFFER dependiente del SO El tamaño en bytes del buffer utilizado.
FILE expdat.dmp el nombre del archivo de exportación a importar.
SHOW No indica si se muestran los contenidos del archivo de exportación, sin importar ningún dato.
IGNORE Yes indica si ignorar los errores producidos al importar un objeto que ya existe en la BD.
GRANTS Yes indica si se importan también los derechos.
INDEXES Yes indica si se importan también los índices.
ROWS Yes indica si se importan también las filas de las tablas.
FULL No indica si se importan el archivo entero.
FROMUSER Indefinido una lista de los usuarios cuyos objetos se han exportado.
TOUSER Indefinido una lista de los usuarios a cuyo nombre se importan los objetos.
TABLES indefinido la lista de tablas a importar.
RECORDLENGTH dependiente del SO la longitud en bytes del registro del archivo.
INCTYPE indefinido el tipo de import incremental (system, restore)
COMMIT No indica si se efectua un commit después de importar cada fila. Por defecto, import efectua un commit después de cargar cada tabla.
PARFILE indefinido el fichero de parámetros.
39Recuperación Lógica
- imp useridsys/passwd inctypesystem fullY
fileexport_filename - imp useridsys/passwd inctyperestore fullY
filefilename
40Recuperación Física
- Oracle detecta que se necesita una recuperación
física cuando el contador de checkpoints de la
cabecera del archivo de datos no coincide con el
correspondiente contador de checkpoints del
controlfile. - Se hace necesario el comando recover. La
recuperación comienza en el SCN menor de los
ficheros de datos en recuperación, aplicando los
registros de redo log a partir de él, y parando
en el SCN de final mayor de todos los archivos de
datos.
41Recuperación Física
- Restauración de la BD Completa
- Recuperación de la un tablespace mientras BD esté
abierta. - Recuperación de un datafile con la BD abierta
42Requisito para Utilizar Recuperación Física
- Base Datos en modo ARCHIVELOG
43Recuperación BD
- RECOVER AUTOMATIC FROM 'localizacion' BD
- UNTIL CANCEL
- UNTIL TIME fecha
- UNTIL CHANGE entero
- USING BACKUP CONTROLFILE
44Recuperación BD
- AUTOMATIC hace que la recuperación se haga
automáticamente sin preguntar al DBA por el
nombre de los archivos redo log. - También se puede utilizar el comando set
autorecovery on/off. - Los archivos redo log deben estar en la
localización fijada en - LOG_ARCHIVE_DEST y el formato del nombre de los
archivos debe ser el fijado en LOG_ARCHIVE_FORMAT.
45Recuperación BD
- FROM se utiliza para determinar el lugar donde
están los archivos redo log, si es distinto del
fijado en LOG_ARCHIVE_DEST. - UNTIL sirve para indicar que se desea realizar
una recuperación incompleta, lo que implica
perder datos. Solo se dará cuando se han perdido
redo log archivados o el archivo de control.
Cuando se ha realizado una recuperación
incompleta la BD debe ser abierta con el comando
alter database open resetlogs, lo que produce que
los redo log no aplicados no se apliquen nunca y
se inicialice la secuencia de redo log en el
fichero de control. Existen tres opciones para
parar la recuperación
46Recuperación BD (UNTIL)
- UNTIL CANCEL permite recuperar un redo log cada
vez, parando cuando se teclea CANCEL. - UNTIL TIME permite recuperar hasta un instante
dado dentro de un archivo de redo log - UNTIL CHANGE permite recuperar hasta un SCN dado.
- USING BACKUP CONTROLFILE utiliza una copia de
seguridad del controlfile para gobernar la
recuperación.
47Recuperación Tablespace
- La BD debe estar abierta, pero con el tablespace
a recuperar offline. - El comando de recuperación es el siguiente
- RECOVER AUTOMATIC FROM 'localizacion'
TABLESPACE nombre_tablespace ,nombre_tablespace
48Recuperación de un Datafile
- La BD debe estar abierta o cerrada, dependiendo
del archivo a recuperar. - Si el archivo a recuperar es de un tablespace de
usuario la BD puede estar abierta, pero con el
archivo a recuperar offline. Si el archivo es del
tablespace SYSTEM la BD debe estar cerrada, ya
que no puede estar abierta con los archivos del
SYSTEM offline. - El comando de recuperación es el siguiente
49Recuperación de un Datafile
- RECOVER AUTOMATIC
- FROM 'localizacion'
- DATAFILE nombre_archivo ,nombre_archivo
50(No Transcript)