• Categoría: Oracle
  • Visto: 76961

Ratio: 4 / 5

Inicio activadoInicio activadoInicio activadoInicio activadoInicio desactivado
 
Oracle

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 base de datos Oracle que puede contener objetos de esquema, podemos distinguir tres tipos de tablespaces.

 

  • Los 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, datafiles.
  • Los tablespaces de UNDO es un tipo de tablespace permanente utilizado por la de base de datos ORACLE para gestionar datos de UNDO si está ejecutando la 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, Como crear un tablespace de UNDO en Oracle 10g.
  • El tablespace temporal contiene objetos de esquema sólo durante la sesión. Los objetos en tablespaces temporales se almacenan en datafiles temporales, Como crear un tablepspace Temporal en Oracle 10g.

 

La sentencia inversa DROP TABLESPACE sirve para borrar tablespaces, puedes consultar como borrar tablespaces en el artículo, Como Borrar un tablespace en Oracle.

- La sentencia CREATE TABLESPACE tiene una sintaxis con numerosas opciones, es este articulo vamos a ver la forma de crear un tablesapce más usual.

 

La sentencia CREATE TABLESPACE siguiente crea un tablespace en un filesystem,

 


CREATE TABLESPACE DATOS01 DATAFILE '/u03/oradata/PRUEBA01/PRUEBA01_DATOS01_01.dbf' SIZE 100M EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;

 

Si queremos crear un tablespace en modo RAW la sentencia cambia un poco, sustituimos la cláusula SIZE tamaño por REUSE, Oracle lo que hará es crear el tablespace con un datafile del tamaño del RAW que hayamos creado previamente.

 


CREATE TABLESPACE DATOS01 DATAFILE '/u03/oradata/PRUEBA01/PRUEBA01_DATOS01_01.dbf' REUSE EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;

 

- Tablespaces con AUTOEXTEND a ON.

 

Podemos crear tablespaces donde el/los datafiles se vayan extendiendo de forma automática, si lo creamos de esta manera tenemos que tener cuidado en no olvidar la cláusula MAXSIZE, ya que si la omitimos el datafile se extenderá hasta llenar el filesystem donde este creado. En este ejemplo creamos el tablespace con AUTOEXTEND ON , que vaya extendiéndose en tramos de 200K y con un máximo de 200M.

 


CREATE TABLESPACE DATOS01 DATAFILE '/u03/oradata/PRUEBA01/PRUEBA01_DATOS01_01.dbf' SIZE 100M AUTOEXTEND ON NEXT 200K MAXSIZE 200M;

 

La cláusula AUTOEXTED no es aplicable cuando estemos utilizando RAWs para los datafiles.