Guía rápida para RMAN
1. Objetivos
Manual con ejemplos básicos de uso de RMAN.
1. Conectarse al catalogo de RMAN de una BBDD determinada
[ora11g@prueba ~]$ rman target / catalog rman@rman
Recovery Manager: Release 11.2.0.1.0 – Production on Tue Feb 1 10:00:45 2011
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
connected to target database: DBA11G (DBID=337560195)
recovery catalog database Password: *****
connected to recovery catalog database
2. Crear y Configurar un catálogo de recuperación.
2.1. Configurar el catálogo de recuperación de la Base de datos
Conectarse a la BBDD para crear un tablespace nuevo
$ sqlplus /nolog
SQL> connect /as sysdba
Conectado.
Crear un tablespace
SQL> create tablespace nuevo datafile '/database/dba11g/nuevo.dbf' size 2M autoextend on;
Tablespace creado.
2.2. Crear el propietario del catálogo de recuperación.
SQL> create user rman
2 identified by rman
3 default tablespace nuevo
4 quota unlimited on nuevo;
SQL> grant connect to rman
SQL> grant recovery_catalog_owner to rman;
2.3. Crear el catálogo de recuperación
$ rman target / catalog rman@rman
rman> create catalog;
3. Sincronizar el catálogo de recuperación
3.1. Registrar una BBDD
$ rman target / catalog rman@rman
RMAN> register database;
3.2. Desregistrar una BBDD
$ Rman target / catalog rman@rman
RMAN> unregister database;
4. Borrar catalog de recuperación
RMAN> connect catalog rman/rman@rman
RMAN> drop catalog;
RMAN> drop catalog;
5. Actualización de versión del catálogo de recuperación.
RMAN> upgrade catalog;
6. Crear y usar un catálogo virtual privado
6.1. Crear el propietario del catálogo virtual privado.
$ sqlplus /nolog
SQL> connect /as sysdba
SQL> create user user_virtual
2 identified by uservirtual
3 default tablespace users
4 quota unlimited on users;
6.2. Otorgar permisos al propietario del catálogo virtual privado.
SQL> grant recovery_catalog_owner to user_virtual;
SQL> grant catalog for database dba11g to user_virtual;
SQL> grant register database to user_virtual;
6.3 Crear un catálogo virtual privado.
$ rman target / catalog user_virtual/uservirtual@rman
RMAN> create virtual catalog;
Nota: Si la versión del cliente rman es anterior a Oracle Database 11g se debe ejecutar la siguiente sentencia:
RMAN> exe rman.dbms_rcvcat.create_virtual_catalog;
6.4 Usar el catálogo virtual privado.
Registramos una base de datos para este catálogo
$ rman target / catalog user_virtual/uservirtual@rman
RMAN> register database;
VIsualizamos las bases de datos registradas
$ sqlplus user_virtual/user_virtual@rman
SQL> Select distict db_name from dbinc;
7. Backups ( ejemplo con base de datos dba11g )
Nos conectamos a la base de datos contra el catálogo
$ export ORACLE_SID=dba11g$
rman target / catalog rman/rman@rman
Recovery Manager: Release 11.2.0.1.0 - Production on Fri Feb 4 09:55:30 2011
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
connected to target database: DBA11G (DBID=337560195)
connected to recovery catalog database
7.1 Backup completo de la BBDD (Whole Database Backup)
RMAN> backup as copy database spfile plus archivelog;
7.2 Full Backups
RMAN> backup database spfile plus archivelog;
7.3. Incremental Backups
Level 0 Incremental Backups
RMAN> backup incremental level 0 tablespace users;
Differential Incremental Backups
RMAN> backup incremental level 1 tablespace users;
7.4 Cumulative Incremental Backups
RMAN> backup incremental level 1 cumulative tablespace users;
7.5 Comprimir backups
RMAN> backup as compressed backupset format ‘/ubicacion/ rman_%d_s%_t%_%p.bkupset’ tablespace users;
RMAN> backup as compressed backupset users;
7.6 Borrar todos los backups
RMAN> delete backup
7.7 Eliminar los backups obsoletos
RMAN> delete obsolete;
RMAN retention policy will be applied to the command
RMAN retention policy is set to recovery window of 1 days
using channel ORA_DISK_1
Deleting the following obsolete backups and copies:
-----
Deleted 17 objects
7.8 Más tipos de backup con RMAN
Backup de toda la base de datos
RMAN> backup database;
Backup de un tablespace
RMAN> backup tablespace tbs_name;
Backup de un usuario
RMAN> backup user username;
8. Recover/ Recuperación con RMAN
8.1 Recuperación total de una base de datos
Partimos de un ‘Whole Database Backup’ y se ha borrado toda la base de datos
RMAN> backup as copy database spfile plus archivelog;
La recuperación se realiza de la siguiente forma:
La base de datos tiene que estar en modo nomount$sqlplus /nolog
SQL> connect /as sysdba
SQL> shutdown abort;
SQL> startup nomount;
Recuperar la BBDD
RMAN> restore database;
RMAN> recover database;
Montar la BBDD y abrir la base de datos con un resetlogs
SQL> alter database mount;
SQL> alter database open resetlogs;
8.2 Recuperación de los controlfile
$ export ORACLE_SID=dba11g
$ rman target/ catalog rman/rman@rman
RMAN> restore controlfile;
8.3 Comandos generales para recuperar la BBDD
RMAN> restore database;
RMAN> recover database;
8.4 Comandos para la recuperación a tener en cuenta
recover database until cancel
recover database until time ‘2004-03-21:22:59:04’
recover database until change 123456
recover datafile ‘filename’ until cancel
recover datafile ‘filename’ until time ‘2004-03-21:22:59:04’
recover datafile ‘filename’ until change 123456
recover tablespace ts_name until cancel
recover tablespace ts_name until time ‘2004-03-21:22:59:04’
recover tablespace ts_name until change 123456
recover database using backup controlfile
9. Listar los backups
RMAN> list backup;