Los datos expuestos en este blog, son solo de índole informativo. Por favor realiza siempre una copia de seguridad antes de realizar cualquier cambio en tu proyecto.
Oracle/PLSQL: sentencia CREATE TABLESPACE
Este tutorial de Oracle describe cómo usar Oracle CREAR DECLARACIÓN DE TABLESPACE Con sintaxis y ejemplos.
describir
La instrucción CREATE TABLESPACE se utiliza para asignar espacio en la base de datos de Oracle para almacenar objetos de esquema.
La instrucción CREATE TABLESPACE se puede utilizar para crear 3 tipos de espacios de tabla:
- espacio de mesa permanente
- espacio de tabla temporal
- deshacer tablespace
Veremos los 3 tipos de tablespaces.
#1 – Tablespaces permanentes
Los tablespaces permanentes contienen objetos de esquema persistentes almacenados en archivos de datos.
sintaxis
La sintaxis de la sentencia CREATE TABLESPACE al crear un tablespace permanente es:
CREATE [ SMALLFILE | BIGFILE ] TABLESPACE tablespace_name { DATAFILE { [ 'filename' | 'ASM_filename' ] [ SIZE integer [ K | M | G | T | P | E ] ] [ REUSE ] [ AUTOEXTEND { OFF | ON [ NEXT integer [ K | M | G | T | P | E ] ] [ MAXSIZE { UNLIMITED | integer [ K | M | G | T | P | E ] } ] } ] | [ 'filename | ASM_filename' | ('filename | ASM_filename' [, 'filename | ASM_filename' ] ) ] [ SIZE integer [ K | M | G | T | P | E ] ] [ REUSE ] } { MINIMUM EXTENT integer [ K | M | G | T | P | E ] | BLOCKSIZE integer [ K ] | { LOGGING | NOLOGGING } | FORCE LOGGING | DEFAULT [ { COMPRESS | NOCOMPRESS } ] storage_clause | { ONLINE | OFFLINE } | EXTENT MANAGEMENT { LOCAL [ AUTOALLOCATE | UNIFORM [ SIZE integer [ K | M | G | T | P | E ] ] ] | DICTIONARY } | SEGMENT SPACE MANAGEMENT { AUTO | MANUAL } | FLASHBACK { ON | OFF } [ MINIMUM EXTENT integer [ K | M | G | T | P | E ] | BLOCKSIZE integer [ K ] | { LOGGING | NOLOGGING } | FORCE LOGGING | DEFAULT [ { COMPRESS | NOCOMPRESS } ] storage_clause | { ONLINE | OFFLINE } | EXTENT MANAGEMENT { LOCAL [ AUTOALLOCATE | UNIFORM [ SIZE integer [ K | M | G | T | P | E ] ] ] | DICTIONARY } | SEGMENT SPACE MANAGEMENT { AUTO | MANUAL } | FLASHBACK { ON | OFF } ] }
SMALLFILE Un tablespace que contiene 1022 datos o archivos temporales (cada archivo puede tener un tamaño de hasta 4 millones de bloques). Este es el tamaño más común para crear tablespaces. BIGFILE Un tablespace que contiene solo un archivo temporal o de datos (este archivo puede tener un tamaño de hasta 4 millones de bloques).
propina: Si se omite la opción SMALLFILE o BIGFILE, la base de datos de Oracle utilizará el tipo de espacio de tabla predeterminado.
tablespace_name El nombre del tablespace a crear. La sintaxis para cláusula_almacenamiento cláusula_almacenamiento es:
STORAGE ({ INITIAL integer [ K | M | G | T | P | E ] | NEXT integer [ K | M | G | T | P | E ] | MINEXTENTS integer | MAXEXTENTS { integer | UNLIMITED } | PCTINCREASE integer | FREELISTS integer | FREELIST GROUPS integer | OPTIMAL [ integer [ K | M | G | T | P | E ] | NULL ] | BUFFER_POOL { KEEP | RECYCLE | DEFAULT } } [ INITIAL integer [ K | M | G | T | P | E ] | NEXT integer [ K | M | G | T | P | E ] | MINEXTENTS integer | MAXEXTENTS { integer | UNLIMITED } | PCTINCREASE integer | FREELISTS integer | FREELIST GROUPS integer | OPTIMAL [ integer [ K | M | G | T | P | E ] | NULL ] | BUFFER_POOL { KEEP | RECYCLE | DEFAULT } ] )
Ejemplo: Tablespace permanente
La siguiente es la declaración CREATE TABLESPACE para crear un tablespace permanente simple:
CREATE TABLESPACE tbs_perm_01 DATAFILE 'tbs_perm_01.dat' SIZE 20M ONLINE;
Esta instrucción CREATE TABLESPACE crea un tablespace permanente denominado tbs_perm_01 con un archivo de datos denominado tbs_perm_01.dat.
La siguiente es una instrucción CREATE TABLESPACE que crea un tablespace permanente que se expandirá cuando se necesite más espacio:
CREATE TABLESPACE tbs_perm_02 DATAFILE 'tbs_perm_02.dat' SIZE 10M REUSE AUTOEXTEND ON NEXT 10M MAXSIZE 200M;
Esta sentencia CREATE TABLESPACE crea un tablespace permanente llamado tbs_perm_02 con un archivo de datos llamado tbs_perm_02.dat. Cuando se requiera más espacio, se agregarán automáticamente 10 millones de extensiones hasta alcanzar los 200 MB.
La siguiente es una instrucción CREATE TABLESPACE que crea un tablespace permanente BIGFILE que se expandirá cuando se necesite más espacio:
CREATE BIGFILE TABLESPACE tbs_perm_03 DATAFILE 'tbs_perm_03.dat' SIZE 10M AUTOEXTEND ON;
Esta instrucción CREATE TABLESPACE crea un tablespace permanente BIGFILE denominado tbs_perm_03 con un archivo de datos denominado tbs_perm_03.dat.
#2 – Tablespace temporal
Los espacios de tablas temporales contienen objetos de esquema almacenados en archivos temporales que existen durante la sesión.
sintaxis
La sintaxis de la sentencia CREATE TABLESPACE cuando se crea un tablespace temporal es:
CREATE [ SMALLFILE | BIGFILE ] TEMPORARY TABLESPACE tablespace_name [ TEMPFILE { [ 'filename' | 'ASM_filename' ] [ SIZE integer [ K | M | G | T | P | E ] ] [ REUSE ] [ AUTOEXTEND { OFF | ON [ NEXT integer [ K | M | G | T | P | E ] ] [ MAXSIZE { UNLIMITED | integer [ K | M | G | T | P | E ] } ] } ] | [ 'filename | ASM_filename' | ('filename | ASM_filename' [, 'filename | ASM_filename' ] ) ] [ SIZE integer [ K | M | G | T | P | E ] ] [ REUSE ] } [ TABLESPACE GROUP { tablespace_group_name | '' } ] [ EXTENT MANAGEMENT { LOCAL [ AUTOALLOCATE | UNIFORM [ SIZE integer [ K | M | G | T | P | E ] ] ] | DICTIONARY } ]
SMALLFILE Un tablespace que contiene 1022 datos o archivos temporales (cada archivo puede tener un tamaño de hasta 4 millones de bloques). Este es el tamaño más común para crear tablespaces. BIGFILE Un tablespace que contiene solo un archivo temporal o de datos (este archivo puede tener un tamaño de hasta 4 millones de bloques).
propina: Si se omite la opción SMALLFILE o BIGFILE, la base de datos de Oracle utilizará el tipo de espacio de tabla predeterminado.
tablespace_name El nombre del tablespace a crear.
Ejemplo: Tablespace temporal
La siguiente es la instrucción CREATE TABLESPACE que crea un tablespace temporal:
CREATE TEMPORARY TABLESPACE tbs_temp_01 TEMPFILE 'tbs_temp_01.dbf' SIZE 5M AUTOEXTEND ON;
Esta instrucción CREATE TABLESPACE crea un tablespace temporal llamado tbs_temp_01 con un archivo temporal llamado tbs_temp_01.dbf.
#3 – Deshacer Tablespace
Si la base de datos de Oracle se ejecuta en el modo de gestión de deshacer automático, se crea un tablespace de deshacer para gestionar los datos de deshacer.
sintaxis
La sintaxis de la instrucción CREATE TABLESPACE al crear un tablespace de deshacer es:
CREATE [ SMALLFILE | BIGFILE ] UNDO TABLESPACE tablespace_name [ DATAFILE { [ 'filename' | 'ASM_filename' ] [ SIZE integer [ K | M | G | T | P | E ] ] [ REUSE ] [ AUTOEXTEND { OFF | ON [ NEXT integer [ K | M | G | T | P | E ] ] [ MAXSIZE { UNLIMITED | integer [ K | M | G | T | P | E ] } ] } ] | [ 'filename | ASM_filename' | ('filename | ASM_filename' [, 'filename | ASM_filename' ] ) ] [ SIZE integer [ K | M | G | T | P | E ] ] [ REUSE ] } [ EXTENT MANAGEMENT { LOCAL [ AUTOALLOCATE | UNIFORM [ SIZE integer [ K | M | G | T | P | E ] ] ] | DICTIONARY } ] [ RETENTION { GUARANTEE | NOGUARANTEE } ]
SMALLFILE Un tablespace que contiene 1022 datos o archivos temporales (cada archivo puede tener un tamaño de hasta 4 millones de bloques). Este es el tamaño más común para crear tablespaces. BIGFILE Un tablespace que contiene solo un archivo temporal o de datos (este archivo puede tener un tamaño de hasta 4 millones de bloques).
propina: Si se omite la opción SMALLFILE o BIGFILE, la base de datos de Oracle utilizará el tipo de espacio de tabla predeterminado.
tablespace_name El nombre del tablespace a crear.
Ejemplo – UNDO TABLESPACE
La siguiente es la instrucción CREATE TABLESPACE que crea el tablespace de deshacer:
CREATE UNDO TABLESPACE tbs_undo_01 DATAFILE 'tbs_undo_01.f' SIZE 5M AUTOEXTEND ON RETENTION GUARANTEE;
Esta instrucción CREATE TABLESPACE crea un tablespace de deshacer denominado tbs_undo_01 que tiene un tamaño de 5 MB y tiene un archivo de datos denominado tbs_undo_01.f.