Este un blog que cambio de rumbo... antes era relacionado a "n" temas ahora será exclusivo para detallar todo lo que pude aprender en Oracle =)

Mostrando las entradas con la etiqueta control file. Mostrar todas las entradas
Mostrando las entradas con la etiqueta control file. Mostrar todas las entradas

martes, 8 de mayo de 2012

MODO ARCHIVE Y MODO NO ARCHIVE

Nuestra base de datos en ORACLE puede correr de dos maneras diferentes en modo NOARCHIVE(default) y modo ARCHIVE. En el modo NOARCHIVE que es el menos recomendado los online redologs son sobreescritos y no son backupeados , en el caso del modo ARCHIVE todos los redo logs una vez llenos son backupeados a través del background process ARCn  tomando el nombre de "archive redo logs" los cuales serán depositados en uno o mas ubicaciones del servidor, esto dependerá del valor de los parámetros LOG_ARCHIVE_DEST_1, LOG_ARCHIVE_DEST_2, ..., LOG_ARCHIVE_DEST_n .

Al tener la base de datos en modo NOARCHIVE nos limitamos a tener que bajar la base de datos para poder backupearla, sin embargo en el caso de tenerla en modo ARCHIVE podemos backupearla online mientras nuestros usuarios están trabajando.

Otra desventaja del tener la base de datos en modo NOARCHIVE es que solo podremos recuperar la base de datos hasta el momento en que el último backup fue realizado , en el caso de tenerla en modo ARCHIVE podemos recuperar hasta la última transacción comiteada.

Para verificar si tu base de datos está en modo archive o no, ejecuta el siguiente query:

select LOG_MODE from v$database;


LOG_MODE
-----------
NOARCHIVELOG


* PASOS PARA CONFIGURAR TU BASE DE DATOS A MODO ARCHIVE:

Verificar que los siguientes parámetro estén seteados correctamente:


SQL> show parameter log_archive_dest_1


SQL> Alter system set log_archive_dest_1='location=/bk_archive_1/';




-- El siguiente parámetro no es dinámico por eso se utiliza "scope=spfile"


SQL> Alter system set log_archive_format='orcl_%r_%t_%s.arc' scope=spfile;


Una vez verificado estos parámetros podemos proceder a cambiar la BD a modo Archive


[oracle@pc dbs]$ sqlplus / as sysdba
SQL>shutdown immediate
SQL>startup mount
SQL> alter database archivelog;
SQL> alter database open;



Si deseas retornar tu base de datos a modo NOARCHIVE, deberás ejecutar el siguiente comando:


[oracle@pc dbs]$ sqlplus / as sysdba

 SQL>shutdown immediate
 SQL> startup mount
 SQL> alter database noarchivelog;

alter database noarchivelog
*
ERROR at line 1:
ORA-38774: cannot disable media recovery - flashback database is enabled
(Si como en mi caso te sale este error es porque tu bd estuvo previamente en modo archive y tenías habilitado el flashback database)

Entonces debes ejecutar el siguiente  query para desactivar el flashback
SQL> alter database flashback off;
Database altered.

-- Y luego
SQL> alter database noarchivelog;
Database altered.

Para probar que has realizado correctamente la configuración , realiza el sgte. comando:

SQL> alter system switch logfile;


Listo!





miércoles, 14 de octubre de 2009

RECUPERANDO BD EN ORACLE - cuando pierdes UN control file(resumen sybex)

Losing one of the multiplexed control file immediately aborts the instance.
1- shutdown abort
2- copy one of the good copies of the control file to the location of the corrupted or missings control file.
if the corrupted Cfile resided on a failed disk , copy it to another suitable location and update the initialization parameter to update the cfile reference or you can remove the reference from this initialization parameter until you find a suitable location.
you must have at least two control files in your Db.
3-start the instance with startup.

you´ll change the initialization parameter control_file using the alter system set scope=spfile when the instance is started in no mount mode.