Sunteți pe pagina 1din 19

Tablespaces en Oracle

Jesús Armand Calejero Román


Índice
 Espacio de almacenamiento
 Tipos de tablespaces
 Estado del tablespace
 Manipulación del tablespace
 Cláusula Storage
 Tablespaces temporales
 Tablespaces read only
 Tablespace de Undo
Introducción a los espacios de tablas en Oracle 2
Espacio de almacenamiento
 Estructura de los tablespace
 En los tablespaces se almacenan los objetos del
esquema de la BD (tablas, índices, etc.),
pudiéndose repartir por varios ficheros.
 Una BD tiene varios tablespaces.
 Un tablespace tiene varios datafiles.
 Un datafile sólo pertenece a un tablespace y un
tablespace sólo pertenece a una BD.

Introducción a los espacios de tablas en Oracle 3


Espacio de almacenamiento (2)
 La estructura es la siguiente:

Introducción a los espacios de tablas en Oracle 4


Tipos de tablespaces
 Tablespace SYSTEM
 Se crea automáticamente al hacer la instalación de Oracle,
o al crear una BD.
 Contiene el diccionario de datos.
 Tablespaces temporales
 Es aquél en el que solamente puede haber objetos
temporales. No se pueden crear objetos permanentes como
pueden ser los índices, las tablas o los segmentos de
rollback.  Optimización operaciones de ordenación.

Introducción a los espacios de tablas en Oracle 5


Tipos de tablespaces (2)
 De tipo deshacer cambios (9i)
 Se utilizan para gestionar poder deshacer las
transacciones incompletas. En versiones
anteriores  Rollback
 Con tamaño de bloque variable (9i)

 De tipo BigFile (10g)

Introducción a los espacios de tablas en Oracle 6


Estado del tablespace
 Un tablespace puede estar en dos estados:
Online y Offline. .

 Existe una vista que nos da información


sobre los tablespaces de nuestra base de
datos.
 select tablespace_name, status from
dba_tablespaces;

Introducción a los espacios de tablas en Oracle 7


Estado del tablespace. Modo
offine.
 Para poder hacer una copia de seguridad del
tablespace estando completamente seguros
de que nadie está modificando los objetos
del tablespace.
 Para poder actualizar una aplicación que se
basa en los objetos de este tablespace sin
que ningún usuario pueda modificar los datos
en medio de la actualización.

Introducción a los espacios de tablas en Oracle 8


Estado del tablespace. Modo
online.
 Lo contrario a las tablespace en modo offline.

Introducción a los espacios de tablas en Oracle 9


Manipulación del tablespace
 Crear un Tablespace.
 Create tablespace prueba datafile
'c:\ORACLEXE\ORADATA\XE\prueba01.dbf' size
100M;
 Aumentar el tamaño del Tablespace.
 Alter database tablespace prueba add datafile
‘c:\oracleexe\oradata\XE\prueba02.dbf' size 50M;
 Alter database datafile
'/users/oradata/orcl/prueba01.dbf' resize 150M;

Introducción a los espacios de tablas en Oracle 10


Manipulación del tablespace (2)
 Borrando un tablespace.
 Para eliminar un tablespace de la base de datos se
debe utilizar la sentencia:
Drop tablespace prueba;

Introducción a los espacios de tablas en Oracle 11


Cláusula Storage
 Todo objeto que tenga ocupación física tiene
esta cláusula.

 El objetivo es definir ciertas propiedades de


almacenamiento para el objeto creado.

Introducción a los espacios de tablas en Oracle 12


Cláusula Storage (2)
 STORAGE( INITIAL entero{K|M} NEXT entero{K|M}
{MINEXTENTS entero} {MAXEXTENTS entero|UNLIMITED}
{PCTINCREASE %entero} )

 Tamaño de los bloques:

Atributo Mínimo Máximo Defecto


INITIAL 2 bloques * 5 bloques
NEXT 1 bloque *
PCTINCREASE  Redondeo hacia arriba.
MINEXTENTS/MAXEXTENTS  Máx. Depende del S.O

Introducción a los espacios de tablas en Oracle 13


Tablespaces temporales
 Para crear un tablespace temporal simplemente hay
que añadir la palabra TEMPORARY a la instrucción
utilizada para crear tablespaces normales.
 Create tablespace prueba datafile
'/users/oradata/orcl/prueba01.dbf' size 100M temporary;
 Alter user nombre_de_usuario temporary tablespace
nombre_de_tablespace;
 Select username, temporary_tablespace from dba_users;
 Select tablespace_name, contents from dba_tablespaces;

Introducción a los espacios de tablas en Oracle 14


Tablespaces read only
 Se pueden consultar los datos de los objetos,
no se puede ni borrar ni insertar nada en
ellos.
 La principal ventaja de un tablespace read
only es que no hace falta hacer backup del
mismo.

Introducción a los espacios de tablas en Oracle 15


Tablespace read only: ejemplo
SQL> alter tablespace DATACURSOxy read only;
Tablespace modificado.
SQL> insert into tabla01 values ('PRIMERA FILA');
ORA-00372: el fichero 3 no puede ser modificado en este momento
ORA-01110: fichero de datos 3: '/u02/oradata/CURSOxy/datacursoxy01.dbf'
SQL> DROP TABLE TABLA01;
Tabla borrada.
SQL> alter tablespace DATACURSOxy read write;
Tablespace modificado.
SQL> insert into tabla02 values ('PRIMERA FILA');
1 fila creada.
SQL> commit;
Validación terminada.

Introducción a los espacios de tablas en Oracle 16


Tablespace de Undo
 Podemos tener varios tablespaces de “undo”,
pero sólo uno de ellos estará.
 No se pueden crear objetos sobre un
tablespace de “undo”.
 Al cambiar de tablespace “undo” activo (con
undo_tablespace), los segmentos de rollback
que contiene el nuevo tablespace pasan a
estar “online”, mientras que los del
tablespace anterior se ponen offline.
Introducción a los espacios de tablas en Oracle 17
Tablespace de Undo (2)
 Se crean de dos formas:
 Mediante create database.
 Mediante create tablespace:
 Create undo tablespace undotbs02 datafile
‘c:\oraclexe\oradata\ex\undo02.dbf’ size 25M reuse
autoextend on;
 Para eliminarlo:
 drop tablespace undotbs02;

Introducción a los espacios de tablas en Oracle 18


Tablespace de Undo (3)
 Parámetros de inicialización de los espacios
de tablas de deshacer:
 Undo_Management (valores MANUAL/AUTO). Si
auto se gestionará de forma automática el espacio
de deshacer. No es dinámico, cuando se cambia
de estado se debe rearrancar la instancia.
 Undo_tablespace (MANUAL/AUTO). En entornos
RAC (Real Application Clusters)

Introducción a los espacios de tablas en Oracle 19

S-ar putea să vă placă și