-
Administracin de Base de Datos Unidad III
0
Carlos Hctor
[Escriba el nombre de la compaa]
[Seleccione la fecha]
Trabajo 1
Instituto Tecnolgico de Lzaro Crdenas
Profesor:
Ing. Marcelo Alonso Mondragn
Materia:
Administracin de base de datos
Integrantes del proyecto:
Carlos Hctor Cruz Lpez
Marco Antonio Villanueva Guzmn
Unidad 3.- Configuracin y administracin de espacio en disco
-
Administracin de Base de Datos Unidad III
1
ndice
Manual Oracle database 11g
1 Estructura lgica y fsica de Oracle database
................................................... 2
1.1 Estructura lgica
.........................................................................................
2
1.2 Estructura fsica
..........................................................................................
3
2 Diferentes estructuras lgicas de almacenamiento y su relacin
con el SO ..... 4
3 Comandos utilizados para revisar la estructura lgica y fsica
de la BD ........... 9
3.1 Comandos para estructura lgica
...............................................................
9
3.2 Comandos para estructura fsica
..............................................................
11
4 Agregar ms espacio a la base de datos
........................................................ 13
5 Como funciona y donde se ubica la bitcora de la base de datos
.................. 18
6 Como es administrada la memoria en la instancia de la base de
datos, para
usuarios y procesos propios del DBMS
.............................................................
20
-
Administracin de Base de Datos Unidad III
2
Manual Oracle database 11g
1.- Estructura lgica y fsica de Oracle database
Una BD Oracle tiene una estructura fsica y una estructura lgica
que se
mantienen separadamente.
La estructura fsica se corresponde a los ficheros del sistema
operativo: de
datos (datafiles), de redo log y de control (controlfiles).
La estructura lgica est formada por los tablespace y los objetos
de un
esquema de BD (tablas, vistas, ndices,...).
1.1 Estructura lgica
Una BD se divide en unidades de almacenamiento lgicas:
tablespaces,
segmentos, extensiones y bloques de datos. Una base de datos de
Oracle
contiene como mnimo un tablespace.
Tablespaces.- La DB est dividida en una o ms unidades lgicas
de
almacenamiento llamadas tablespaces, que a su vez pueden estar
constituidos
por uno o ms archivos del S.O., llamados datafiles. Representan
un nivel medio
entre la DB y los datafiles. Por su parte, un datafile puede ser
asociado con slo
una tablespace y una base de datos.
Segmentos.- Un conjunto de uno o ms extensiones que contienen
todos los
datos para una estructura especfica en un tablespace.
El segmento de datos es una coleccin de extensiones que
mantiene
todos los datos para una tabla o cluster.
El segmento de ndices mantiene todos los datos para un
ndice.
El segmento de rollback mantiene datos para rollback,
consistencia de
lecturas o recuperacin
El segmento temporario es una coleccin de extensiones que
mantiene
datos pertenecientes a objetos temporales (consultas largas que
necesitan
guardar resultados intermedios).
-
Administracin de Base de Datos Unidad III
3
Extensin.- Se forma con uno o ms bloques. Cuando se aumenta
tamao de un
objeto en la base de datos, se usa una extensin para incrementar
el espacio.
Bloque de datos.- Un bloque de datos del Oracle Server es la
menor unidad de
almacenamiento usada por la base de datos.
Schemas Objects (Objetos del esquema).- Es la estructura lgica
que refiere
directamente a los datos de la DB
Figura 1. 1 Estructura lgica de la base de datos
1.2 Estructura fsica
La estructura fsica de la base de datos es el juego de archivos
del sistema
operativo en la base de datos. Una B.D. tiene uno o ms ficheros
de datos. Estos
ficheros son de tamao fijo y se establecen en el momento en que
se crea la base
de datos o en el momento en el que se crean tablespaces. La
estructura fsica
incluye los siguientes tipos de archivos:
Datafiles (Archivos de datos).- Sirven para el almacenamiento
fsico de la base
de datos y contienen todos los datos de la base de datos, como
las tablas e
ndices.
Redo Log files (Archivos de rehacer).- Mantienen registros de
todos los cambios
hechos a la base de datos, con fines de recuperacin. El
principal propsito de
estos archivos es servir de respaldo de los datos en la memoria
RAM. Este
-
Administracin de Base de Datos Unidad III
4
conjunto de archivos debe estar conformado por dos grupos como
mnimo y se
recomienda que cada grupo est almacenado en discos
separados.
Control files (Archivos de control).- Almacenan la estructura
fsica y el estado
de la base de datos. En estos archivos se especifican cules
datafiles conforman
la base de datos para poder tener acceso a los datos o para
poder recuperar la
base de datos, ante una falla.
Archived files (Archivos fuera de lnea).- Son archivos
opcionales donde se
guarda informacin vieja de los archivos de rehacer (Redo log
files), muy
convenientes para los respaldos de la base de datos.
Figura 1. 2 Estructura fsica de la base de datos
2.- Diferentes estructuras lgicas de almacenamiento y su relacin
con
el SO
Tablas y Columnas
Los datos son almacenados en la BD utilizando tablas. Cada tabla
est
compuesta por un nmero determinado de columnas.
Las tablas propiedad del usuario SYS son llamadas tablas del
diccionario
de datos. Proveen el catlogo del sistema que permite que la BD
se
gestione a s misma.
Las tablas se pueden relacionar entre ellas a travs de las
columnas que
las componen. La BD se puede utilizar para asegurar el
cumplimiento de
-
Administracin de Base de Datos Unidad III
5
esas relaciones a travs de la integridad referencial, que se
concreta en las
restricciones de tablas.
Restricciones de Tablas
Una tabla puede tener asociadas restricciones que deben cumplir
todas las
filas. Entre las restricciones que se pueden fijar algunas
reciben nombres
especiales.: clave primaria, clave ajena.
La clave primaria de una tabla est compuesta por las columnas
que hacen
a cada fila de la tabla una fila distinta.
La clave ajena se utiliza para especificar las relaciones entre
tablas. De
modo que un conjunto de columnas declaradas como clave ajena de
una
tabla deben tener valores tomados de la clave primaria de otra
tabla.
Usuarios
Una cuenta de usuario no es una estructura fsica de la BD, pero
est
relacionada con los objetos de la BD: los usuarios poseen los
objetos de la
BD. Existen dos usuarios especiales: SYS y SYSTEM. El
usuarios SYSposee las tablas del diccionario de datos; que
almacenan
informacin sobre el resto de las estructuras de la BD. El
usuario SYSTEM posee las vistas que permiten acceder a las
tablas del
diccionario, para el uso del resto de los usuarios de la BD.
Todo objeto creado en la BD se crea por un usuario, en un
espacio de
tablas y en un fichero de datos determinado. Toda cuenta de la
BD puede
estar unida a una cuenta del S.O., lo que permite a los usuarios
acceder a
la cuenta de la BD sin dar la clave de acceso.
Cada usuario puede acceder a los objetos que posea o a aquellos
sobre los
que tenga derecho de acceso.
Esquemas
El conjunto de objetos de un usuario es conocido como
esquema.
ndices
-
Administracin de Base de Datos Unidad III
6
Un ndice es una estructura de la BD utilizada para agilizar el
acceso a una
fila de una tabla. Cada fila tiene un identificador de fila,
ROWID, que
determina el fichero, bloque y fila dentro del bloque donde est
almacenada
la fila.
Cada entrada del ndice consiste en un valor clave y una ROWID.
Cada una
de estas entradas se almacena en un rbol B+.
Los ndices se crean automticamente cuando se define una
restriccin UNIQUE o PRIMARY KEY.
Clusters
Las tablas que son accedidas juntas frecuentemente pueden
ser
almacenadas juntas. Para ello se crea un cluster. De este modo
se
minimiza el nmero de E/S.
Las columnas que relacionan las tablas de un cluster se llaman
clave
del cluster.
Vistas
Conceptualmente, una vista puede considerarse como una mscara
que se
extiende sobre una o ms tablas, de modo que cada columna de la
vista se
corresponde con una o ms columnas de las tablas subyacentes.
Cuando
se consulta una vista, esta traspasa la consulta a las tablas
sobre las que
se asienta. Las vistas no se pueden indexar.
Las vistas no generan almacenamiento de datos, y sus
definiciones se
almacenan en el diccionario de datos.
Secuencias
Las definiciones de secuencias se almacenan en el diccionario de
datos.
Son mecanismos para obtener listas de nmeros secuenciales.
Procedimientos y funciones
-
Administracin de Base de Datos Unidad III
7
Un procedimiento es un bloque de cdigo PL/SQL, que se almacena
en el
diccionario de datos y que es llamado por las aplicaciones. Se
pueden
utilizar para implementar seguridad, no dando acceso
directamente a
determinadas tablas sino es a travs de procedimientos que
acceden a
esas tablas. Cuando se ejecuta un procedimiento se ejecuta con
los
privilegios del propietario del procedimiento. La diferencia
entre un
procedimiento y una funcin es que sta ltima puede devolver
valores.
Paquetes, Packages
Se utilizan para agrupar procedimientos y funciones. Los
elementos dentro
de los paquetes pueden ser pblicos o privados. Los pblicos
pueden ser
llamados por los usuarios, los privados estn ocultos a los
usuarios y son
llamados por otros procedimientos.
Disparadores, Triggers
Son procedimientos que son ejecutados cuando se procede un
determinado
evento en la BD. Se pueden utilizar para mejorar y reforzar la
integridad y la
seguridad de la BD.
Sinnimos
Para identificar completamente un objeto dentro de una BD se
necesita
especificar el nombre de la mquina, el nombre del servidor, el
nombre del
propietario y el nombre del objeto. Para hacer transparente todo
esto al
usuario se pueden utilizar los sinnimos. stos apuntarn a los
objetos y si
el objeto cambia de lugar o propietario, slo habr que modificar
el
sinnimo.
Existen sinnimos pblicos y privados. Los pblicos son conocidos
por
todos los usuarios de una BD. Los privados son locales a un
usuario.
Privilegios y Roles
-
Administracin de Base de Datos Unidad III
8
Para que un objeto pueda ser accedido por un usuario debe de
tener
otorgado ese privilegio. Ejemplos de privilegios son:
INSERT, SELECT, UPDATE, EXECUTE, etc.
Los roles son grupos de privilegios que pueden ser utilizados
para facilitar
la gestin de los privilegios. Los privilegios se pueden otorgar
a un rol, y los
roles pueden ser otorgados a mltiples usuarios.
Segmentos, Extensiones y Bloques
Los segmentos son los equivalentes fsicos de los objetos que
almacenan
datos. El uso efectivo de los segmentos requiere que el DBA
conozca los
objetos que utiliza una aplicacin, cmo los datos son
introducidos en esos
objetos y el modo en que sern recuperados.
Como los segmentos son entidades fsicas, deben estar asignados
a
espacios de tablas en la BD y estarn localizados en uno de los
ficheros de
datos del espacio de tablas. Un segmento est constituido por
secciones
llamadas extensiones, que son conjuntos contiguos de bloques
Oracle. Una
vez que una extensin existente en un segmento no puede almacenar
ms
datos, el segmento obtendr del espacio de tabla otra extensin.
Este
proceso de extensin continuar hasta que no quede ms espacio
disponible en los ficheros del espacio de tablas, o hasta que se
alcance un
nmero mximo de extensiones por segmento.
Segmento de Rollback
Para mantener la consistencia en lectura y permitir deshacer
las
transacciones, Oracle debe tener un mecanismo para reconstruir
la imagen
previa a una transaccin incompleta. Oracle utiliza los segmentos
de
rollback para esto.
Los segmentos de rollback pueden crecer tanto como sea necesario
para
soportar las transacciones.
-
Administracin de Base de Datos Unidad III
9
3.- Comandos utilizados para revisar la estructura lgica y fsica
de la
base de datos
3.1 Comandos para estructura lgica
Para revisar la estructura lgica de la base de datos en Oracle
se puede realizar
mediante algunos comandos que pueden ser ejecutados en SQL Plus
o SQL
Developer. Los comandos son los siguientes:
Consultar las tablespaces existentes:
Select * from V$TABLESPACE;
Figura 1. 3 Consulta tablespaces
Consultar todos los segmentos de la base de datos (estoy incluye
tablas,
ndices, y segmentos rollback entre otros):
select distinct SEGMENT_TYPE from DBA_SEGMENTS;
-
Administracin de Base de Datos Unidad III
10
Figura 1. 4 Consulta segmentos
Consultar las extensiones que forman los segmentos:
select distinct * from DBA_EXTENTS;
Figura 1. 5 Consulta extensiones
Consultar los bloques libres:
select distinct * from DBA_EXTENTS;
-
Administracin de Base de Datos Unidad III
11
Figura 1. 6 Consulta bloques libres
3.2 Comandos para estructura fsica
Para revisar la estructura fsica de la base de datos en Oracle
se ejecutan los
siguientes comandos:
Todos los ficheros de datos (datafiles) y su ubicacin:
Select * from V$DATAFILE;
Figura 1. 7 Consulta ficheros de datos
-
Administracin de Base de Datos Unidad III
12
Ficheros temporales:
Select * from V$TEMPFILE;
Figura 1. 8 Consulta ficheros temporales
Ubicacin y nmero de ficheros de control:
Select value
from v$system_parameter
where name = control_files;
Figura 1. 9 Consulta ficheros de control
Muestra la ubicacin de los log files:
Select * from v$logfile;
-
Administracin de Base de Datos Unidad III
13
Figura 1. 10 Consulta Redo log files
4.- Agregar ms espacio a la base de datos
Si se desea agregar ms espacio a una base de datos en Oracle, se
puede hacer
incrementando el tamao de un archivo de datos (data files) de un
Tablespace en
particular. Incrementar el tamao de un archivo de datos se puede
realizar de
forma grfica o ejecutando algunos comandos. A continuacin se
mostrara como
hacerlo en forma grfica:
El primer paso es dar click en Inicio > Oracle
OraDb11g_home1>Database
Control ABD.
Figura 1. 11 Inicio
-
Administracin de Base de Datos Unidad III
14
Posteriormente nos abrir el navegador y aparecer un apartado
donde
introduciremos el usuario y la contrasea.
Figura 1. 12 Login
Una vez dentro de la pgina principal hacer clic en la pestaa
Servers, en la
siguiente pgina podemos ver en la parte izquierda el link
Tablespaces,
hacer clic sobre l.
Figura 1. 13 Pgina principal
-
Administracin de Base de Datos Unidad III
15
En la pgina Tablespaces podemos ver todos los tablespaces que
tiene
nuestra base de datos, SYSAUX, SYSTEM, etc.
Vamos a ampliar el tablespace USERS que tiene en estos momentos
5 MB, le voy
a dar 5 MB ms para que tenga 10 MB en total. Realmente lo que
vamos
a ampliar es el datafile asociado al Tablespace USERS. Haremos
clic sobre el link
del nombre del tablespace que queremos ampliar, en este caso el
USERS.
Seleccionamos USER y le damos en editar.
Figura 1. 14 Seccin Tablespace
La pgina View Tablespace: Users nos muestra el detalle de todos
los atributos
del tablespace, en la seccin Datafiles veremos el detalle de o
los datafiles que
componen nuestro tablespace, volvemos a seleccionar editar para
modificar los
valores.
-
Administracin de Base de Datos Unidad III
16
Figura 1. 15 View Tablespace
En la seccin de almacenamiento dice incremento y pondremos los
KB, MB, GB,
TB y le damos en continuar.
Figura 1. 16 Editar datafile
-
Administracin de Base de Datos Unidad III
17
Haremos click en la opcin aplicar para completar la accin en la
parte de abajo.
Figura 1. 17 Informacin datafiles
Veremos que los cambios se han aplicado correctamente.
Figura 1. 18 Cambios aplicados
-
Administracin de Base de Datos Unidad III
18
Una forma ms sencilla de incrementar el tamao de un datafile en
Oracle es en
forma de comandos. Para hacer esto ejecutaremos el siguiente
comando ya sea
en SQL plus o SQL Developer. En este caso lo haremos en SQL
Developer.
alter database datafile
/app/Administrador/oradata/ABD/USERS01.dbf rezize
10m;
Figura 1. 19 Incrementar datafile
Como se muestra en la figura 1.19 el datafile llamado
USERS01.dbf ha sido
modificado correctamente. Se ha aumentado su tamao de 5 M a 10
M.
5.- Como funciona y donde se ubica la bitcora de la base de
datos
Redo Log Files (Ficheros de Recuperacin de datos).
Al alcanzar un tamao de 50 MB se crea otro archivo de redo lo el
cual lleva una
secuencia 1, 2,3n.
Qu hacen los redo log files?
Los Ficheros de redo log registran cambios a la base de datos
como resultado de
transacciones o acciones internas del servidor Oracle.
Para qu sirven los redo log file?
-
Administracin de Base de Datos Unidad III
19
Protegen la base de datos de la prdida de integridad en casos de
fallos causados
por suministro elctrico, errores en discos duros.
Cmo funcionan los redo log files?
Trabajan de manera cclica. Si un archivo redo log online se
llena LGWR pasar al
siguiente grupo de log en el cual se produce una operacin de
punto de control
(check point), la informacin es almacenada en el archivo de
control (control file).
Figura 1. 20 Redo log file
Su ubicacin de los Redo Log File es la siguiente:
C:\oracle\Administrador\oradata\ABD
Con el comando
select * from v$logfile; (muestra la ubicacin de los log)
select * from v$log; (indica cuantos log existen)
En esta imagen se muestran los archivos redo log files marcados
con azul.
-
Administracin de Base de Datos Unidad III
20
Figura 1. 21 Ubicacin de los Redo log files
Recuerde que los Redo Log File son archivos utilizados para
salvaguardar las
operaciones ejecutadas en una base de datos.
6.- Como es administrada la memoria en la instancia de la base
de
datos, para usuarios y procesos propios del DBMS
Instancia de una Base de Datos en Oracle
Cada instancia Oracle est asociada a una base de datos. Cuando
se inicia una
base de datos en un servidor (independientemente del tipo de
ordenador), se le
asigna un rea de memoria (SGA) y lanza uno o ms procesos. A la
combinacin
del SGA y de los procesos es lo que se llama instancia. La
memoria y los
procesos de una instancia gestionan los datos de la base de
datos asociada de
forma eficiente y sirven a uno o varios usuarios.
Figura 1. 22 Estructura de una instancia en Oracle
-
Administracin de Base de Datos Unidad III
21
Cuando se inicia una instancia Oracle monta la base de datos, es
decir, asocia
dicha instancia a su base de datos correspondiente. En un mismo
ordenador
pueden ejecutarse varias instancias simultneamente, accediendo
cada una a su
propia base de datos fsica.
nicamente el administrador de la base de datos puede iniciar una
instancia y
abrir una base de datos. Si una base de datos est abierta,
entonces el
administrador puede cerrarla y, cuando esto ocurre, los usuarios
no pueden
acceder a la informacin que contiene.
Estructura de memoria de Oracle
Cuando se habla de la estructura de memoria, se tienen dos
tipos:
SGA (rea Global del Sistema)
PGA (Program global area)
SGA: System Global Area o Shared Global Area.
Zona principal de la memoria de Oracle. Est dividida en varias
subtareas
desempeando cada una de estas una tarea totalmente distinta: la
Shared Pool, la
Database Buffer Cache (parmetro DB_BLOCK_BUFFERS) y el Redo Log
Buffer.
Shared pool:
Library Cache: se encuentra a su vez dividida en varios
apartados: zona
compartida de sql, zona privada de sql, procedimientos y
paquetes pl/sql y,
por ltimo, la zona de control y bloqueos propios de la library
cache.
Shared sql area o rea de sql compartido: se guardan los
rboles
sintcticos de las sentencias analizadas as como los planes de
ejecucin
elegidos para cada una.
Private sql area o zona privada de sql: por cada sesin diferente
que hay
en la base de datos se crea una zona de sql privado. Se
mantiene
informacin de las sentencias que se estn tratando en ese
momento.
Procedimientos y Paquetes PL/SQL: existe un rea diferenciada
para el
tratamiento de los procedimientos, funciones y paquetes pl/sql.
Se tratan en
esta zona igual que si fueran sentencias sql en la zona de sql
compartido.
Dictionary cache: mantiene datos de sus propias tablas y vistas
ya que
accede constantemente a ellas al ejecutar cualquier
sentencia.
DataBase Buffer Cache (rea de memoria Rpida): almacena los
bloques de
datos ledos resultado de las rdenes SQL ejecutadas por los
usuarios
conectados.
-
Administracin de Base de Datos Unidad III
22
RedoLogs (rea de registro rehacer): se registran los cambios
hechos a la base
de datos.
PGA (Program global area)
Destinada a guardar informacin de los procesos de usuario y
procesos de
background que corren en una instancia de la base de datos y que
a travs de
distintos procesos intercambian la informacin con la SGA.
Sort Areas (parmetro SORT_AREA_SIZE.): Son las zonas de memoria
que
Oracle reserva para realizar ordenaciones y que resultan mucho
ms rpidas si se
realizan en la memoria. Por supuesto, no todas las ordenaciones
caben en
memoria y en esos casos debe utilizar tambin el disco y, si
hemos configurado
bien el sistema, se realizarn en los tablespaces que hemos
definido como
temporales.
Figura 1. 23 Estructura de memoria en Oracle
Oracle cuenta con herramientas para verificar detalles de la
memoria SGA y PGA
as como tambin permite hacerle modificaciones. Para hacer esto
primero
accederemos a la pgina principal de Oracle. Hacemos click en el
Database
Control que se encuentra en Inicio > Oracle
OraDb11g_home1>Database
Control ABD e introduciremos el usuario y el password
correspondientes.
-
Administracin de Base de Datos Unidad III
23
Figura 1. 24 Pagina de logeo
Una vez dentro de la pgina principal seleccionaremos el link
Servidor y
posteriormente el de Asesores de memoria.
Figura 1. 25 Pgina principal
En esta imagen se puede observar un grfico que muestra el
historial de los
componentes de memoria.
-
Administracin de Base de Datos Unidad III
24
Figura 1. 26 Historial de asignaciones
Si bajamos un poco podemos observar el historial de componentes
de la memoria
SGA as como tambin una pequea grafica de que porcentaje de
memoria utiliza
cada componente del SGA. Ahora le daremos click en el link PGA
indicado con
una flecha roja.
Figura 1. 27 Componentes SGA
En este apartado podemos observar la PGA actual asignada as como
tambin la PGA mxima
entre otra informacin til. Daremos click en el botn Detalles de
Uso de Memoria PGA.
-
Administracin de Base de Datos Unidad III
25
Figura 1. 28 Seccin memoria PGA
En este recuadro podemos observar los detalles de uso de memoria
PGA.
Figura 1. 29 Detalle de uso de memoria PGA