TABLESPACES EN ORACLE
JULIÁN JOSÉ TORRES ZABALAPEDRO JAVIER SILVA
CRISTIAN CAMILO RAMIREZJULIAN ARJONA
UNIVERSIDAD DEL TOLIMAINGENERIA DE SISTEMAS VI SEMESTRE
2009
ÍNDICE
Espacio de almacenamiento Tipos de tablespaces Estado del tablespace Manipulación del tablespace Cláusula Storage Tablespaces temporales Tablespaces read only
2
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.
3
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
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.
5
Introducción a los espacios de tablas en Oracle
TIPOS DE TABLESPACES
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)
6
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;
7
Introducción a los espacios de tablas en Oracle
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.
8
Introducción a los espacios de tablas en Oracle
ESTADO DEL TABLESPACE ( MODO ONLINE)
Lo contrario a las tablespace en modo offline
9
Introducción a los espacios de tablas en Oracle
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;
10
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;
11
Introducción a los espacios de tablas en Oracle
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; 12
Introducción a los espacios de tablas en Oracle
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.
13
Intro
du
cción
a lo
s esp
acio
s de
tab
las e
n
Ora
cle
TABLESPACE READ ONLY: EJEMPLO
14
Introducción a los espacios de tablas en Oracle
SQL> alter tablespace DATACURSO read only;Tablespace modificado.SQL> insert into tabla01 values ('PRIMERA FILA');ORA-00372: el fichero 3 no puede ser modificado en este momentoORA-01110: fichero de datos 3: '/u02/oradata/CURSOxy/datacursoxy01.dbf'SQL> DROP TABLE TABLA01;Tabla borrada.SQL> alter tablespace DATACURSO read write;Tablespace modificado.SQL> insert into tabla02 values ('PRIMERA FILA');1 fila creada.SQL> commit;Validación terminada.