Cuando almacenamos los datos de nuestra base de datos en ASM, todos los datos se almacenan en este sistema de almacenamiento, datafiles, controlfiles y redologs. Ahora debemos saber donde los está alamacenando, puesto que los archivos están ocultos.
Por defecto en una instancia con los datos almacenados en ASM, almacena todo lo referente a la base de datos en el grupo ASM especificado en el siguiente parámetro, tanto datos como redo:
SQL> show parameter db_create_file_dest
NAME TYPE VALUE
------------------------------------ ----------- -----------------------------
db_create_file_dest string +EQCAS_DATA
Para ubicar el redo en un grupo diferente al destinado para almacenar datos, debemos setear un parámetro para el redo (ahora veremos cual es), borrar los grupos de redo actuales y crear unos nuevos en el grupo de ASM destinado a tal fin.
Primero configuramos el parámetro ‘db_create_online_log_dest_1’.
SQL> show parameter online
NAME TYPE VALUE
------------------------------------ ----------- -----------------------------
db_create_online_log_dest_1 string
db_create_online_log_dest_2 string
db_create_online_log_dest_3 string
db_create_online_log_dest_4 string
db_create_online_log_dest_5 string
SQL> alter system set db_create_online_log_dest_1=’ +EQCAS_REDO’ scope=both;
NAME TYPE VALUE
------------------------------------ ----------- ----------------------------
db_create_online_log_dest_1 string +EQCAS_REDO
A partir de este momento, todos los grupos nuevos de redo que se creen lo harán en el grupo de ASM especificado en el parámetro ‘db_create_online_log_dest_1’.
Vamos a ver los grupos de redo que tenemos actualmente.
SQL> select a.GROUP#,a.BYTES/1024/1024,a.STATUS,b.MEMBER
2 from v$log a,v$logfile b
3 where a.GROUP#=b.GROUP#;
GROUP# A.BYTES/1024/1024 STATUS MEMBER
---------- ----------------- ---------------- -------------------------------------------------------
3 100 INACTIVE +EQCAS_DATA/eqcas/onlinelog/group_3.258.783870839
3 100 INACTIVE +EQCAS_DATA/eqcas/onlinelog/group_3.259.783870871
2 50 INACTIVE +EQCAS_DATA/eqcas/onlinelog/group_2.264.783868959
2 50 INACTIVE +EQCAS_DATA/eqcas/onlinelog/group_2.265.783868959
1 50 CURRENT +EQCAS_DATA/eqcas/onlinelog/group_1.256.783870683
1 50 CURRENT +EQCAS_DATA/eqcas/onlinelog/group_1.257.783870769
Como se puede ver están creados en el grupo de ASM ‘+EQCAS_DATA’ que es el valor del parámetro db_create_file_dest. Vamos a borrar los grupos en estado INACTIVE y a crear grupos nuevos.
SQL> alter database drop logfile group 3;
Base de datos modificada.
SQL> select a.GROUP#,a.BYTES/1024/1024,a.STATUS,b.MEMBER
2 from v$log a,v$logfile b
3 where a.GROUP#=b.GROUP#;
GROUP# A.BYTES/1024/1024 STATUS MEMBER
---------- ----------------- ---------------- -------------------------------------------------------
2 50 ACTIVE +EQCAS_DATA/eqcas/onlinelog/group_2.264.783868959
2 50 ACTIVE +EQCAS_DATA/eqcas/onlinelog/group_2.265.783868959
1 50 CURRENT +EQCAS_DATA/eqcas/onlinelog/group_1.256.783870683
1 50 CURRENT +EQCAS_DATA/eqcas/onlinelog/group_1.257.783870769
SQL> alter database add logfile group 3;
Base de datos modificada.
SQL> select a.GROUP#,a.BYTES/1024/1024,a.STATUS,b.MEMBER
2 from v$log a,v$logfile b
3 where a.GROUP#=b.GROUP#;
GROUP# A.BYTES/1024/1024 STATUS MEMBER
---------- ----------------- ---------------- -------------------------------------------------------
3 100 INACTIVE +EQCAS_REDO/eqcas/onlinelog/group_3.258.783870839
2 50 ACTIVE +EQCAS_DATA/eqcas/onlinelog/group_2.264.783868959
2 50 ACTIVE +EQCAS_DATA/eqcas/onlinelog/group_2.265.783868959
1 50 CURRENT +EQCAS_DATA/eqcas/onlinelog/group_1.256.783870683
1 50 CURRENT +EQCAS_DATA/eqcas/onlinelog/group_1.257.783870769
Al crear el grupo de Nuevo lo ha creado con un único miembro, es totalmente recomendable crear los grupos de redo con al menos dos miembros, por ello lo vamos a añadir.
SQL> alter database add logfile member '+EQCAS_REDO' to group 3;
SQL> select a.GROUP#,a.BYTES/1024/1024,a.STATUS,b.MEMBER
2 from v$log a,v$logfile b
3 where a.GROUP#=b.GROUP#;
GROUP# A.BYTES/1024/1024 STATUS MEMBER
---------- ----------------- ---------------- -------------------------------------------------------
3 100 INACTIVE +EQCAS_REDO/eqcas/onlinelog/group_3.258.783870839
3 100 INACTIVE +EQCAS_REDO/eqcas/onlinelog/group_3.259.783870871
2 50 INACTIVE +EQCAS_DATA/eqcas/onlinelog/group_2.264.783868959
2 50 INACTIVE +EQCAS_DATA/eqcas/onlinelog/group_2.265.783868959
1 50 CURRENT +EQCAS_DATA/eqcas/onlinelog/group_1.256.783870683
1 50 CURRENT +EQCAS_DATA/eqcas/onlinelog/group_1.257.783870769
Repetimos el proceso para los otros grupos.
SQL> alter database drop logfile group 2;
Base de datos modificada.
SQL> alter database add logfile group 2;
Base de datos modificada.
SQL> alter database add logfile member '+EQCAS_REDO' to group 2;
Base de datos modificada.
Ahora falta por borrar el grupo que está siendo usado actualmente por la base de datos, para poder eliminarlo tenemos que ejecutar “alter system switch logfile”, para forzar el cambio de grupo de archivado, liberarlo y poder borrarlo.
SQL> alter system switch logfile;
SQL> select a.GROUP#,a.BYTES/1024/1024,a.STATUS,b.MEMBER
2 from v$log a,v$logfile b
3 where a.GROUP#=b.GROUP#;
GROUP# A.BYTES/1024/1024 STATUS MEMBER
---------- ----------------- ---------------- -------------------------------------------------------
3 100 INACTIVE +EQCAS_REDO/eqcas/onlinelog/group_3.258.783870839
3 100 INACTIVE +EQCAS_REDO/eqcas/onlinelog/group_3.259.783870871
2 100 CURRENT +EQCAS_REDO/eqcas/onlinelog/group_2.264.783868959
2 100 CURRENT +EQCAS_REDO/eqcas/onlinelog/group_2.265.783868959
1 50 INACTIVE +EQCAS_DATA/eqcas/onlinelog/group_1.256.783870683
1 50 INACTIVE +EQCAS_DATA/eqcas/onlinelog/group_1.257.783870769
SQL> alter database drop logfile group 1;
Base de datos modificada.
SQL> alter database add logfile group 1;
Base de datos modificada.
SQL> alter database add logfile member '+EQCAS_REDO' to group 1;
Base de datos modificada.
SQL> select a.GROUP#,a.BYTES/1024/1024,a.STATUS,b.MEMBER
2 from v$log a,v$logfile b
3 where a.GROUP#=b.GROUP#;
GROUP# A.BYTES/1024/1024 STATUS MEMBER
---------- ----------------- ---------------- -------------------------------------------------------
3 100 INACTIVE +EQCAS_REDO/eqcas/onlinelog/group_3.258.783870839
3 100 INACTIVE +EQCAS_REDO/eqcas/onlinelog/group_3.259.783870871
2 100 CURRENT +EQCAS_REDO/eqcas/onlinelog/group_2.264.783868959
2 100 CURRENT +EQCAS_REDO/eqcas/onlinelog/group_2.265.783868959
1 50 INACTIVE +EQCAS_REDO/eqcas/onlinelog/group_1.256.783870683
1 50 INACTIVE +EQCAS_REDO/eqcas/onlinelog/group_1.257.783870769
No hay comentarios:
Publicar un comentario