Sunteți pe pagina 1din 52

Tema IV: Administracin de Bases IV: de Datos

4.1- Diseo Fsico 4.1.1- Introduccin 4.1.2- Almacenamiento 4.1.3- Tablespaces 4.1.4- Segmentos 4.1.5- Extensiones 4.1.6- Bloques 4.1.7- Almacenamiento de tablas en Oracle 4.1.8- ndices 4.1.9- Clusters 4.1.10- Particiones 4.1.11- Ajuste de rendimiento
1

4.1.14.1.1- Introduccin
Proceso de Diseo de Bases de Datos
Conceptual Lgico Estndar
Em (id, dep, nombre, fecha)

Lgico Especfico

Fsico

Esquema SQL
. CREATE TABLE Empleados ( Id INTEGER PRIMARY KEY, Dept CHAR(2) REFERENCES Dept ( Id ), Nombre VARCHAR(50) NOT NULL, Fecha_naci DATE NOT NULL . ); CREATE TABLE . . .

Dep ( ide, desc, pres)


. .

o bien
PK

PK FK

. .

Diseo fsico = Estructuras lgicas


LABDA Tema IV: Administracin de Bases de Datos

Estructuras fsicas
2

4.1.14.1.1- Introduccin
Diseo Fsico: Motivacin

w Buscamos implementacin suficientemente eficiente, en una plataforma concreta


n

Hardware+SO+SGBD+ (aplicacin)

w La implementacin implcita (probablemente) es


n

Suficiente: en BD para pruebas funcionales, formacin, demos Insuficiente: en BD para pruebas de carga, produccin

LABDA Tema IV: Administracin de Bases de Datos

4.1.14.1.1- Introduccin
Diseo Fsico: Tareas w
n

Objetivo de esta etapa:


producir una descripcin de la implementacin de la base de datos en memoria secundaria. Esta descripcin incluye las estructuras de almacenamiento y los mtodos de acceso que se utilizarn para conseguir un acceso eficiente a los datos.

w
n n n n

Tareas:
Traducir el esquema lgico global para el SGBD especfico. Disear la representacin fsica. Disear los mecanismos de seguridad. Pruebas de rendimiento. Monitorizar y afinar el sistema.

LABDA Tema IV: Administracin de Bases de Datos

4.1.14.1.1- Introduccin
Diseo Fsico: Criterios

1. Mejorar el rendimiento
n n n n n

Espacio en memoria y en disco Tiempo de procesador Tiempo de disco Contencin Coste de los procesos auxiliares Volumen de usuarios y datos
5

2. Escalabilidad
n

LABDA Tema IV: Administracin de Bases de Datos

4.1.14.1.1- Introduccin
Diseo Fsico: Criterios

3. Disponibilidad / Integridad 4. Facilidad de administracin 5. Integridad w


n n n

Pero
Medios limitados Criterios contrapuestos Prdida de independencia

LABDA Tema IV: Administracin de Bases de Datos

4.1.14.1.1- Introduccin
Pero adems del diseo fsico de la BD, en el rendimiento tambin influyen wDiseo de los procesos (en C/S)
n

Separacin entre BD y lgica


l

Restricciones separadas, Vistas, Proc. Almacenados, Disparadores

Conexiones, interaccin y trfico Los optimizadores no son perfectos Optimizacin esttica Optimizacin dinmica. Estadsticas
7

wProgramacin
n n n

wPlataformas, la red
LABDA Tema IV: Administracin de Bases de Datos

4.1.14.1.1- Introduccin
Un buen diseo fsico exige conocer bien: w Posibilidades del SGBD w Posibilidades de los equipos de almacenamiento (Ej.: RAID) w Interaccin entre el SO y
n n

SGBD Equipos de almacenamiento Perfil de uso


8

w Y cmo los procesos / usuarios utilizan la BD


n LABDA Tema IV: Administracin de Bases de Datos

4.1.14.1.1- Introduccin
Diseo Fsico: Prototipos

w Diseo preventivo: Evaluacin previa


n

Volmenes, frecuencias, caminos, Esqueletos de los procesos crticos Simulacin de datos y usuarios
l

w Pruebas y prototipos
n n

Perfil de carga Planes, trazados y mediciones


9

Herramientas de anlisis de la ejecucin


l

LABDA Tema IV: Administracin de Bases de Datos

4.1.14.1.1- Introduccin
Optimizacin y ajuste segn Oracle

w Objetivos
n n

Cdigo SQL eficiente Reservar recursos apropiados y suficientes (CPU, Memoria, Disco, E/S) Analizar problemas de espera y contencin Reactivo: resolver problemas que aparecen en produccin Proactivo: disear el sistema teniendo en cuenta el rendimiento.
10

w Enfoques
n n

LABDA Tema IV: Administracin de Bases de Datos

4.1.14.1.1- Introduccin
Arquitectura Oracle Componentes principales
Proceso de usuario
Conj.Compartido Cach biblioteca

SGA
Cach de buffers de base de datos

Buffer de Redo Log

Proceso de servidor PGA

Cach diccionario de datos

Instancia
Large Pool Java Pool

PMON

SMON

DBWR

LGWR

CKPT

Otros

Arch. parmetros Archivos de datos (user01.dbf) Archivos de control (ctrl01.ctl) Archivos de Redo Log (log1a.rdo)

Base de Datos

Arch. contrasea

LABDA Tema IV: Administracin de Bases de Datos

11

4.1.14.1.1- Introduccin
Arquitectura Oracle Componentes principales
w Instancia:
w SGA (rea Global del Sistema): Memoria compartida para almacenar las informaciones de control y los datos de la instancia.
Contiene Conjunto compartido, Cach de buffers de Base de Datos, Buffer Redo Log, Large Pool y Java Pool.

w PGA (rea Global de Programas o Proceso): Memoria reservada para cada proceso de usuario que se conecte a una base de datos. Se asigna cuando se crea un proceso y se libera cuando se termina un proceso. Conexin establecida
Proceso de usuario
Proceso de servidor

Sesin creada Oracle Server

PGA

LABDA Tema IV: Administracin de Bases de Datos

12

4.1.14.1.1- Introduccin
Arquitectura Oracle Componentes principales
w Base de datos:
n

Estructuras lgicas: jerarqua formada por tablespaces, extensiones y bloques Estructuras fsicas: archivos de datos que forman los tablespace.
Archivo de datos3

segmentos,

Tablespaces

Extensin

Archivo de datos2 Archivo de datos1 Segmento2 Segmento1

Bloques

Cabecera Directorio tabla Directorio fila Espacio Libre Datos

LABDA Tema IV: Administracin de Bases de Datos

13

4.1.14.1.1- Introduccin
Arquitectura Oracle Componentes principales
w Instancias n Conjunto de procesos y estructuras en memoria (SGA) n Proporciona mecanismos de acceso y control de la BD n Los procesos (y parte del almacenamiento principal) son compartidos por todos los usuarios. n Sus parmetros estn en el fichero init.ora, que se lee al arrancarla. w Bases de datos n Conjunto de datos almacenado y accesible segn una estructura lgica de tablas n Se divide en Tablespaces (uno o ms) n Un tablespace consta de ficheros (uno o ms) n Un fichero slo pertenece a un tablespace, y puede contener varios objetos

LABDA Tema IV: Administracin de Bases de Datos

14

4.1.24.1.2- Almacenamiento
El espacio: Nivel lgico y nivel fsico

El espacio lgico
l l

visin desde los programas usuarios atributos, filas, tablas,

El espacio fsico
l l

visin desde el SO ficheros del SO y extensiones


15

LABDA Tema IV: Administracin de Bases de Datos

4.1.24.1.2- Almacenamiento
Un tercer nivel: El espacio virtual de almacenamiento

w Visin desde el SGBD n visin simple del espacio fsico, para facilitar el direccionamiento, la independencia, .. n espacios (tablespaces,..) n campos, registros, pginas n particiones n clusters n ndices
LABDA Tema IV: Administracin de Bases de Datos 16

4.1.24.1.2- Almacenamiento
Correspondencia entre los tres niveles

tablas
particiones Cluster de tablas datoslarg ndice datos datos+ ndice

ficheros

LABDA Tema IV: Administracin de Bases de Datos

17

4.1.24.1.2- Almacenamiento
Jerarqua de almacenamiento en Oracle: Estructuras virtuales
Tablespace

Datafile1
Datafile2

Segmento1
Ext 2 Ext 3

Segmento2
Datafile3

Bloque 1 LABDA Tema IV: Administracin de Bases de Datos 18

4.1.34.1.3- Tablespaces
w Es el espacio lgico de almacenamiento de datos (fsicamente en data files) w Tipos de tablespaces:
n

SYSTEM: encargado de almacenar


l l

el diccionario de datos (tablas con informacin sobre la propia BD) cdigos PL/SQL fuentes y compilados, etc.

n n n

TEMP: almacena datos temporales ROLLBACK: almacena informacin transaccional DATA: almacena datos de la aplicacin En lnea (on line): a disposicin de las aplicaciones y BDs Desconectado (offline): datos no estn disponibles, aunque lo est la BD

w Posibles estados de un tablespace:


n n

LABDA Tema IV: Administracin de Bases de Datos

19

4.1.34.1.3- Tablespaces
Sintaxis:

LABDA Tema IV: Administracin de Bases de Datos

20

4.1.34.1.3- Tablespaces
Sintaxis (permanent tablespace):

LABDA Tema IV: Administracin de Bases de Datos

21

4.1.34.1.3- Tablespaces
Sintaxis (temporal tablespace):

LABDA Tema IV: Administracin de Bases de Datos

22

4.1.34.1.3- Tablespaces
Sintaxis (undo tablespace):

LABDA Tema IV: Administracin de Bases de Datos

23

4.1.34.1.3- Tablespaces
Sintaxis:
Bigfile o smallfile para grandes o pequeos tablespaces del orden de teras, el defecto es smallfile y es el que se utilizaba hasta ahora (como mximo pude tener 32 Gb) Datafile para datos de la aplicacin. Tempfile para datos temporales.
En general se debe de tener al menos un tablespace por esquema y un temporal general, salvo que la aplicacin haga una utilizacin masiva del temporal, entonces se crea uno para el esquema oportuno

LABDA Tema IV: Administracin de Bases de Datos

24

4.1.34.1.3- Tablespaces
Ejemplo: Creamos el tablespace llamado prueba en la que todos sus objetos cuando son creados se guardan en redolog. Se guarda en donde se indica el datafile, con un tamao de 5 Mb, creciendo de mega en mega hasta 10 Mb como mximo y lo gestiona Oracle automticamente
CREATE SMALLFILE TABLESPACE PRUEBA" LOGGING DATAFILE 'C:\Path\PRUEBA.ora' SIZE 5M AUTOEXTEND ON NEXT 1M MAXSIZE 10M EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO
LABDA Tema IV: Administracin de Bases de Datos 25

4.1.34.1.3- Tablespaces
Ejemplo: Borra el tablespace, si no tiene objetos no hace falta including contents y borra el fichero del sistema operativo (and datafiles). Adems borra todas las restricciones de clave ajena
SQL> DROP TABLESPACE prueba INCLUDING CONTENTS and datafiles CASCADE CONSTRAINTS

LABDA Tema IV: Administracin de Bases de Datos

26

4.1.34.1.3- Tablespaces
w La forma de gestionar las extensiones de los tablespaces pude ser con la tcnica del diccionario, nica forma conocida antes de Oracle 8i. w Con el manejo del diccionario Oracle modifica una serie de tablas en el diccionario de datos en cuanto una extensin es asignada o liberada. Pero tambin almacena la informacin en los segmentos de rollback, actualmente en el undo. Como las tablas del diccionario y los segmentos de rollback son parte de la instancia de base de datos, el espacio que ellos ocupan est sujeto a las mismas operaciones que otros esquemas de otros tablespaces w El manejo local utiliza bitmaps en el propio tablespace. Es el recomendado por Oracle w Un manejo ineficiente de las extensiones hace que se produzcan demoras en la creacin y asignacin de las extensiones

LABDA Tema IV: Administracin de Bases de Datos

27

4.1.34.1.3- Tablespaces
Ejemplo: Creamos el tablespace temporal llamado TEMPPRUEBA. Se guarda en donde se indica el tempfile, con un tamao de 2 Mb, creciendo en 640 Kb. el fichero hasta 32 Mb como mximo. Oracle gestiona automticamente las extensiones de 1024 en 1024 Kb. CREATE SMALLFILE TEMPORARY TABLESPACE "TEMPPRUEBA" TEMPFILE 'C:\path\TEMPPRUEBA1.ora' SIZE 2M REUSE AUTOEXTEND ON NEXT 640K MAXSIZE 32767M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 1024K
LABDA Tema IV: Administracin de Bases de Datos 28

4.1.34.1.3- Tablespaces
Ejemplo: Borramos el tablespace SQL> DROP TABLESPACE TEMPPRUEBA INCLUDING CONTENTS and datafiles CASCADE CONSTRAINTS

w Los espacios temporales son usados para segmentos temporales, los cuales son creados, manejados y borrados por la Base de Datos. w Estos segmentos temporales son comnmente generados por instrucciones como order by, group by o create index
LABDA Tema IV: Administracin de Bases de Datos 29

4.1.34.1.3- Tablespaces
w El tablespace undo se usa para los segmentos de undo, son parecidos a los segmentos de rollback, recomendado por Oracle su no utilizacin. w Aunque puede haber mas de un tablespace de undo por instancia, slo uno est activo. Los segmentos de undo crecen o disminuyen de acuerdo a las necesidades de las transacciones. w Se utiliza para:
n n n n

Rollback de las transacciones. Lectura consistente. Operaciones de recuperacin de la base de datos. Funcionalidad de Flashback.

LABDA Tema IV: Administracin de Bases de Datos

30

4.1.34.1.3- Tablespaces
w Parmetros de almacenamiento
n n

DBA_TABLESPACES USER_TABLESPACES: (visualizar con select * from user_tablespaces; )

w Mtodos de determinar el espacio libre y utilizado: Gestionando las extensiones mediante:


n

El diccionario de datos: actualizar (update) la entrada correspondiente en el diccionario de datos cada vez que se asigna o libera una extensin a un TABLESPACE El propio TABLESPACE (localmente) mantiene un mapa de bits en cada archivo de datos de los bloques o conjuntos de bloques liberados o usados del archivo de datos Oracle actualiza automticamente (update) el mapa de bits

LABDA Tema IV: Administracin de Bases de Datos

31

4.1.44.1.4- Segmentos
w Conjunto de extensiones (conjunto de bloques de datos) dedicadas a un objeto de la BD, y almacenado en un fichero w La cantidad de espacio que utiliza est determinada por sus parmetros de almacenamiento:
n n

al crear el objeto (tabla, ndice, cluster, Undo segment) utiliza los parmetros de almacenamiento predeterminados del TABLESPACE en el que se almacena (se permite posterior modificacin)

w Parmetros de almacenamiento del segmento:


n n n n n

INITIAL: tamao inicial de la extensin NEXT: tamao de la siguiente extensin PCTINCREASE: factor de incremento geomtrico para sucesivas extensiones MAXEXTENTS: nmero mximo de extensiones MINEXTENTS: nmero mnimo de extensiones
32

LABDA Tema IV: Administracin de Bases de Datos

4.1.44.1.4- Segmentos
w Oracle asigna a cada tabla una o ms extensiones para formar el segmento de datos de una tabla w Tipos de segmentos:
n

Segmentos de datos: conjunto de extensiones asignadas a una tabla.


l

No puede haber extensiones de otras tablas en un segmento dedicado a una tabla.

n n

Segmentos de ndices Segmentos de undo: son uno o varios segmentos con informacin para deshacer transacciones Segmentos temporales
33

LABDA Tema IV: Administracin de Bases de Datos

4.1.44.1.4- Segmentos
w Cuando las extensiones de un segmento ya no pueden contener ms datos el segmento se ampla con nuevas extensiones. As sucesivamente hasta que:
n

n n

no haya ms espacio disponible en los datafiles de las tablespaces (no ampliables automticamente) hasta MAXEXTENTS por segmento (si definido). no haya ms espacio (cuota) para ese usuario en el TABLESPACE

w El tamao de la siguiente extensin Oracle lo calcula con la siguiente frmula:


n n

NEXT*(1+(PCTINCREASE/100)) Ejemplo (next:4Mb y pctincrease:50%):


l l l l

1 extensin: = INITIAL 2 extensin: = NEXT= 4Mb 3 extensin: = 4MB*(1+50/100) = 4Mb + 2Mb = 6Mb 4 extensin: = 9Mb

NOTA: Cuidado con el tamao del bloque


34

LABDA Tema IV: Administracin de Bases de Datos

4.1.44.1.4- Segmentos
w Tipos de segmentos: TABLE, INDEX, ROLLBACK, TEMPORARY, PARTITION, CLUSTER w Al crear un segmento TABLE:
n n n

Al menos una extensin Su espacio no se libera hasta que se elimina Se puede utilizar alter table para modificar el storage. Y el comando move para cambiarlo de tablespace. Clusula PCTFREE para reservar, en el interior de cada bloque de cada extensin, un porcentaje de espacio para actualizaciones datos
l l l

Nulos (con valor NULL) Otros valores que impliquen crecimiento del registro NOTA: Especfico de cada aplicacin
35

LABDA Tema IV: Administracin de Bases de Datos

4.1.44.1.4- Segmentos
Ejemplo:
CREATE TABLE ejemplo ( cod NUMBER(2), nombre VARCHAR2(14) ) STORAGE (INITIAL 100K NEXT 50K MINEXTENTS 1 MAXEXTENTS 50 PCTINCREASE 5); SELECT * FROM USER_SEGMENTS;

w COMENTARIOS
n

A partir de la 3 extensin se incrementa un 5% el espacio de la extensin anterior:


l

52,5 K 52 si el tamao de bloque fuera 2K

LABDA Tema IV: Administracin de Bases de Datos

36

4.1.44.1.4- Segmentos
w Al crear un segmento INDEX:
n n

Al menos una extensin Su espacio no se libera hasta que se elimina. Pero estos se pueden eliminar automticamente al eliminar las TABLAS o los CLUSTERS a los que indexan. Se aconseja guardar los ndices en diferente TABLESPACE que las tablas, para eliminar contiendas. Se puede utilizar la opcin REBUILD del comando alter index para modificar la configuracin del storage y tablespace de un ndice.

LABDA Tema IV: Administracin de Bases de Datos

37

4.1.44.1.4- Segmentos
w Al crear un segmento ROLLBACK:
n

n n n

Sus extensiones mantendrn copias temporales de bloques de datos que cambiaron durante alguna transaccin. Al menos DOS extensiones. Todas las extensiones del mismo tamao. Se podr reducir el tamao del segmento dinmica o manualmente hasta un tamao especfico (clusula optimal)

Ejemplo:
CREATE ROLLBACK segment R1 TABLESPACE user40 STORAGE (INITIAL 2M NEXT 2M MINEXTENTS 2 MAXEXTENTS 249 OPTIMAL 20M)

LABDA Tema IV: Administracin de Bases de Datos

38

4.1.44.1.4- Segmentos
w Al crear un segmento TEMPORARY:
n

Almacenan datos temporales durante las operaciones (p.e.: consultas de gran tamao, creacin de ndices, operaciones de unin, etc.) Cada usuario tiene su tablespace temporal (create user). Habitualmente se crea un tablespace temporal para cada BD y todos sus usuarios.
Select PROPERTY_VALUE from DATABASE_PROPERTIES where PROPERTY_NAME = DEFAULT_TEMP_TABLESPACE

Se pueden crear nuevos tablespaces temporales:


Create temporary tablespace Alter tablespace AAAA temporary; alter tablespace AAAA permanent;

Ver el estado del tablespace


Select CONTENT from DBA_TABLESPACES where TABLESPACE_NAME=AAAA

LABDA Tema IV: Administracin de Bases de Datos

39

4.1.44.1.4- Segmentos
w Otras operaciones:
n

Desasignar espacio de los segmentos


l l l

Reduccin tamao de datafiles Reduccin tamao tablas, clusters, ndices (segmentos, etc.) Reconstruir ndices.

LABDA Tema IV: Administracin de Bases de Datos

40

4.1.54.1.5- Extensiones
w Conjunto de bloques de datos contiguos de un TABLESPACE w Cuando se elimina un segmento, sus extensiones se liberan w Agrupacin extensiones libres contiguas cuando pctincrease? 0
n n

SMON (peridicamente o cuando lo necesita) alter tablespace name coalesce; La ms adecuada (suficiente tamao) cercana a los datos

w Asignacin de extensiones libres:


n

LABDA Tema IV: Administracin de Bases de Datos

41

4.1.64.1.6- Bloques
w Unidad de acceso a disco para una BD Oracle (unidad mnima de transferencia de informacin) w Su tamao se define al crear la BD. w Debe ser mltiplo del tamao de bloque del S.O. del servidor (entre 2Kb y 32 Kb). w DB_BLOCK_SIZE: parmetro determina tamao del bloque w Parmetros de configuracin (create table / create index ...)
n

[{PCTFREE integer
| PCTUSED integer | INITRANS integer | MAXTRANS integer | clusula_almacemanamiento }...]

LABDA Tema IV: Administracin de Bases de Datos

42

4.1.64.1.6- Bloques
Bloque
Cabecera Bloque

61+(INITRANS*23) si es un bloque tabla 61+(INITRANS*46) si es un bloque ndice o clster (4 * n tablas en cluster) + 4 (2 * n de lneas en bloque) Depende del parmetro PCTFREE PCTFREE: mnimo porcentaje de un bloque que se reserva para actualizaciones de filas. Por defecto 10% del tamao til PCTUSED: mnimo porcentaje de un bloque que debiera estar ocupado para no admitir ms inserciones. Por defecto 40% FREELIST: Lista de bloques disponibles para insertar

Overhead

Directorio Tablas en Cluster Directorio Lneas Espacio Libre para puesta al da (zona desbordamiento)

PCTFREE

Espacio til
PCTUSED

las lneas

3/8/9 + (1) + (10) + [1 + 1(si long>255) + atributo1] + [...]

LABDA Tema IV: Administracin de Bases de Datos

43

4.1.64.1.6- Bloques
Ejemplo: Dimensionamiento de la TABLA MUSEO
CAMPO Codigo Nombre Direccion TIPO NUMBER VARCHAR2 VARCHAR2 LONG. MAX TAMAO EFECTIVO PROB. NO NULO

4 10 60

4 10 30

100 90 10

N estimado TUPLAS: 3000 INITRANS = 1 MAXTRANS = 20 Tamao Bloque = 4 Kb PCTFREE=10 PCTUSED=85

Tamao Cabecera: 61+23*1 = 84 bytes Tamao til = Tamao bloque Tamao Cabecera = 4096-84 = 4014 EspacioPCTFREE = T.til*PCTFREE = 4014*10%=401 bytes EspacioPCTUSED = T.til*PCTUSED = 4014*85%= 3412 bytes EspacioFilaTabla = 3 (Cabecera) + 1(atributo) + 1(atributo largo) + LogMediaFila = 3+3+0+18 = 24
LongMediaFila = SUMA(longMediaColumn) = 2 * 1(DirectorioLneas para 1 lnea) + probNoNulo(Atrib1)*TamaoEfectivo(Atrib1) + ... = 2 + 100%*4 + 90%*10 + 10%30 = 2 + 4 + 9 + 3 = 18

N Filas por Bloque = TRUNC(ExpacioPCTUSED/EspacioFilaTabla) = TRUNC(3412/24) = 142 N Bloques = [N Estimado Tuplas / N Filas por Bloque] = 3000/142 = 22 bloques TamaoTabla = N Bloques*T.tilBloque = 22*4014 = 88308 bytes = 86,24 Kb LABDA Tema IV: Administracin de Bases de Datos 44

4.1.64.1.6- Bloques
Ejemplo: Dimensionamiento de la TABLA MUSEO

w Determinacin del n de bloques necesarios utilizados para todas las filas de una tabla.
n

Consultado la columna ROWID


Selecciona el nmero de fila y nmero de bloque utilizado para esa fila l Los ltimos tres caracteres de la cabecera del bloque indica el nmero de fila dentro del bloque (16-18)
l
SELECT COUNT(DISTINCT SUBSTR(ROWID,1,16)) FROM museo;

LABDA Tema IV: Administracin de Bases de Datos

45

4.1.74.1.7- Almacenamiento de tablas en Oracle


w Cada fila se almacena en un bloque si tiene espacio suficiente y menos de 256 columnas w De otra forma la informacin de la fila se encadena a travs de varios bloques. w Cada fila se compone:
n n

Cabecera de fila >= 3 bytes Columna de datos


l l

Longitud de los datos Datos

w Cada fila se identifica con ROWID


LABDA Tema IV: Administracin de Bases de Datos 46

4.1.74.1.7- Almacenamiento de tablas en Oracle


Encadenamiento y reorganizacin

w Los datos de una fila de una tabla pueden ser demasiado grandes para almacenarlos en un nico bloque de datos vaco. w Encadenamiento:
n

Oracle almacena los datos de la fila en una cadena de uno o ms bloques de datos (insercin modificacin)
47

LABDA Tema IV: Administracin de Bases de Datos

4.1.74.1.7- Almacenamiento de tablas en Oracle


Encadenamiento y reorganizacin

w Reorganizacin:
n

Si una sentencia UPDATE incrementa la cantidad de datos en una fila, de modo que la fila no se puede dejar en el bloque de datos entonces debe reorganizar:
l

Oracle intenta encontrar otro bloque con espacio libre suficiente para mantener la fila entera Si el bloque est disponible, Oracle mueve la fila entera al nuevo bloque Oracle guarda la parte de la fila original de la fila migrada apuntando al nuevo bloque que contiene la fila actual, el ROWID de la fila migrada no cambia. Los ndices no son modificados, as apuntan a la localizacin original de la fila
48

LABDA Tema IV: Administracin de Bases de Datos

4.1.74.1.7- Almacenamiento de tablas en Oracle


Almacenamiento bsico

w Para aumentar el al rendimiento en el acceso a los datos se pueden utilizar los siguientes mtodos:
ndices n Tablas organizadas por ndices n Clusters (Agrupamientos) y Hash Clusters (Agrupamiento mediante dispersin)
n
LABDA Tema IV: Administracin de Bases de Datos 49

4.1.84.1.8- ndices
ndices: Motivacin w Estructuras auxiliares para mejorar el tiempo de bsqueda
n

WHERE condicin
l l l

Igualdad (una o varias filas) Intervalo Prefijo

w Reducir el tiempo de las operaciones de combinacin de tablas w Mejorar las consultas que requieren agrupacin u ordenacin
n

ORDER BY, GROUP BY, DISTINCT, .. Integridad referencial Unicidad

w Facilitar la implementacin de restricciones


n n

LABDA Tema IV: Administracin de Bases de Datos

50

4.1.84.1.8- ndices
ndices: Tipos

w rbol-B+
n

Es el ms habitual

w Mapa de bits w Hashing w ndices de palabras (full-text indexing)


n

Ficheros invertidos

w Etc.
LABDA Tema IV: Administracin de Bases de Datos 51

4.1.84.1.8- ndices
ndices multinivel: rboles B +
Hojas encadenadas por orden de la clave

Clave ......
Punteros a las filas

ndice

fila pgina
LABDA Tema IV: Administracin de Bases de Datos 52

4.1.84.1.8- ndices
ndices en rbol-B +

Bsqueda de un valor

Bsqueda de un rango

LABDA Tema IV: Administracin de Bases de Datos

53

4.1.84.1.8- ndices
ndices en rbol-B +

w Son flexibles w Degeneracin limitada w Tiempo de acceso razonable w No tiles para pocos valores

LABDA Tema IV: Administracin de Bases de Datos

54

4.1.84.1.8- ndices
ndices en rbol-B +
w Los SGBD no suelen hacer fusin
n n

para ahorrarse trabajo... posiblemente intil

pero liberan las pginas vacas Nudos intermedios: prefijo discriminador Diferencial / Jerrquica Coste procesador Contencin

w Compresin de ndices
n n n n

w Filas no ordenadas fsicamente n Puede ser ms rpido un barrido que usar el ndice n No confundir estructura con forma de acceso
LABDA Tema IV: Administracin de Bases de Datos 55

4.1.84.1.8- ndices
ndices multidimensionales: Mapas de Bits

w AND, OR, contadores w Para pocos valores (regin, ao, ..) y pocas actualizaciones 1234n w DW/OLAP
iar ipe ipr ventas B6 3 43 375 1 B6 3 21 100 2 B6 1 21 20 3 B7 1 21 100 4 . . . . . . . . . n ipr 21 0111.. 43 1000.. . .. . iar B6 B7 . . ipe 1 3 . .
LABDA Tema IV: Administracin de Bases de Datos

1110. 0001. . . 1100. 0011. . .


56

4.1.84.1.8- ndices
ndices Hashing

w No util para Orden, Comparaciones > < w Pero til para Unicidad. Existencia (IR), Join w Algoritmo: Usuario, Interno n Declaracin espacio asignado (degeneracin) n No posible si el num.filas es imprevisible w Factor de carga pequeo w Uno o dos accesos menos que con rbol B+
LABDA Tema IV: Administracin de Bases de Datos 57

4.1.84.1.8- ndices
ndices en Oracle w CREATE [ w ON w w w w UNIQUE ] INDEX ndice BITMAP

tabla (columnasOexpresin) CLUSTER nomcluster

TABLESPACE tablespace detalle almacenamiento COMPRESS NOSORT REVERSED

w Los NULL slo se indexan si es un ndice mapa de bit


LABDA Tema IV: Administracin de Bases de Datos 58

4.1.84.1.8- ndices
Utilizacin de ndices

w UNIQUE y no UNIQUE w NULLs w Coste en espacio w Coste en tiempo de actualizacin w No definir ndice si:
n n

El SGBD no lo va a utilizar La clave es muy voltil o muy larga


59

LABDA Tema IV: Administracin de Bases de Datos

4.1.84.1.8- ndices
Tablas organizadas como ndices

w Contienen datos que son recuperados ms rapidamente que si hubiesen sido almacenados en tablas normales. w Es una tabla normal con un ndice en una o ms de sus columnas. w ndice y tabla se almacenan juntos:
n

Tablas que se consultan por la clave primaria con pocas columnas


60

LABDA Tema IV: Administracin de Bases de Datos

4.1.84.1.8- ndices
Tablas organizadas como ndices

w Ventajas J
n

Acceso ms rpido a las filas de las tablas ya que estn en el mismo bloque Acceso secuencial y por rangos por la clave primaria o un sufijo Ahorro en espacio: la clave se guarda una sola vez No usar con filas grandes
61

w Desventajas L
n
LABDA Tema IV: Administracin de Bases de Datos

4.1.94.1.9- Clusters
Clusters: Motivacin

w Grupos de una o ms tablas w Las filas se guardan fsicamente juntas porque se usan generalmente juntas w Comparten una o ms columnas (clave del cluster)
LABDA Tema IV: Administracin de Bases de Datos 62

4.1.94.1.9- Clusters
Clusters: Ventajas J

w En tablas con joins frecuentes o con relacin maestro-detalle


n n

Disminuye la E/S de disco Mejora el tiempo de acceso

w La clave slo se almacena una vez, ahorro de espacio


LABDA Tema IV: Administracin de Bases de Datos 63

4.1.94.1.9- Clusters
Clusters: Problemas L

w No usar cuando
n n n

Valor clave se modifica a menudo En tablas que se recorren completas a menudo Si las filas que se agrupan juntas
Varian en nmero l Superan el tamao de uno o dos bloques
l

LABDA Tema IV: Administracin de Bases de Datos

64

4.1.94.1.9- Clusters
Hash Clusters en Oracle

w Similar a los clusters w A la clave de cada cluster se le aplica una funcin de dispersin w J Bueno para consultas con condiciones de igualdad:
n

Un solo acceso

w L Desventaja: Ocupa ms espacio


LABDA Tema IV: Administracin de Bases de Datos 65

4.1.104.1.10- Particiones
w El particionamiento permite descomponer tablas e ndices en trozos ms pequeos y manejables llamados particiones que son almacenados en segmentos separados w Particin horizontal fsica
n n

Repartir una tabla en espacios/ficheros/discos, Paralelismo, bloqueos (locks), copias y recuperacin,

w w w w

Particin por: rango, expresin, circular, al azar Particiones de ndices Collocation / Alineacin Inserciones/supresiones masivas
n n

Rpido ndices particionados


66

LABDA Tema IV: Administracin de Bases de Datos

4.1.114.1.11- Ajuste de rendimiento


Tuning: Motivacin
w Ajuste de la Base de Datos para un rendimiento ptimo w Requiere una perspectiva global del Sistema de Informacin:
n n

Procesos de la empresa Software: SO y SGBD


l l l

Uso de memoria y uso del almacenamiento Transacciones y procedimientos de recuperacin Arquitectura de comunicaciones

Hardware

w Cuando hay problemas o se prevn, o peridicamente ....


w Mediciones/estadsticas w Elegir puntos a mejorar w Aplicar mejoras una a una e ir comprobando su efecto

LABDA Tema IV: Administracin de Bases de Datos

67

4.1.114.1.11- Ajuste de rendimiento


Proceso w w
1. 2. 3.

Problema: el usuario considera que el tiempo de respuesta del sistema es alto Proceso iterativo
Monitorizacin del sistema Diagnstico Bsqueda de la solucin
l l l l l

(Re)diseo apropiado de la aplicacin Optimizacin del cdigo SQL Ajuste de la memoria Ajuste de la E/S Ajuste de los problemas de contencin u otros problemas

LABDA Tema IV: Administracin de Bases de Datos

68

4.1.114.1.11- Ajuste de rendimiento


Principios de Shasha

1.- Estudio global, accin local


a) Identificacin del problema
w

Panorama global

b) Intervencin minimalista

2.- Fragmentar para resolver atascos


a) Detectar el cuello de botella b) Romperlo
w

Mejora del componente causante w ej.: ndices w Repartir la carga w entre componentes w en el tiempo
LABDA Tema IV: Administracin de Bases de Datos 69

4.1.114.1.11- Ajuste de rendimiento


Principios de Shasha
3.- Lo que cuesta es arrancar
n

Minimizar los arranques


l l l l

Tiempo de disco: 512b = 64Kb Tiempo de mensaje: 1b ~ 1Kb Conexiones con SGBD: pocas y reaprovecharlas ...

4.- Dar al servidor lo que es suyo


n

Dnde poner cada tarea? accesos a disco vs. procesador espacio vs. tiempo OLTP vs. OLAP ...
70

5.- Llegar a compromisos entre costes


n n n n

LABDA Tema IV: Administracin de Bases de Datos

4.1.114.1.11- Ajuste de rendimiento


Objetivo

w Afinacin de los procesos usuarios: Uso eficiente de las rdenes SQL


w Optimizador w Pruebas con explicadores (EXPLAIN) de plan w Retoques w etc. w w w w Slo los relevantes (peridicamente) y los problemticos Conexiones y trfico Restricciones declaradas Disparadores y procedimientos
71

LABDA Tema IV: Administracin de Bases de Datos

4.1.114.1.11- Ajuste de rendimiento


Objetivo w Regeneracin w Espacio w Contigidad w Estadsticas ANALYZE, RUN STATISTICS,... n Contencin (esperas) / Bloqueos

w Afinacin de la BD
w Bsico: los ndices w Distribucin entre discos y sistemas

LABDA Tema IV: Administracin de Bases de Datos

72

4.1.114.1.11- Ajuste de rendimiento


Objetivo w Afinacin de la plataforma
n

Hardware n Memoria Discos: Nmero de ejes, Cach en controlador, Niveles de RAID n SSD n CPU SO, SGBD (parmetros)
n

w Tendencia a la automatizacin
n

Wizards/Advisors que aconsejan: n ndices, particiones, vistas materializadas Investigacin en auto-tuning y auto-administracin BD
73

LABDA Tema IV: Administracin de Bases de Datos

4.1.114.1.11- Ajuste de rendimiento


Herramientas w Para la prevencin, identificacin y resolucin de problemas de rendimiento w Tienden a la automatizacin de la ABD w Herramientas que explotan...
n

Informacin sobre las operaciones y trfico entre n SGBD, SO , Red Estadsticas mantenidas por el SGBD, sobre.. n estado de la BD (datos y objetos fsicos) n num.filas, espacio, histogramas de valores de las columnas
n n grado de degeneracin (datos e ndice) uso de la BD y los buffers, bloqueos, ndices, ..

LABDA Tema IV: Administracin de Bases de Datos

74

4.1.114.1.11- Ajuste de rendimiento


Herramientas
n

Anlisis de:
Contencin (esperas), bloqueos, colas .. Fragmentacin y espacio perdido Alertas (scripts para avisar de anomalas) Planes de ejecucin SQL: n explicadores y trazadores n detalle de los pasos de las operaciones y sus tiempos Comunicacin C/S Consumo de recursos por las transacciones Instantneas y su comparacin Tendencias
75

Encadenamientos y desplazamientos Uso del buffer-pool /cach Uso del LOG Uso de I/O (discos..), RAM, CPU Uso de los ndices
LABDA Tema IV: Administracin de Bases de Datos

4.1.114.1.11- Ajuste de rendimiento


Herramientas de monitorizacin

1. Diccionario de Datos (DBA_) 2. Vistas dinmicas de Rendimiento (V$_) 3. Herramientas de monitorizacin del sistema:
n n

Windows: Task Manager, etc... Unix/Linux: top,df...

4. Oracle Enterprise Manager (OEM) 5. StatsPack (AWR/ASH en 10g), Index Tuning Wizard, Quest, Embarcadero...
LABDA Tema IV: Administracin de Bases de Datos 76

4.1.114.1.11- Ajuste de rendimiento


Diccionario de datos

w Almacena metadatos acerca de


n n n n n

Usuarios Objetos: Tablas, ndices, paquetes, etc... Roles y Privilegios Almacenamiento (ficheros y tablespaces) Auditoria e informacin operacional (backup, logs...)

w Informacin esttica sobre la BD w Slo lectura (excepto SYS) w Almacenado en System Tablespace
LABDA Tema IV: Administracin de Bases de Datos 77

4.1.114.1.11- Ajuste de rendimiento


Vistas del diccionario de datos w El acceso al diccionario de datos se hace a travs de vistas que se identifican con los prefijos:
n n n

USER: objetos que posee el usuario ALL: objetos sobre los que se tiene permisos DBA: todos los objetos de la base de datos

w Diferentes tipos de vistas:


n n n n n n

Vistas generales (DBMS y DB) Vistas para monitorizacin de usuarios (DBA_USERS) Vistas de auditora (DBA_AUDIT_OBJECT) Vistas para monitorizar transacciones Vistas para almacenamiento Vistas sobre tipos de objetos: tablas, ndices
78

LABDA Tema IV: Administracin de Bases de Datos

4.1.114.1.11- Ajuste de rendimiento


Vistas generales
w Dict (dictionary): vista con los nombres de todas las tablas del diccionario de datos y sus descripciones. w GLOBAL_NAME : nombre global de la BD w PRODUCT_COMPONENT_VERSION: versin de los componentes principales w DBA_CATALOG: tablas, vistas, sinnimos y secuencias en la BD w DBA_REGISTRY: componentes instalados de Oracle w NLS_DATABASE_PARAMETERS, NLS_INSTANCE_PARAMETERS, NLS_SESSION_PARAMETERS: parmetros de localizacin. w DBA_SOURCE: cdigo fuente de los objetos w DBA_JOBS: monitoriza la definicin de procesos en background (jobs) w DBA_OBJECT: objetos de la BD como tablas, ndices, paquetes, procedimientos, funciones, dimensiones, vistas materializadas, planes de recursos, tipos, secuencias, sinnimos, disparadores, vistas y particiones
LABDA Tema IV: Administracin de Bases de Datos 79

4.1.114.1.11- Ajuste de rendimiento


Vistas relacionadas con el almacenamiento

w DBA_EXTENTS: informacin sobre las extensiones que utilizan los objetos w DBA_FREE_SPACE: espacio libre en la BD w DBA_SEGMENTS: informacin detallada sobre los segmentos: tipo, n bloques... w DBA_DATA_FILES/DBA_TEMP_FILES w DBA_TABLESPACES
LABDA Tema IV: Administracin de Bases de Datos 80

4.1.114.1.11- Ajuste de rendimiento


Vistas relacionadas con los ndices y restricciones

w DBA_CONSTRAINTS: restricciones de integridad y tablas sobre la que se aplican w DBA_CONS_COLUMNS: columnas afectadas por las restricciones w DBA_INDEXES: ndices y sus caractersticas w DBA_IND_COLUMNS: columnas que se han indizado w INDEX_STATS: resultados del comando analyze, analiza el rendimiento y caractersticas de los ndices.
LABDA Tema IV: Administracin de Bases de Datos 81

4.1.114.1.11- Ajuste de rendimiento


Vistas dinmicas de rendimiento

w Se actualizan con la informacin que la instancia genera durante su ejecucin. w Su informacin no est disponible si la instancia no est levantada. w Slo tenemos acceso para lectura. w Comienzan con el prefijo V$.

LABDA Tema IV: Administracin de Bases de Datos

82

4.1.114.1.11- Ajuste de rendimiento


Vistas dinmicas w Vistas actuales
n n

Informacin actual sobre el estado del sistema Ej: V$SESSION: sesiones abiertas en el sistema Cuenta el nmero de veces que un suceso ha ocurrido desde el inicio de la sesin Se debe hacer la diferencia entre el inicio y el fin Ej: V$FILESTAT: Operaciones de I/O Informacin actual pero no tan dinmica: Estadsticas V$SQL_PLAN: Plan de ejecucin para cursores ejecutados recientemente
83

w Vistas acumuladas
n

n n

w Vistas de informacin
n n

LABDA Tema IV: Administracin de Bases de Datos

4.1.114.1.11- Ajuste de rendimiento


Oracle Enterprise Manager w Estadsticas de Rendimiento

LABDA Tema IV: Administracin de Bases de Datos

84

4.1.114.1.11- Ajuste de rendimiento


Oracle Enterprise Manager w Opciones de Administracin

LABDA Tema IV: Administracin de Bases de Datos

85

4.1.114.1.11- Ajuste de rendimiento


Oracle Enterprise Manager w Opciones de Mantenimiento

LABDA Tema IV: Administracin de Bases de Datos

86

4.1.114.1.11- Ajuste de rendimiento


Ajuste de la memoria de la instancia

w Acceder a los datos en memoria principal es mucho ms rpido que acceder a los datos en disco w Oracle almacena datos en memoria principal: SGA y PGA
n

Se puede consultar el tamao de la SGA en V$SGA Tipo de aplicacin Nmero de usuarios Tamao de las transacciones
87

w El tamao correcto de la memoria depende :


n n n

LABDA Tema IV: Administracin de Bases de Datos

4.1.114.1.11- Ajuste de rendimiento


SGA: Ajuste de Conjunto Compartido (Shared Pool)

w Afecta directamente al rendimiento de la BD:


n

Cach de biblioteca: cdigo PL/SQL y sentencias SQL recientes Cach de diccionario: Diccionario de datos
alter system

w Se modifica conjuntamente el tamao del conjunto:


n

w Los efectos de un mal dimensionamiento son:


n n n

Fragmentacin Mayor consumo de CPU Mayor intercambio entre memoria y disco


88

LABDA Tema IV: Administracin de Bases de Datos

4.1.114.1.11- Ajuste de rendimiento


SGA: Cach de Biblioteca

w Contiene versiones analizadas y ejecutables del cdigo SQL y PL/SQL w Interpretacin de SQL
n n n n

Anlisis (Parsing) Optimizacin Ejecucin Recuperacin Si la sentencia esta en cach solo es necesario un anlisis superficial.
89

w Anlisis y optimizacin son operaciones costosas:


n LABDA Tema IV: Administracin de Bases de Datos

4.1.114.1.11- Ajuste de rendimiento


Eficiencia de la Cach de Biblioteca

w Vista dinmicas
n n

V$LIBRARYCACHE: estadsticas de acierto V$LIBRARY_CACHE_MEMORY: espacio libre y objetos en cach V$SHARED_POOL_ADVICE: informacn para el ajuste Uso de variables Compartir cursores: Cursor_sharing=similar Cdigo compartido
90

w Algunos consejos para mejorar la eficiencia


n n n

LABDA Tema IV: Administracin de Bases de Datos

4.1.114.1.11- Ajuste de rendimiento


Diseo fsico y Gestin del espacio

w Gestin eficiente del espacio en disco afecta al rendimiento de las aplicaciones


n n n n

Asignacin dinmica de espacio Nmero de accesos a discos Fragmentacin Encadenamiento de registros

LABDA Tema IV: Administracin de Bases de Datos

91

4.1.114.1.11- Ajuste de rendimiento


Jerarqua de almacenamiento w Los objetos de la BD pueden crecer y necesitar ms espacio fsico w Cada estructura se guarda en un Tablespace, en su propio segmento w Cuando crece se asignan nuevas extensiones (cto. de bloques)
92

Tablespace Segmento
Extensin

Bloque

LABDA Tema IV: Administracin de Bases de Datos

4.1.114.1.11- Ajuste de rendimiento


Gestin del espacio w En Oracle10g hay dos alternativas:
n

Tablespaces gestionados por el diccionario (DMT) n Para la asignacin de espacio se consulta el diccionario n Los cambios se deben reflejar en los segmentos de rollback, etc Tablespaces gestionados localmente (LMT)
l

l l l
n

La informacin de control se guarda en cabeceras en los ficheros de datos. Mejora la eficiencia sobre todo en tablespaces locales Permiten la gestin automtica Opcin por defecto

Para convertir de DMT a LMT est el paquete DBMS_SPACE_ADMIN

LABDA Tema IV: Administracin de Bases de Datos

93

4.1.114.1.11- Ajuste de rendimiento


Uso de Tablespaces w Es conveniente reservar diferentes tablespaces para objetos que tienen caractersticas de almacenamiento y uso diferentes:
n n n n n n

Objetos del diccionario de datos (SYSTEM) Segmentos de rollback, actualmente undo Segmentos temporales Tablas ndices Objetos grandes

w Si es posible deberan estar en diferentes discos para permitir el uso en paralelo


LABDA Tema IV: Administracin de Bases de Datos 94

4.1.114.1.11- Ajuste de rendimiento


Tamao de las extensiones w Es necesario determinar el tamao de un objeto
n n

Datos iniciales tengan espacio en el segmento Espacio disponible para el crecimiento de los objetos Tamao inicial de la extensin Tamao de la siguiente extensin
l l l

w Para cada objeto podemos determinar:


n n

Uniforme Variable Automtico Manual/Automtico


95

Determinar la forma de manejo de la extensin


l

LABDA Tema IV: Administracin de Bases de Datos

4.1.114.1.11- Ajuste de rendimiento


Extensiones grandes: pros y contras

w Pros J
n n

Evitan las extensiones dinmicas Pequeas ventajas de rendimiento: bsqueda de tabla completa Lecturas simples contra el mapa de extensiones Encontrar espacio libre contiguo Desperdicio de espacio inicialmente
96

w Contras L
n n

LABDA Tema IV: Administracin de Bases de Datos

4.1.114.1.11- Ajuste de rendimiento


Tamao del bloque: pequeo

w Generalmente para BDs transaccionales n Ventajas: J


Acceso aleatorio eficiente l Bueno para filas pequeas l Reducen la contencin de bloques
l n

Desventajas L
Excesiva sobrecarga de informacin de control l Pocas filas por bloque
l

LABDA Tema IV: Administracin de Bases de Datos

97

4.1.114.1.11- Ajuste de rendimiento


Tamao del bloque: grande

w Generalmente para Almacenes de Datos n Ventajas J


Menor sobrecarga l Acceso secuencial l Filas grandes l Lectura secuencial de ndices
l n

Desventajas L
Incrementan la contencin en los bloques hoja de los ndices l Desaprovecha espacio en buffer cach
l

LABDA Tema IV: Administracin de Bases de Datos

98

4.1.114.1.11- Ajuste de rendimiento


Gestin automtica del espacio

w Al crear objetos de la BD en tablespaces gestionados localmente con su propio segmento:


n

La opcin AUTOALLOCATE especifica que las nuevas extensiones se crean dinmicamente. La BD decide el tamao de la extensin La opcin AUTO gestiona el espacio libre dentro de los bloques
99

LABDA Tema IV: Administracin de Bases de Datos

4.1.114.1.11- Ajuste de rendimiento


Estimacin del espacio en bloques

w Espacio libre distribuido:


n

PCTFREE: mnimo porcentaje de un bloque de datos que se reserva para actualizaciones de filas. Por defecto 10 PCTUSED: mnimo porcentaje de un bloque que debiera estar ocupado para no admitir ms inserciones. Por defecto 40 FREELIST: Lista de bloques disponibles para insertar
100

LABDA Tema IV: Administracin de Bases de Datos

4.1.114.1.11- Ajuste de rendimiento


Problemas en bloques

w Encadenamiento: Filas que no caben en un nico bloque w Migracin: Tras una operacin de actualizacin la fila no tiene espacio en el bloque
n n

La fila se mueve a otro bloque La parte de la fila original se mantiene y apunta a la nueva localizacin para evitar la modificacin de los ndices

LABDA Tema IV: Administracin de Bases de Datos

101

4.1.114.1.11- Ajuste de rendimiento


Problemas en bloques

w Borrados frecuentes provocan tablas con huecos


n

En las operaciones de lectura se leen todos los bloques hasta una marca mxima Los bloques vacos van a FREELIST Es necesario mantener los bloques aunque slo tengan una entrada
102

w ndices sobre tablas voltiles


n n

LABDA Tema IV: Administracin de Bases de Datos

4.1.114.1.11- Ajuste de rendimiento


Estadsticas de almacenamiento

w Es posible obtener datos sobre el estado de las tablas e ndices para monitorizar y solucionar los problemas de almacenamiento
n n

Comando ANALYZE Paquete DBMS_SPACE

LABDA Tema IV: Administracin de Bases de Datos

103

Bibliografa
w w w Database systems : a practical approach to design, implementation and management. Thomas M. Connolly. Addison -Wesley. 2005. Sistemas de bases de datos : un enfoque prctico para diseo, implementacin y gestin. Thomas M. Connolly. Addison -Wesley. 2005. Desarrollo de Bases de Datos: casos prcticos desde el anlisis a la implementacin. Dolores Cuadra, Elena Castro, Ana M. Iglesias, Paloma Martnez, Fco. Javier Calle, Csar de Pablo, Harith Al-Jumaily y Lourdes Moreno. Editorial Ra-Ma. 2007. Database System Implementation. Hctor Garca-Molina, jeffrey D. Ullman and Jeniffer Widom. Prentice Hall. 2000. Physical database design : the database professional's guide to exploiting indexes, views, storage, and more. Sam Lightstone. Morgan Kaufmann/Elsevier. 2007. Database administration : the complete guide to practices and procedures. Craig Mullins. AddisonWesley. 2002. Oracle 10g : administracin y anlisis de bases de datos. Csar Prez. Editorial Ra-Ma. 2005. Database management systems. Raghu Ramakrishnan. McGraw Hill. 2003. Fundamentos de Diseo de Bases de Datos. Abrahan Silberschatz and Henry Korth and S. Sudarshan. McGraw Hill. 2007. 104

w w w w w w

LABDA Tema IV: Administracin de Bases de Datos

S-ar putea să vă placă și