Cambiando el tablespace UNDO

Por cuestiones de espacio en disco, por llevar un estándar en los nombres de tablespace o alguna otra razón, podríamos requerir cambiar el tablespace UNDO. Aquí muestro cómo se puede hacer:

Para iniciar, supongamos que tenemos un tablespace UNDOTBS, pero este se ha llenado y no puedo hacer mucho espacio en donde reside su data file:

SQL> star tbs
SQL> set echo off
------------------------------------------------------------------------------|
Script:  Tbs | Muestra los Tablespaces de la base de datos con tama±os.
Uso:     tbs
Nota:    Si sugerencia > 0, agregar espacio al TBS para estar al 85% al menos.
------------------------------------------------------------------------------| 
Tablespaces del sistema
----------------------------------
TBS                             TOTAL       LIBRE       USADO PORC_USADO  SUGERENCIA
------------------------- ----------- ----------- ----------- ---------- -----------
DATOS                             700          50         650         93          65
INDICES                           500         492           8          2        -491
SYSAUX                            300         203          97         32        -186
SYSTEM                            300         104         196         65         -69
TEMP                              500         492           8          2        -491
UNDOTBS                         2,048

Nota, Como se puede ver, estoy usando uno de mis Scripts útiles para un DBA.

Generalmente, este problema se puede resolver agregando más espacio a dicho tablespace y/o revisando qué consulta es la que está consumiendo tanto  del mismo y corregirla. Para efectos del tema que trata el presente post, vamos a suponer que requerimos crear un nuevo tablespace, por lo que debemos acudir a los siguientes pasos para resolverlo:

1. Crear un nuevo tablespace UNDO. Para realizar esto, nos basamos en la instrucción create undo tablespace:

SQL> create undo tablespace undo datafile 'E:\ORACLE\PRODUCT\ADMIN\ORADATA\UNDO01.DBF'
  size 500m;

Tablespace created.

SQL> star tbs

Tablespaces del sistema
----------------------------------
TBS                             TOTAL       LIBRE       USADO PORC_USADO  SUGERENCIA
------------------------- ----------- ----------- ----------- ---------- -----------
DATOS                             700          50         650         93          65
INDICES                           500         492           8          2        -491
SYSAUX                            300         203          97         32        -186
SYSTEM                            300         104         196         65         -69
TEMP                              500         492           8          2        -491
UNDO                              500         499           1          0        -498
UNDOTBS                         2,048

7 rows selected.

2. Hacerle saber a Oracle que nuestro tablespace tomará la labor de UNDO en el sistema. En mi ejemplo, tengo mi base de datos en spfile (ver Pfile vs Spfile):

SQL> alter system set undo_tablespace = undo scope = both;

System altered.

SQL> show parameter undo

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
undo_management                      string      AUTO
undo_retention                       integer     900
undo_tablespace                      string      UNDO

3. Eliminar el anterior tablespace UNDO:

SQL> drop tablespace undotbs including contents and datafiles cascade constraints;

Tablespace dropped.

Con esos sencillos pasos podrán cambiar el tablespace UNDO de su base de datos.

Si la información de este post te ha sido de utilidad o quieres que agregue algo más, deja por favor un comentario, contestaré a la brevedad.

Anuncios

One Response to Cambiando el tablespace UNDO

  1. Pingback: Articulo Indexado en la Blogosfera de Sysmaya

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: