0% encontró este documento útil (0 votos)
226 vistas24 páginas

Introducción a Tablespaces en Oracle

Un tablespace es una unidad lógica de almacenamiento en Oracle que puede contener objetos de la base de datos como tablas e índices. Un tablespace está formado por uno o más datafiles que almacenan la información físicamente. Existen diferentes tipos de tablespaces como SYSTEM, TEMPORALES y UNDO.

Cargado por

carlos
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
226 vistas24 páginas

Introducción a Tablespaces en Oracle

Un tablespace es una unidad lógica de almacenamiento en Oracle que puede contener objetos de la base de datos como tablas e índices. Un tablespace está formado por uno o más datafiles que almacenan la información físicamente. Existen diferentes tipos de tablespaces como SYSTEM, TEMPORALES y UNDO.

Cargado por

carlos
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

TABLESPACES EN ORACLE

JULIÁN JOSÉ TORRES ZABALA


PEDRO JAVIER SILVA
CRISTIAN CAMILO RAMIREZ
JULIAN ARJONA

UNIVERSIDAD DEL TOLIMA


INGENERIA DE SISTEMAS VI SEMESTRE
2009

Modificado para docencia – I.E.S. Castelar


ÍNDICE
 Espacio de almacenamiento
 Tipos de tablespaces

 Estado del tablespace

 Manipulación del tablespace

 Cláusula Storage

 Tablespaces temporales

Introducción a los espacios de tablas en Oracle


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


ESPACIO DE ALMACENAMIENTO

 La estructura es la siguiente:

Introducción a los espacios de tablas en Oracle


ESPACIO DE ALMACENAMIENTO
TABLESPACE
Un tablespace es el nombre que tiene un conjunto de propiedades
de almacenamiento que se aplican a los objetos (tablas, índices…)
que se crean en la base de datos bajo el tablespace indicado (tablas,
secuencias…). Una base de datos se divide en unidades lógicas
denominadas TABLESPACES.

Introducción a los espacios de tablas en Oracle


ESPACIO DE ALMACENAMIENTO
DATAFILE
Un datafile es un "fichero de datos" donde se almacena la
información físicamente. Puede tener cualquier nombre y extensión
(siempre dentro de las limitaciones del SO), y puede estar localizado
en cualquier directorio del disco duro, además está asociado a un
solo tablespace y un tablespace está asociado a uno o varios
datafiles.

Los datafiles tienen una propiedad llamada AUTOEXTEND, que en


caso de que está activa, se encarga de que el datafile crezca
automáticamente cada vez que se necesite espacio.
Aunque el datafile esté vacio, tiene el tamaño en disco que ha sido
indicado en su creación o el que el sistema le ha dado por defecto.
Oracle hace esto para direccionar espacio continuo en disco y evitar
así la fragmentación. 6

Introducción a los espacios de tablas en Oracle


ESPACIO DE ALMACENAMIENTO
SEGMENT
Un segmento es el espacio direccionado por la base de datos
dentro de un datafile para ser utilizado por un solo objeto. Así
una tabla (o cualquier otro objeto) está dentro de su segment, y
nunca podrá salir de él, ya que si la tabla crece, el segment también
crece.

En pocas palabras, el segmento es la representación física del


objeto en base de datos. Existen varios tipos de segmentos
(principalmente):
 Segmentos de DATOS: contienen tablas
 Segmentos de ÍNDICE: contienen índices
 Segmentos de ANULACIÓN: se usan para almacenar
información de la transacción activa.
7
 Segmentos TEMPORALES: almacenan datos intermedios
Introducción a los espacios de tablas en Oracle
ESPACIO DE ALMACENAMIENTO
EXTENT
Una extensión es un espacio de disco que se direcciona de una
sola vez, es decir un segmento que se direcciona en un momento
determinado.
El concepto de extent es un concepto físico; unos extents están
separados de otros dentro del disco.
Hay dos tipos de extents:
 INITIAL (extensiones iniciales): extensiones que se direccionan en
el momento de la creación del objeto. Una vez que un objeto está
creado, no se puede modificar su extensión inicial.
 NEXT (siguientes o subsiguientes extensiones): toda extensión
direccionada después de la creación del objeto, cuando se agota el
espacio y hay que ampliarlo.

Introducción a los espacios de tablas en Oracle


ESPACIO DE ALMACENAMIENTO
DATA BLOCK
El concepto de data block es un concepto físico, ya que representa
la mínima unidad de almacenamiento que es capaz de manejar
Oracle, además es el último eslabón en la cadena de
almacenamiento.
En un disco duro no es posible que un fichero pequeño ocupe menos
de lo que indique la unidad de asignación, así si la unidad de
asignación es de 4 Kb, un fichero que ocupe 1 Kb, en realidad ocupa
4 Kb.

Introducción a los espacios de tablas en Oracle


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 TEMP (temporales)
 Guardan datos temporales usados durante el
procesamiento interno.
 Tablespaces UNDO (deshacer cambios)
 Almacenan información necesaria para deshacer
transacciones incompletas (rollback) o recuperar una
caida del sistema.
10

Introducción a los espacios de tablas en Oracle


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;

11

Introducción a los espacios de tablas en Oracle


ESTADO DE TABLESPACE (MODO OFFLINE Y MODO ONLINE)

 Modo ONLINE:Los datos del tablespace están a


disposición de los aplicaciones y de las bases de
datos (para poder hacer una copia de seguridad
del tablespace o actualizar una aplicación que se
basa en los objetos de este tablespace ).

 Modo OFFLINE: Los datos del tablespace no


están a disposición de los usuarios aunque la
base de datos está disponible.

12

Introducción a los espacios de tablas en Oracle


MANIPULACIÓN DEL TABLESPACE
 Crear un Tablespace.
 Create tablespace prueba datafile
‘C:\ORACLEXE\ORADATA\prueba01.dbf' size
100M;
 Aumentar el tamaño del Tablespace.

 Alter tablespace prueba add datafile


‘c:\oraclexe\oradata\prueba02.dbf' size 50M;

 Alter database datafile


'c:\oraclexe\oradata\prueba01.dbf' resize 150M;

13

Introducción a los espacios de tablas en Oracle


MANIPULACIÓN DEL TABLESPACE
 Borrando un tablespace.
 Para eliminar un tablespace de la base de datos se
debe utilizar la sentencia:
Drop tablespace prueba
INCLUDING CONTENTS
[AND DATAFILES];

14

Introducción a los espacios de tablas en Oracle


CLAÚSULA STORAGE

Esta clausula aparece al final de la definición de los objetos de


almacenamiento de la base de datos (tablas, indices, etc...).
Cuando creamos un tablespace (CREATE TABLESPACE)
podemos definir un storage por defecto para los objetos que se

Oracle
Introducción a los espacios de tablas en
creen dentro de el.

STORAGE opciones:

INITIAL int K | M
NEXT int K | M
MINEXTENTS int
MAXEXTENTS int
MAXEXTENTS UNLIMITED
PCTINCREASE int

15
CLAÚSULA STORAGE

 initial
Especifica el tamaño (en bytes) de la primera extensión.

Oracle
Introducción a los espacios de tablas en
 next
Especifica el tamaño (en bytes) de la segunda extensión.
 pctincrease
Especifica el % de incremento en el tamaño de las
siguientes extensiones.
 minextents
Especifica el numero inicial de extensiones cuando se crea
el objeto.
 maxextents
Especifica el numero máximo de extensiones que el objeto 16
puede tener.
CLAÚSULA STORAGE
Ejemplo:

Oracle
Introducción a los espacios de tablas en
storage
( initial 65536 K
next 1048576 K
minextents 1
maxextents 2147483645
pctincrease 0 )
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 TEMPORARY tablespace pruebaTemp tempfile


‘c:\oraclexe\oradata\prueba01_TEMP.dbf' size 100M;

• Select tablespace_name, contents from dba_tablespaces;


COMO CREAR UN TABLESPACE EN ORACLE 11G.

La sentencia CREATE TABLESPACE sirve para crear


un tablespace en una base de datos Oracle.
Un tablespace es una asignación lógica de espacio en la

Oracle
Introducción a los espacios de tablas en
base de datos Oracle que puede contener objetos de
esquema.
Podemos distinguir tres tipos de tablespaces.

 Tablespaces permanentes: contienen objetos,


tablas, índices, etc. de un o más esquemas. Los
objetos en los tablespaces permanentes se almacenan
en archivos de datos o datafiles.
 Tablespaces UNDO
tipo de tablespace permanente utilizado por la base de datos
ORACLE para gestionar datos de UNDO si está ejecutando la

Oracle
Introducción a los espacios de tablas en
base de datos en modo automático de gestión de UNDO.
Oracle recomienda que uso automático de gestión de UNDO
en lugar de usar segmentos de rollback para UNDO.
 Tablespace temporal
contiene objetos de esquema sólo durante la sesión. Los
objetos en tablespaces temporales se almacenan en datafiles
temporales (tempfiles).
 La sentencia CREATE TABLESPACE tiene una
sintaxis con numerosas opciones:

Oracle
Introducción a los espacios de tablas en
La sentencia CREATE TABLESPACE siguiente crea
un tablespace en un filesystem,

CREATE TABLESPACE DATOS01


DATAFILE ‘C:\...\PRUEBA01_DATOS01_01.dbf'
SIZE 100M
EXTENT MANAGEMENT LOCAL
SEGMENT SPACE MANAGEMENT AUTO;
Tablespaces con AUTOEXTEND ON.
Podemos crear tablespaces donde el/los datafiles se vayan
extendiendo de forma automática.

Oracle
Introducción a los espacios de tablas en
No debemos olvidar la cláusula MAXSIZE, ya que si la
omitimos el datafile se extenderá hasta llenar el filesystem
donde este creado.
Ejemplo: creamos un tablespace con AUTOEXTEND ON,
para que vaya extendiéndose en tramos de 200K y con un
máximo de 200M.
CREATE TABLESPACE DATOS01
DATAFILE ‘C:\...\PRUEBA01_DATOS01_01.dbf'
SIZE 100M
22
AUTOEXTEND ON NEXT 200K MAXSIZE 200M;
 La sentencia CREATE UNDO TABLESPACE tiene una
sintaxis con numerosas opciones:

Oracle
Introducción a los espacios de tablas en
La sentencia CREATE UNDO TABLESPACE siguiente
crea un tablespace en un filesystem,

CREATE UNDO TABLESPACE undotbs1


DATAFILE ‘C:\...PRUEBA1_UNDOTBS01.dbf' SIZE 3
00M;
 La sentencia CREATE TEMPORARY TABLESPACE
tiene una sintaxis con numerosas opciones:

Oracle
Introducción a los espacios de tablas en
La sentencia CREATE TEMPORARY TABLESPACE
siguiente crea un tablespace en un filesystem,

CREATE TEMPORARY TABLESPACE TEMP_2


TEMPFILE ‘C:\...\PRUEBA1_TEMP.dbf' SIZE 150M

También podría gustarte