El documento describe el modelo de almacenamiento de Oracle, incluyendo segmentos, tablespaces y datafiles. Los datos se almacenan lógicamente en segmentos y físicamente en datafiles. Un tablespace es una estructura lógica que puede contener múltiples segmentos y estar contenido en varios datafiles.
La Gatera de la Villa nº 51. Revista cultural sobre Madrid..
Estructuras de almacenamiento de Oracle 11g R2
1. Gestión de las estructuras de almacenamiento
ADMINISTRACIÓN DE ORACLE 11G
Carmen Soler Chorro - http://www.linkedin.com/in/casoch 1
2. INTRODUCCIÓN
En el capítulo anterior, nos centramos en la
instancia, pero dejamos de lado el
almacenamiento físico de datos.
La base de datos consiste el 3 tipos de
ficheros:
Elcontrolfile
Los online redo log files
Los datafiles
Carmen Soler Chorro - http://www.linkedin.com/in/casoch 2
3. EL MODELO DE ALMACENAMIENTO
Los datos se almacenan
A nivel lógico En SEGMENTOS
A nivel físico En DATAFILES
Un tablespace es una estructura lógica que:
Puede contener muchos segmentos
Puede estar contenido en varios datafiles
Se identifica por un nombre que debe ser único
dentro de la base de datos.
Al decir datafile, nos podemos referir a:
Ficheros físicos del sistema operativo
Carmen Soler Chorro - http://www.linkedin.com/in/casoch 3
4. EL MODELO DE ALMACENAMIENTO
Carmen Soler Chorro - http://www.linkedin.com/in/casoch 4
5. EL MODELO DE ALMACENAMIENTO
Según la imagen, vemos también que:
Un segmento o parte de segmento, puede estar
en más de un datafile.
Pero puede estar en un solo tablespace.
Los segmentos son objetos identificados por un
nombre, que deben almacenan datos.
No se consideran segmentos los procedures, las
vistas o las secuencias, porque no almacenan datos.
Carmen Soler Chorro - http://www.linkedin.com/in/casoch 5
6. EL MODELO DE ALMACENAMIENTO
Carmen Soler Chorro - http://www.linkedin.com/in/casoch 6
7. EL MODELO DE ALMACENAMIENTO
Un datafile está formado físicamente por
bloques del sistema operativo.
Esto implica las limitaciones propias del operativo.
Por ejemplo, FAT tiene un límite de 4GB por fichero.
Desde el operativo también podemos cambiar el
tamaño del bloque. En NTFS puede ir entre 512B y
64KB. Se suele dejar a 512B.
Carmen Soler Chorro - http://www.linkedin.com/in/casoch 7
8. EL MODELO DE ALMACENAMIENTO
Todos los datos de la base de datos se almacenan en
segmentos.
Existe una vista del diccionario de datos, llamada
DBA_SEGMENTS, que tiene la descripción de cada uno
de los segmentos de la base de datos.
Esta es una consulta para ver qué tipos de segmentos
existen en nuestra base de datos y cuántos hay de cada
tipo:
select segment_type, count(*)
from dba_segments
group by segment_type
order by segment_type;
Carmen Soler Chorro - http://www.linkedin.com/in/casoch 8
9. EL MODELO DE ALMACENAMIENTO
TABLE
Es la estructura lógica con la que hemos trabajado hasta ahora
No tiene porqué coincidir con un segmento exactamente.
INDEX
Son punteros que sirven para localizar rápidamente, dentro de un datafile, las filas de una
tabla.
TABLE PARTITION
Si una tabla es muy grande, se puede particionar en varios segmentos.
Entonces, la tabla estará formada por varios segmentos.
A su vez, estos segmentos, pueden estar situados en diferentes tablespaces.
INDEX PARTITION
Lo mismo que los índices anteriores pero para tablas particionadas.
CLUSTER
Es un segmento que puede contener más de una tabla.
Lo contrario que una tabla particionada.
NESTED TABLE
Se utiliza cuando el DBA define tipos de datos propios.
Carmen Soler Chorro - http://www.linkedin.com/in/casoch 9
10. EL MODELO DE ALMACENAMIENTO
Segmentos para recuperar datos:
TYPE2 UNDO
ROLLBACK
Segmentos para indexar tipos de gran
capacidad:
LOBSEGMENT
LOGINDEX
LOB PARTITION
Carmen Soler Chorro - http://www.linkedin.com/in/casoch 10
11. CREAR Y GESTIONAR TABLESPACES
Un tablespace es un grupo lógico de uno o más
ficheros físicos.
Tipos de tablespaces:
Permanentes
Para guardar datos de sistema o de usuario
Temporales
Para mejorar la concurrencia cuando hay muchas operaciones y
reducir la sobrecarga
Lo gestiona Oracle
Undo
Autogestionado por Oracle
Este tablespace contiene siempre una copia consistente de la
base de datos.
Carmen Soler Chorro - http://www.linkedin.com/in/casoch 11
12. TALLER 1
Asignación de espacio a las tablas
Carmen Soler Chorro - http://www.linkedin.com/in/casoch 12
13. TALLER 2
Ver qué tablespaces tiene Oracle por defecto.
Carmen Soler Chorro - http://www.linkedin.com/in/casoch 13
14. TALLER 3
Creación de un tablespace
Carmen Soler Chorro - http://www.linkedin.com/in/casoch 14
15. TALLER 4
Modificación de un tablespace ya creado
Carmen Soler Chorro - http://www.linkedin.com/in/casoch 15
16. TALLER 5
Eliminar un tablespace
Carmen Soler Chorro - http://www.linkedin.com/in/casoch 16