Migrando el UNDO_TABLESPACE en un Oracle RAC

Cambiar el TABLESPACE UNDO en una instancia dentro de un Oracle Rac es un proceso sencillo, el único paso que debemos considerar es hacer referencia a la instancia que estamos modificando cuando cambiamos el valor del parámetro UNDO_TABLESPACE. A continuación pasos sencillos para realizar esta tarea:
Paso 1: Crearemos nuestro nuevo UNDO_TABLESPACE hacia la nueva dirección:
SQL> create undo tablespace UNDOTBS1_1 datafile '+DATA_SERTEC' size 2G;
Tablespace created.

Paso 2: Verificando los parámetros actuales:
SQL> show parameter undo_tablespace
NAME                                 TYPE        VALUE
------------------------------------ ----------- ----------------
undo_tablespace                      string      UNDOTBS1

Paso 3: Asignando el nuevo tablespace al nodo 1 del RAC
SQL> ALTER SYSTEM SET UNDO_TABLESPACE=UNDOTBS1_1 SCOPE=MEMORY SID='PINCENTP1';
System altered.

Paso 4: Verifiquemos nuevamente los parámetro actuales.
SQL> show parameter UNDO_TABLESPACE

NAME                                 TYPE        VALUE
------------------------------------ ----------- ----------------
undo_tablespace                      string      UNDOTBS1_1


Paso 5: Antes de poder eliminar el anterior UNDO_TABLESPACE debemos cerciorarnos que ya no esté en uso, de lo contrario obtendremos un error
ERROR at line 1:
ORA-30013: undo tablespace ‘UNDOTBS1’ is currently in use
Para verificar utilizamos la siguiente consulta:
SQL> SELECT a.name,b.status
  2  FROM   v$rollname a,v$rollstat b
  3  WHERE  a.usn = b.usn
  4  AND    a.name IN (
  5               SELECT segment_name
  6               FROM dba_segments
  7               WHERE tablespace_name = 'UNDOTBS1'
  8*             )

NAME                                               STATUS
-------------------------------------------------- ---------------
_SYSSMU33_2949601845$                              ONLINE
_SYSSMU34_2709404120$                              ONLINE
_SYSSMU35_3551499137$                              ONLINE
_SYSSMU36_4139794066$                              ONLINE
_SYSSMU37_1565816953$                              ONLINE
_SYSSMU38_148259816$                               ONLINE
_SYSSMU39_1712178816$                              ONLINE
_SYSSMU40_2956967306$                              ONLINE
_SYSSMU41_4227496630$                              ONLINE
_SYSSMU42_232081954$                               ONLINE

Cuando la consulta anterior no devuelva datos, podemos proceder a eliminar el tablespace.
Paso 6: Eliminando tablespace y todo su contenido.
SQL> DROP TABLESPACE UNDOTBS1 INCLUDING CONTENTS AND DATAFILES;
Tablespace dropped.

Para más información sobre la manipulación de parámetros en un ambiente RAC puedes leer mi otra entrada relacionada: http://oraclehomegt.blogspot.com/2016/05/archivo-de-parametros-en-oracle-rac.html 

Comments

Popular posts from this blog

Cómo extraer Archive Logs desde un Backup Piece

Ejemplo práctico con SQL Tuning Advisor y SQL Access Advisor

Guía rápida de uso de Oracle ASMLib