Archivos de la categoría ‘rman’

h1

Ejemplos de uso de RMAN

junio 18, 2009

Revisando las estadísticas del blog he comprobado que hay personas que llegan aquí mediante una búsqueda similar al título de este post. Por tanto he decidido crear una entrada especificando una serie de comandos comunes a la hora de usar RMAN.

De este modo, ahí va la lista. Si alguno de los visitantes echa en falta algo más, solo tiene que dejar un comentario.

Read the rest of this entry ?

h1

Recuperar datafile con RMAN

junio 17, 2009

La situación es la siguiente. Mi base de datos está operativa y en correcto funcionamiento pero, por algún motivo que en este momento no viene al caso, una o varias aplicaciones que acceden a esta base de datos dan un error tipo ORA-00376 e indican que no pueden acceder a un datafile. Si se realiza una consulta desde SQLPLUS para comprobar el estado del datafile, el resultado será algo como lo que sigue:

SQL> select file_name,status, online_status from dba_data_files where file_name 
like '%nombre%';
FILE_NAME                                                    STATUS    ONLINE_
------------------------------------------------------------ --------- -------
+DG/sid/datafile/nombre.366.650544699                        AVAILABLE RECOVER
Como se puede observar, el datafile se encuentra en estado RECOVER (el fichero tiene algún tipo de corrupción). Lo inmediato en este momento sería lanzar un comando recover desde la propia consola de SQLPLUS. Si la corrupción es reciente, es posible que esto funcione, pero si la corrupción del fichero data de algunas horas, lo más probable es que el intento dé algún tipo de error, como el que se puede ver a continuación:
SQL> recover datafile ‘+DGANCD/ancri/datafile/know.366.650544699′;
ORA-00279: el cambio 7306246681017 generado en 05/24/2009 02:45:57 es necesario para el thread 1
ORA-00289: sugerencia: +DGANCF/ancri/1_15322_619033057.dbf
ORA-00280: el cambio 7306246681017 para el thread 1 está en la secuencia número 15322
Especificar log: {<RET>=sugerido | nombre_archivo | AUTO | CANCEL}
ORA-00308: no se puede abrir el archive log ‘+DGANCF/ancri/1_15322_619033057.dbf’
ORA-17503: ksfdopn:2 Fallo al abrir el archivo +DGANCF/ancri/1_15322_619033057.dbf
ORA-15173: entry ’1_15322_619033057.dbf’ does not exist in directory ‘ancri’
SQL> recover datafile '+DG/sid/datafile/nombre.366.650544699';

ORA-00279: el cambio 7306246681017 generado en 05/24/2009 02:45:57 es necesario para el thread 1

ORA-00289: sugerencia: +DG/sid/1_15322_619033057.dbf

ORA-00280: el cambio 7306246681017 para el thread 1 está en la secuencia número 15322

Especificar log: {<RET>=sugerido | nombre_archivo | AUTO | CANCEL}

ORA-00308: no se puede abrir el archive log '+DG/sid/1_15322_619033057.dbf'

ORA-17503: ksfdopn:2 Fallo al abrir el archivo +DG/sid/1_15322_619033057.dbf

ORA-15173: entry '1_15322_619033057.dbf' does not exist in directory 'sid'

En este momento entra en juego RMAN.

Read the rest of this entry ?

h1

Borrar catálogo RMAN

octubre 2, 2007

No es algo habitual, pero puede ser un procedimiento que se deba aplicar en algún momento en alguna de nuestras bases de datos: después de una migración, después de realizar pruebas de recuperación, cuando se va a eliminar la base de datos definitivamente.

Es bastante más simple que crear el catálogo. En primer lugar, nos conectamos al catálogo de recuperación:

$ rman target=/ catalog rman_user@cadena_conexión

Hay que borrar todas las copias antes de eliminar el catálogo de recuperación. Para ello se hace un crosscheck de los backups, seguido de un delete obsolete y un delete expired, con la intención de compactar el repositorio de copias y que no se quede nada en el tintero (la intención es liberar todo el espacio posible):

RMAN> crosscheck backup;

RMAN> delete obsolete;

RMAN> delete expired;

Se borran los backups restantes:

RMAN> delete backup;

Para comprobar que los deletes han hecho efecto, se puede ejecutar:

RMAN> list backup;

Esta consulta no debería devolver ningún fichero.

Finalmente, se borra el catálogo:

RMAN> drop catalog;

El sistema nos avisará entonces de que estamos intentando borrar el catálogo de recuperación, y nos pedirá que insertemos otra vez la orden para confirmarlo.

Otras entradas en mi blog relacionadas con RMAN:

h1

Recuperar Base de Datos usando RMAN

junio 14, 2007

Voy a explicar en esta entrada, de forma sencilla y resumida, los pasos a seguir para recuperar una base de datos Oracle haciendo uso de la herramienta RMAN.

Supongamos que se produce cualquier error accidental del tipo de borrar algún datafile. La forma inmediata de recuperar la base de datos es haciendo uso de RMAN. Para ello, este es el procedimiento:

Read the rest of this entry ?

h1

Duplicar controlfile (con OMF y ASM)

junio 12, 2007

Un problema con el que nos hemos encontrado en nuestro entorno de bases de datos, en concreto después de una instalación Oracle 10.2.0.1 parcheada a la 10.2.0.3, ha sido el de tener que duplicar el controlfile. Y en el presente post indico el procedimiento que he seguido, teniendo en cuenta que se está haciendo uso de +ASM, usando la herramienta RMAN proporcionada por Oracle.

Lo primero que hay que hacer es identificar el controlfile existente:

SQL> SELECT NAME FROM V$CONTROLFILE;

Read the rest of this entry ?

Seguir

Get every new post delivered to your Inbox.