Está en la página 1de 26

Administración de Base de Datos – Unidad III

Trabajo 1

Unidad 3.- Configuración y administración


de espacio en disco

Instituto Tecnológico de Lázaro Cárdenas


Profesor:
 Ing. Marcelo Alonso Mondragón
Carlos Héctor
Materia:
 el
[Escriba nombre de la de
Administración compañía]
base de datos
[Seleccione
Integrantes la
delfecha]
proyecto:
 Carlos Héctor Cruz López
 Marco Antonio Villanueva Guzmán

0
Administración de Base de Datos – Unidad III

Índice
Manual Oracle database 11g

1 Estructura lógica y física de Oracle database ................................................... 2

1.1 Estructura lógica ......................................................................................... 2

1.2 Estructura física .......................................................................................... 3

2 Diferentes estructuras lógicas de almacenamiento y su relación con el SO ..... 4

3 Comandos utilizados para revisar la estructura lógica y física de la BD ........... 9

3.1 Comandos para estructura lógica ............................................................... 9

3.2 Comandos para estructura física .............................................................. 11

4 Agregar más espacio a la base de datos ........................................................ 13

5 Como funciona y donde se ubica la bitácora 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

1
Administración de Base de Datos – Unidad III

Manual Oracle database 11g

1.- Estructura lógica y física de Oracle database


Una BD Oracle tiene una estructura física y una estructura lógica que se
mantienen separadamente.

 La estructura física se corresponde a los ficheros del sistema operativo: de


datos (datafiles), de redo log y de control (controlfiles).
 La estructura lógica está formada por los tablespace y los objetos de un
esquema de BD (tablas, vistas, índices,...).

1.1 Estructura lógica


Una BD se divide en unidades de almacenamiento lógicas: tablespaces,
segmentos, extensiones y bloques de datos. Una base de datos de Oracle
contiene como mínimo un tablespace.

Tablespaces.- La DB está dividida en una o más unidades lógicas de


almacenamiento llamadas tablespaces, que a su vez pueden estar constituidos
por uno o más 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 sólo
una tablespace y una base de datos.

Segmentos.- Un conjunto de uno o más extensiones que contienen todos los


datos para una estructura específica en un tablespace.

 El segmento de datos es una colección 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 recuperación
 El segmento temporario es una colección de extensiones que mantiene
datos pertenecientes a objetos temporales (consultas largas que necesitan
guardar resultados intermedios).

2
Administración de Base de Datos – Unidad III

Extensión.- Se forma con uno o más bloques. Cuando se aumenta tamaño de un


objeto en la base de datos, se usa una extensión 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 lógica que refiere


directamente a los datos de la DB

Figura 1. 1 Estructura lógica de la base de datos

1.2 Estructura física


La estructura física de la base de datos es el juego de archivos del sistema
operativo en la base de datos. Una B.D. tiene uno o más ficheros de datos. Estos
ficheros son de tamaño 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 física
incluye los siguientes tipos de archivos:

Datafiles (Archivos de datos).- Sirven para el almacenamiento físico 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 recuperación. El principal propósito de
estos archivos es servir de respaldo de los datos en la memoria RAM. Este

3
Administración de Base de Datos – Unidad III

conjunto de archivos debe estar conformado por dos grupos como mínimo y se
recomienda que cada grupo esté almacenado en discos separados.

Control files (Archivos de control).- Almacenan la estructura física y el estado


de la base de datos. En estos archivos se especifican cuáles 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 línea).- Son archivos opcionales donde se


guarda información vieja de los archivos de rehacer (Redo log files), muy
convenientes para los respaldos de la base de datos.

Figura 1. 2 Estructura física de la base de datos

2.- Diferentes estructuras lógicas de almacenamiento y su relación con


el SO
Tablas y Columnas

 Los datos son almacenados en la BD utilizando tablas. Cada tabla está


compuesta por un número determinado de columnas.
 Las tablas propiedad del usuario SYS son llamadas tablas del diccionario
de datos. Proveen el catálogo del sistema que permite que la BD se
gestione a sí misma.
 Las tablas se pueden relacionar entre ellas a través de las columnas que
las componen. La BD se puede utilizar para asegurar el cumplimiento de

4
Administración de Base de Datos – Unidad III

esas relaciones a través 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 física 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
información 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

5
Administración de Base de Datos – Unidad III

 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 automáticamente cuando se define una
restricción 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 número 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 máscara que se


extiende sobre una o más tablas, de modo que cada columna de la vista se
corresponde con una o más 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 números secuenciales.

Procedimientos y funciones

6
Administración de Base de Datos – Unidad III

 Un procedimiento es un bloque de código 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 través 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 función es que ésta última puede devolver valores.

Paquetes, Packages

 Se utilizan para agrupar procedimientos y funciones. Los elementos dentro


de los paquetes pueden ser públicos o privados. Los públicos pueden ser
llamados por los usuarios, los privados están 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.

Sinónimos

 Para identificar completamente un objeto dentro de una BD se necesita


especificar el nombre de la máquina, el nombre del servidor, el nombre del
propietario y el nombre del objeto. Para hacer transparente todo esto al
usuario se pueden utilizar los sinónimos. Éstos apuntarán a los objetos y si
el objeto cambia de lugar o propietario, sólo habrá que modificar el
sinónimo.
 Existen sinónimos públicos y privados. Los públicos son conocidos por
todos los usuarios de una BD. Los privados son locales a un usuario.

Privilegios y Roles

7
Administración de Base de Datos – Unidad III

 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 gestión de los privilegios. Los privilegios se pueden otorgar a un rol, y los
roles pueden ser otorgados a múltiples usuarios.

Segmentos, Extensiones y Bloques

 Los segmentos son los equivalentes físicos de los objetos que almacenan
datos. El uso efectivo de los segmentos requiere que el DBA conozca los
objetos que utiliza una aplicación, cómo los datos son introducidos en esos
objetos y el modo en que serán recuperados.
 Como los segmentos son entidades físicas, deben estar asignados a
espacios de tablas en la BD y estarán 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 extensión existente en un segmento no puede almacenar más
datos, el segmento obtendrá del espacio de tabla otra extensión. Este
proceso de extensión continuará hasta que no quede más espacio
disponible en los ficheros del espacio de tablas, o hasta que se alcance un
número máximo 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 transacción incompleta. Oracle utiliza los segmentos de
rollback para esto.
 Los segmentos de rollback pueden crecer tanto como sea necesario para
soportar las transacciones.

8
Administración de Base de Datos – Unidad III

3.- Comandos utilizados para revisar la estructura lógica y física de la


base de datos

3.1 Comandos para estructura lógica


Para revisar la estructura lógica 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;

9
Administración de Base de Datos – Unidad III

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;

10
Administración de Base de Datos – Unidad III

Figura 1. 6 Consulta bloques libres

3.2 Comandos para estructura física


Para revisar la estructura física de la base de datos en Oracle se ejecutan los
siguientes comandos:

Todos los ficheros de datos (datafiles) y su ubicación:

Select * from V$DATAFILE;

Figura 1. 7 Consulta ficheros de datos

11
Administración de Base de Datos – Unidad III

Ficheros temporales:

Select * from V$TEMPFILE;

Figura 1. 8 Consulta ficheros temporales

Ubicación y número de ficheros de control:

Select value
from v$system_parameter
where name = ‘control_files’;

Figura 1. 9 Consulta ficheros de control

Muestra la ubicación de los log files:

Select * from v$logfile;

12
Administración de Base de Datos – Unidad III

Figura 1. 10 Consulta Redo log files

4.- Agregar más espacio a la base de datos


Si se desea agregar más espacio a una base de datos en Oracle, se puede hacer
incrementando el tamaño de un archivo de datos (data files) de un Tablespace en
particular. Incrementar el tamaño de un archivo de datos se puede realizar de
forma gráfica o ejecutando algunos comandos. A continuación se mostrara como
hacerlo en forma gráfica:

El primer paso es dar click en Inicio > Oracle – OraDb11g_home1>Database


Control – ABD.

Figura 1. 11 Inicio

13
Administración de Base de Datos – Unidad III

Posteriormente nos abrirá el navegador y aparecerá un apartado donde


introduciremos el usuario y la contraseña.

Figura 1. 12 Login

Una vez dentro de la página principal hacer clic en la pestaña „Servers‟, en la


siguiente página podemos ver en la parte izquierda el link „Tablespaces‟,
hacer clic sobre él.

Figura 1. 13 Página principal

14
Administración de Base de Datos – Unidad III

En la página 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 más 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 Sección Tablespace

La página „View Tablespace: Users‟ nos muestra el detalle de todos los atributos
del tablespace, en la sección „Datafiles‟ veremos el detalle de o los datafiles que
componen nuestro tablespace, volvemos a seleccionar editar para modificar los
valores.

15
Administración de Base de Datos – Unidad III

Figura 1. 15 View Tablespace

En la sección de almacenamiento dice incremento y pondremos los KB, MB, GB,


TB y le damos en continuar.

Figura 1. 16 Editar datafile

16
Administración de Base de Datos – Unidad III

Haremos click en la opción aplicar para completar la acción en la parte de abajo.

Figura 1. 17 Información datafiles

Veremos que los cambios se han aplicado correctamente.

Figura 1. 18 Cambios aplicados

17
Administración de Base de Datos – Unidad III

Una forma más sencilla de incrementar el tamaño 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 tamaño de 5 M a 10 M.

5.- Como funciona y donde se ubica la bitácora de la base de datos


Redo Log Files (Ficheros de Recuperación de datos).

Al alcanzar un tamaño de 50 MB se crea otro archivo de redo lo el cual lleva una


secuencia 1, 2,3……n.

¿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?

18
Administración de Base de Datos – Unidad III

Protegen la base de datos de la pérdida de integridad en casos de fallos causados


por suministro eléctrico, errores en discos duros.

¿Cómo funcionan los redo log files?

Trabajan de manera cíclica. Si un archivo redo log online se llena LGWR pasará al
siguiente grupo de log en el cual se produce una operación de punto de control
(check point), la información es almacenada en el archivo de control (control file).

Figura 1. 20 Redo log file

Su ubicación de los Redo Log File es la siguiente:

C:\oracle\Administrador\oradata\ABD

Con el comando

select * from v$logfile; (muestra la ubicación de los log)

select * from v$log; (indica cuantos log existen)

En esta imagen se muestran los archivos redo log files marcados con azul.

19
Administración de Base de Datos – Unidad III

Figura 1. 21 Ubicación 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 más procesos. A la combinación
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

20
Administración de Base de Datos – Unidad III

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 simultáneamente, accediendo cada una a su
propia base de datos física.

Ú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 información 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
desempeñando cada una de estas una tarea totalmente distinta: la Shared Pool, la
Database Buffer Cache (parámetro 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
sintácticos de las sentencias analizadas así como los planes de ejecución
elegidos para cada una.
 Private sql area o zona privada de sql: por cada sesión diferente que hay
en la base de datos se crea una zona de sql privado. Se mantiene
información de las sentencias que se están 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 Rápida): almacena los bloques de


datos leídos resultado de las órdenes SQL ejecutadas por los usuarios
conectados.

21
Administración de Base de Datos – Unidad III

RedoLogs (Área de registro rehacer): se registran los cambios hechos a la base


de datos.

PGA (Program global area)


Destinada a guardar información de los procesos de usuario y procesos de
background que corren en una instancia de la base de datos y que a través de
distintos procesos intercambian la información con la SGA.

Sort Areas (parámetro SORT_AREA_SIZE.): Son las zonas de memoria que


Oracle reserva para realizar ordenaciones y que resultan mucho más rápidas si se
realizan en la memoria. Por supuesto, no todas las ordenaciones caben en
memoria y en esos casos debe utilizar también el disco y, si hemos configurado
bien el sistema, se realizarán 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 también permite hacerle modificaciones. Para hacer esto primero
accederemos a la página 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.

22
Administración de Base de Datos – Unidad III

Figura 1. 24 Pagina de logeo

Una vez dentro de la página principal seleccionaremos el link “Servidor” y


posteriormente el de “Asesores de memoria”.

Figura 1. 25 Página principal

En esta imagen se puede observar un gráfico que muestra el historial de los


componentes de memoria.

23
Administración de Base de Datos – Unidad III

Figura 1. 26 Historial de asignaciones

Si bajamos un poco podemos observar el historial de componentes de la memoria


SGA así como también una pequeña 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 también la PGA máxima
entre otra información útil. Daremos click en el botón “Detalles de Uso de Memoria PGA”.

24
Administración de Base de Datos – Unidad III

Figura 1. 28 Sección memoria PGA

En este recuadro podemos observar los detalles de uso de memoria PGA.

Figura 1. 29 Detalle de uso de memoria PGA

25

También podría gustarte