• Categoría: Oracle
  • Visto: 18689

Ratio: 4 / 5

Inicio activadoInicio activadoInicio activadoInicio activadoInicio desactivado
 
Oracle

Procedimiento para recrear el tablespace de UNDO en Oracle 10g.

 

Resumen: En el proceso crearemos un tablespace temporal de UNDO, activaremos el tablespace de UNDO temporal, verificaremos el estado de los segmentos, borraremos, crearemos y activaremos el tablespace de UNDO original con el tamaño deseado, finalmente borraremos el tablespace de UNDO temporal.

 

BBDD: La base de datos tenemos que tenerla arrancada en modo exclusive.

 

Herramientas: SQLPLUS

 

1) Creación del tablespace comodín o temporal de UNDO.

 


CREATE UNDO TABLESPACE UNDO_TMP DATAFILE '/Oracle/oradata/prueba/undo_tmp.dbf' SIZE 100M;

 

 

2) Activar el tablespace que hemos creado.

 


ALTER SYSTEM SET UNDO_TABLESPACE='UNDO_TMP' SID='PRUEBA';

 

El parámetro UNDO_TABLESPACE es dinámico por lo que no necesitamos rearrancar la BBDD para que tome efecto el cambio.

 

Vamos a verificar que todo va bien 


show parameter undo
NAME            TYPE    VALUE
--------------- ------- --------
undo_management string    AUTO
undo_retention  integer 900
undo_tablespace string  UNDO_TMP


 

Bien, ya tenemos nuestro UNDO_TMP como UNDO tablespace activo.

 

3) Comprobación de segmentos en tablespace UNDO original.

 


SELECT SEGMENT_NAME,TABLESPACE_NAME,STATUS
FROM DBA_ROLLBACK_SEGS
WHERE TABLESPACE_NAME='UNDOTBS1';

SEGMENT_NAME TABLESPACE_NAME STATUS
——————– ————————- —————-
_SYSSMU3$ UNDOTBS1 OFFLINE
_SYSSMU4$ UNDOTBS1 OFFLINE
_SYSSMU15$ UNDOTBS1 OFFLINE
_SYSSMU6$ UNDOTBS1 OFFLINE
_SYSSMU7$ UNDOTBS1 OFFLINE
_SYSSMU2$ UNDOTBS1 OFFLINE
_SYSSMU9$ UNDOTBS1 OFFLINE
_SYSSMU0$ UNDOTBS1 OFFLINE


 

Ya podemos eliminar el tablespace de UNDO original.

 

4) Eliminar el tablespace UNDO original. 

 


DROP TABLESPACE UNDOTBS1 INCLUDING CONTENTS AND DATAFILES;

 

5) Creación del tablespace UNDO original con su tamaño adecuado.

 

Para datafile en modo filesystem:

 


CREATE SMALLFILE UNDO TABLESPACE "UNDOTBS1" DATAFILE '/Oracle/oradata/prueba/prueba_undotbs01.dbf' SIZE 1024M;

 

Para datafile en modo raw tendremos que recrearlo al tamaño que deseemos previamente: 

 


CREATE SMALLFILE UNDO TABLESPACE "UNDOTBS1" DATAFILE '/Oracle/oradata/prueba/prueba_undotbs01A.dbf' REUSE;

 

6) Cambio del tablaspace UNDO al original.

 


ALTER SYSTEM SET UNDO_TABLESPACE='UNDOTBS1' SID='PRUEBA';

 

7) Borrado del tablespace de UNDO comodín o temporal. 

 


DROP TABLESPACE UNDO_TMP INCLUDING CONTENTS AND DATAFILES;

 

 

Nota

Compatibilidad: Oracle 10g y Oracle 11g