PDF de programación - Administración de Bases de Datos

Imágen de pdf Administración de Bases de Datos

Administración de Bases de Datosgráfica de visualizaciones

Actualizado el 21 de Marzo del 2018 (Publicado el 28 de Septiembre del 2017)
916 visualizaciones desde el 28 de Septiembre del 2017
552,5 KB
44 paginas
Creado hace 18a (05/10/2005)
Departamento de Lenguajes y Ciencias de la
Computación Universidad de Málaga

Administración de

Bases de Datos

(Ingeniería Técnica en Informática de Gestión)

Conceptos sobre Administración

del SGBD Oracle

E.T.S.I. Informática

J. Galindo Gómez

El SGBD ORACLE

• Estructuras básicas:

Bibliografía: La mejor
sobre este tema es,
aunque está en inglés, el
Manual de Oracle de la
última versión.

– E. Física: Almacenamiento de datos.
– E. Lógica: Rep. de los datos y sus relaciones (esquema conceptual).

• Estructura Lógica de una BD Oracle:

– Objetos del esquema (schema objects): Definición de tablas, vistas, índices,

sinónimos, procedimientos almacenados...

– Espacios de Tablas (tablespaces): Es un área lógica de almacenamiento.

Informan cómo debe ser utilizado el espacio físico de la Bd.


• Describen el almacenamiento físico, gestionando el espacio físico que usa la BD.
• Cada BD tiene al menos un tablespace, aunque puede tener más para mejorar su

gestión (uno para usuarios, aplicaciones, rollback...).

• Cada tablespace pertenece sólo a una BD y se divide en 1 ó más ficheros de datos.
• Estructura Física de una BD Oracle: Tipos de Ficheros (datafiles):

– Datos: Existen uno o más ficheros que contienen los datos actuales.
– Ficheros del Registro de Rehacer (redo log): Registran los cambios efectuados, para

poder efectuar operaciones de recuperación (recovery).

– Ficheros de Control: Información general, como nombre de la BD, nombres de sus

ficheros, sus localizaciones, fecha de creación, histórico de backups...

– Ficheros para Rastrear (trace files) y para Registrar Alarmas (alert log): Se registran

las operaciones por las que han pasado determinados procesos y los eventos
importantes acaecidos a la BD.

2

1

Instancias de ORACLE (Oracle Instance)



Instancia o Servidor de BD: Conjunto de estructuras de memoria y
procesos que acceden a los archivos de una BD. Distintas instancias
pueden acceder a la misma BD.
– System Global Area (SGA): Es un área de memoria con la información
de la BD que pueden compartir los usuarios. Se crea cuando se empieza
a usar una BD concreta. Puede verse alguna información desde
SQL*PLUS, usando el comando SHOW SGA. Esta compuesta por:

• Caché de BD: Con los bloques de BD más recientemente accedidos,

para reducir los accesos a disco.

• Buffer del Registro de Rehacer, para el fichero de redo log.
• Memoria compartida: Para consultas SQL y otros procesos.

– Program Global Area (PGA): Buffer de memoria con información sobre

los procesos.

– Procesos de Usuario: Aplicaciones que ejecuta el usuario.
– Procesos de Oracle: Procesos del servidor (para atender a los

usuarios...) y procesos de segundo plano (background), para tareas de
registro, monitorización...

Iniciar/Finalizar ORACLE



Inicialización (Startup): Es necesaria
para que el SGBD pueda utilizarse.
Pasos:
– Crear una Instancia: Crear el SGA

y los procesos de background.

– Montar una BD: Asocia la instancia ya

creada a una BD concreta. Puede
asociarse la misma BD a varias instancias
(modo compartido o paralelo) o puede
exigirse que sea sólo en una instancia en
cada momento (modo exclusivo).

– Abrir la BD: Establece la BD como

disponible para sus operaciones.

• Finalización (Shutdown):

Es el proceso inverso:
– Cerrar la BD.
– Desmontar la BD.
– Borrar la Instancia Oracle.

Usuarios
...

. . .

Instancia

SGA PGA Proc.

...

Instancia

SGA PGA Proc.

Base de Datos

tablespace

. . .

tablespace

fichero

...

fichero

. . .

3

4

2

Páginas, Extensiones y Segmentos

• Página o Bloque de Datos (data blocks): Unidad

mínima de asignación de espacio en la Base de Datos.
– Es la menor unidad de E/S que puede utilizar la BD

(independientemente de que el tamaño de bloque del
S.O. sea menor).

• Extensión (extent): Conjunto de páginas contiguas,

con un tipo de información específico.

• Segmentos (segment): Conjunto de extensiones que almacenan un

determinado tipo de datos.
– Al crear una estructura de datos, Oracle le asigna un segmento con una

única extensión.

– Cuanco se llena esa extensión se le asignan otras extensiones a ese

segmento. Por eso, las extensiones no suelen ocupar espacios
consecutivos, como sería deseable.

– Un segmento completo se almacena en un tablespace, que puede

distribuir sus extensiones en distintos ficheros.

• Cada extensión se almacenará siempre en un único fichero.

5

Páginas o Bloques de Datos

• Tamaño de Página:

– Especificado por el DBA cuando crea la BD.
– Debe ser múltiplo del tamaño de bloque del S.O.

Common and Variable Header
Table Directory
Row Directory
Free Space
Row Data

• Formato de una Página:

– Overhead: Formado por 3 zonas:

• Common and Variable Header: Información general, como la dirección
de la página, el tipo de segmento al que pertenece (de datos, de índice,
de rollback...).

• Table Directory: Información sobre las tablas con filas en esta página.
• Row Directory: Información sobre las filas almacenadas en esta página.

– Al borrar una fila, su información en este directorio no es liberado.

Ese espacio se vuelve a usar al insertar una nueva fila en la página.

– Row Data: Zona con datos de tablas o índices. Una fila puede estar en varias páginas.
– Free Space: Espacio libre para insertar nuevas filas (INSERT) o nuevos valores

en las filas ya existentes (UPDATE), si requieren más espacio.

• Transaction entries: También se guarda aquí información sobre las transacciones

(INSERT, UPDATE y DELETE) sobre las filas de esta página. Se controla con dos
valores que no es recomendable modificar:

– INITRANS: Número inicial de entradas para las transacciones de esta página.
– MAXTRANS: Máximo número de transacciones concurrentes para esta página.

• Si el número de transacciones concurrentes supera INITRANS, Oracle guarda la
información dinámicamente hasta que se excede MAXTRANS o hasta que no haya
espacio libre en la página.

6

3

Páginas o Bloques de Datos (data blocks)

• Control del Espacio Libre para Inserción y Actualización de Filas:

Existen dos parámetros que se especifican cuando se crea o altera una tabla
o un índice:
– PCTFREE: Mínimo porcentaje de página que se reserva como espacio libre para

futuras actualizaciones de filas que ya existen en la página.

• Por defecto es el 10%.
• En una tabla relativamente estática un buen valor puede ser el 5%.

– PCTUSED: Después de que una página sea considerada llena en función del límite
especificado en el PCTFREE, Oracle no vuelve a introducir ninguna nueva fila en
la misma hasta que el porcentaje de página ocupada sea menor que PCTUSED.
Hasta entonces, el espacio libre sólo será dedicado a la actualización de las filas
ya existentes en la página.

• Por defecto deja el 40%, que indica que cuando esa página se llena no

volverá a estar libre para inserciones hasta que tenga menos del 40% de
ocupación (máximo 39%).

• En una tabla relativamente estática un buen valor puede ser el 75%.

– Por supuesto, PCTFREE + PCTUSED <= 100
– Espacio libre para inserciones: Tama_Página - Overhead - PCTFREE
• Cuando se produce un INSERT, Oracle mira la lista de páginas que están

disponibles (free list) y selecciona la primera que encuentra.

– Para actualizaciones (UPDATE) cualquier espacio libre puede ser utilizado.

Páginas o Bloques de Datos (data blocks)

• Reagrupación del Espacio Libre en una Página:

– El espacio libre aumenta por las instrucciones DELETE o UPDATE (si la

actualización establece valores que ocupan menos espacio).

– Todo ese espacio libre podrá usarlo una instrucción INSERT:

• Si la instrucción INSERT está en la misma transacción que la instrucción que

ha generado el espacio libre (y situado después, naturalmente).

• Si la instrucción INSERT está en otra transacción y la transacción que deja el
espacio libre ya efectuó su COMMIT. Posiblemente ambas transacciones sean
de distintos usuarios.

• Encadenamiento y Migración de Filas:

– Los datos de una fila pueden ser demasiado grandes para caber en una página:

• La fila es muy grande: Oracle almacena la fila en una cadena de páginas del

mismo segmento.

– Con datos grandes (como el tipo LONG) esta fragmentación es inevitable.

• Una fila es actualizada y sus nuevos valores no caben en su página
actual: Oracle traslada toda la fila a una nueva página, suponiendo que
caben en una nueva página.

– Oracle conserva la cabecera de la fila en su página inicial, apuntando a la nueva

dirección en la nueva página. Así, el identificador de fila (ROWID) no cambia.

– Esto hace que la eficiencia al tratar esta fila sea menor, ya que Oracle debe leer

más de una página para recuperar la información de esa fila.

7

8

4

Extensiones (extents)

• Un Segmento es un Conjunto de Extensiones.

– Si un segmento se llena, Oracle crea una nueva extensión para ese

segmento (incremental extent) del mismo tamaño o superior.

• Hay Dos Formas de Gestionar las Extensiones:

– Extensiones Gestionadas Localmente (LOCAL): Al crear un tablespace

se pueden especificar las siguientes opciones:

• AUTOALLOCATE: Son gestionadas por el sistema. Se especifica el

tamaño de la extensión inicial y el tamaño del resto es calculado por
Oracle, con un mínimo de 64KB.

• UNIFORM: El tamaño especificado es para todas las extensiones

(1MB por defecto).

– Extensiones Gestionadas por el Diccionario de Datos (DICTIONARY):

Utilizan como valores por defecto los valores almacenados en el
Diccionario de Datos de la Base de Datos. Esos valores por defecto
pueden modificarse en cualquier momento.

• Estos valores son INITIAL (tamaño del primero), NEXT (tamaño del

segundo) y PCTINCREASE (porcentaje de incremento en el tamaño
del siguiente respecto al anterior).

9

Extensiones (extents)

• Eliminar Extensiones: En general, las extensiones de un segmento no
son liberadas (deallocated) a no ser que borre el objeto almacenado en el
segmento (mediante una instrucción DROP TABLE o DROP CLUSTER).
– No obstante se producen algunas excepciones. Por
  • Links de descarga
http://lwp-l.com/pdf7074

Comentarios de: Administración de Bases de Datos (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad