tablespaces en oracle
DESCRIPTION
Tablespaces en Oracle. Más en http://calejero.blogsome.com/TRANSCRIPT
Tablespaces en Oracle
Jesús Armand Calejero Román
Introducción a los espacios de tablas en Oracle 2
Í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 3
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 4
Espacio de almacenamiento (2)
La estructura es la siguiente:
Introducción a los espacios de tablas en Oracle 5
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 6
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 7
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 8
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 9
Estado del tablespace. Modo online.
Lo contrario a las tablespace en modo offline.
Introducción a los espacios de tablas en Oracle 10
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 11
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 12
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 13
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:
PCTINCREASE Redondeo hacia arriba.MINEXTENTS/MAXEXTENTS Máx. Depende del S.O
Atributo Mínimo Máximo Defecto
INITIAL 2 bloques * 5 bloques
NEXT 1 bloque *
Introducción a los espacios de tablas en Oracle 14
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 15
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 16
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 momentoORA-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 17
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 18
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 19
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)