El RMAN (Recovery Manager) es una herramienta de Oracle que sirve para realizar las tareas que están relacionadas con la seguridad de los datos como por ejemplo hacer copias de seguridad, restauraciones, recuperaciones y muchas otras cosas más.
El RMAN tiene una interfaz de línea de comandos y también hay herramientas gráficas que permiten utilizarlo.
Para acceder a RMAN por linea de comandos se utiliza el comando rman.
Para salir de la herramienta se utiliza el comando quit o exit.
Ahora estamos conectados al catálogo de recuperación, al Recovery Manager, pero en éste momento no estamos conectados a ninguna base de datos.
Ventajas de realizar copias con RMAN:
Control sobre las copias: siempre el RMAN guarda información sobre qué copias de seguridad se han hecho y de qué se han hecho las copias de seguridad, donde están ubicadas esas copias y esa información es muy útil para luego hacer restauraciones. Es decir RMAN sabe dónde está ubicada cada copia de la base de datos, archivo dañado, etc.
Lo necesario para recuperar: RMAN posee toda la información necesaria para realizar la recuperación tanto de la base de datos como de archivos dañados, etc.
Restauraciones Directas: RMAN se encarga de ir a buscar la copia de seguridad que corresponde para ser recuperada y restaurarla en el sitio que le corresponde.
Politicas de Seguridad: nos permite ingresar la frecuencia con que tenemos que hacer el backup, cuándo se considera que un backup ya no es necesario guardarlo, etc.
Todas estas funcionalidades que vemos de RMAN tienen que hacerse en base a algún repositorio de información.
Toda ésta información que tiene RMAN debe ser guardada en algún sitio, para ello RMAN puede guardar dicha información en 2 sitios:
1) En el ControlFile de la base de datos al cual se está haciendo la copia: una desventaja de utilizar ésta estrategia es que estamos utilizando mucho espacio del ControlFile, además si perdemos el controlfile, RMAN no podría acceder a la información necesaria para saber dónde está lo que tiene que restaurar.
2) Crear Catalogo de RMAN (Recovery Catalog) ésta estrategia se basa en crear un repositorio de información, un tablespace con un usuario y hacer que allí se guarde toda la información para gestionar las copias de seguridad de una base de datos.
Si RMAN no dispone de un catálogo de recuperación, toda la información será guardada en el ControlFile de la base de datos a la cual se conecta.
Cuando iniciamos una sesión con RMAN tenemos que informarle a qué nos conectamos:
Como mínimo tenemos que informar el Target.
El Target es un parámetro que describe cuál es la base de datos sobre la cual vamos a hacer copias de seguridad, siempre hay que especificar una base de datos como target.
Conexión a RMAN:
$ rman target catalog/nocatalog
Por defecto es catalog, si colocamos nocatalog RMAN debe obtener la información del ControlFile de la base de datos Target.
Al conectarnos a RMAN nos muestra la información de que ha encontrado la base de datos Target.
Crear un Catálogo para RMAN
Pasos para crear un catálogo de una BBDD para RMAN
1) En una base de datos distinta, crear el repositorio.
Para este ejemplo creamos una base de datos llamada seg utilizando el asistente de creacion de base de datos DBCA, como usuario oracle lanzamos este comando:
[oracle@curso ~]$ dbca
Se nos presenta la primera pantalla, escogemos crear base de datos.
Click en Next
Escogemos la plantilla de propósito general
Establecemos el nombre global de la base (el nombre del servicio principal) y el nombre de la instancia (SID).
Establecemos que queremos una consola de gestión.
Ponemos la misma contraseña para todos los usuarios, recordar esta contraseña.
Utilizamos la plantilla para la ubicación de los archivos de la base de datos.
Especificamos la Flash Recovery Area.
Añadimos los schemas de ejemplo.
Establecemos el uso de memoria
Escogemos Unicode como juego de caracteres.
Revisamos la instalación a realizarse.
Le damos a finalizar
Se nos presenta un pequeño resumen, lo aceptamos.
Se inicia la creación de la base de datos.
Esperamos a la finalización de la instalación, en este mensaje final se muestra el puerto de acceso a la consola de gestión.
Ya tenemos creada nuestra base de datos para poder crear el repositorio para RMAN, para ello creamos un tablespace y un usuario.
Iniciamos una sesion en sqlPlus
$ sqlplus sys/seg@ as sysdba
A modo de ejemplo creamos el tablespace tb_cat que contendrá un único datafile tb_cat_1.dbf
Creamos el schema, es decir crear el usuario, éste usuario se llamará rman y estará identificado por rman.
Debemos otorgarle al usuario los privilegios correspondientes:
$ grant recovery_catalog_owner to rman;
2) Conectar rman Catalog
Nos conectamos al catálogo:
$ rman catalog rman/rman@seg
Estamos conectados pero aún no tenemos creado el catálogo
3) Crear el catalogo (create catalog)
$ create catalog
Se crean las tablas en la base de datos, concretamente en el tablespace en el schema que hemos definido, en el cual estará la información del catálogo de recuperación.
Para probar que se hayan creado todas las tablas, nos conectamos a sqlplus:
$ sqlplus sys / seg @ seg as sysdba
Todas las tablas se crearon y son parte del repositorio, o sea del catálogo de recuperación.
Aquí es donde internamente RMAN guardará la información de qué copias se ha realizado, donde están esas copias, la antigüedad de cada copia, las políticas de seguridad que hemos aplicado, etc…
4) Conectar a rman target catalog
Ahora hay que llenar el catálogo con la información de la base de datos Target, para ellos nos conectamos a RMAN especificando el Target y el Catalog
$ rman target usuario/password@bd catalog usuario/password@bd
5) Registrar la Base de Datos (register database)
$ register database;
Este comando lo que hace es leer toda la información de la base de datos por medio del controlfile de la base de datos target y lo coloca dentro del catálogo que acabamos de crear.
6) Ejecutar report schema;
$ report schema;
Nos devuelve los contenidos físicos de la base de datos que actúa como target.
Ya tenemos creado el catálogo de recuperación para realizar las tareas de seguridad por medio de RMAN.

Crear el Catálogo de Recuperación de RMAN por Clarisa Maman Orfali se encuentra bajo una Licencia Creative Commons Atribución-NoComercial-SinDerivadas 3.0 Unported.
súper ayuda mil gracias!!!… saludos desde México 😀
Hola Clarisa buenas noches, tu Blog esta Exelente me gusta mucho quería hacer un download en la pagina de Oracle para bajarme la version 10g para linux x64 pues resulta que ya solo están para download la versión 11g lo cual no me sirve porque yo programo en Oracle forms 6i podrías por favor indicarme y si de casualidad lo tienes a la mano para realizar la descarga o indicarme donde lo puedo conseguir
Saludos desde Panama 😉
Hola Julio,
Gracias por tu comentario.
La verdad no tengo la version 10 y no se si la puedes llegar a encontrar, lo siento mucho que no tevpuedo ayudar.
Saludos
Hola Clarisa,
puede ser que la línea del paso 4) esté mal??
dice:
$ rman target usuario/password@bd catalog usuario/password@bd <– BD es el SID de la base orígen
no debería ser??:
$ rman target usuario/password@bd catalog usuario/password@SEG <– SEG es el SID de tu catálogo
si Excelente aporte Clarisa como siempre yo acostumbrado a tus posts. Pues son buenos ejemplos para que los demas se puedan guiar gracias.
Hola Mariano, puse bd porque es general hace mención al nombre de la base de datos que en este caso es SEG. Saludos
Gracias Miguel por tu comentario. Saludos
Hola clarisa, disculpa tengo una duda? si quiero registrar una nueva bd a ese catalogo se cumplen solo los pasos 4 y 5?
Estimados, saben tengo problemas con la escrituras de archivos en oracle instalado en windows… me sale el error que no puede acceder a los archivos, tengo claro que son permisos alguien ha reakizado RMAN en windows con catalogo de seguridad que me pueda ayudar???
Hola, gracias por tu blog, es de mucha ayuda. Una pregunta, ¿existe otro tutorial como este, pero para recuperar la base de datos, me explico pasar la información nuevamente a la base de datos?
Facil y sencillo, como debe ser una ayuda, gracias .. un saludo desde Bolivia…
Erick.
Hola Clarisa una pregunta, cuando hace el tag creas otra base de datos, esta nueva base de datos le tenemos que comprar licencia? gracias.
Hola, el tema de licencias depende del contrato que haya adquirido el cliente con Oracle, si es por CPU y la base del catalogo reside en el mismo sitio que la base de datos target, no necesitarías una licencia extra para el catalogo.
Saludos!!!
excelente articulo, bendiciones para Clarisa que se toma su tiempo para subir temas tan aprovechados.
Hasta el día de hoy funciona el oracle forms 6i y con la base de datos oracle 12c. Muy buen producto y muy buenos aportes de Clarisa. Gracias