Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Una base de datos relacional almacena los datos en un conjunto de relaciones simples.
Una relacin es un conjunto de tuplas.
Una tupla es un conjunto desordenado de valores de atributos.
Una tabla es la representacin en dos dimensiones de una relacin en la forma de filas
(tuplas) y columnas (atributos).
En una tabla cada columna representa un dominio de datos, cada columna tiene un
nombre y un tipo de datos asociado.
Una fila contiene un conjunto de informacin perteneciente a diferentes columnas pero
corresponde a un solo registro.
Una base de datos relacional almacena los datos en relaciones (tablas).
Los archivos de una base de datos pueden existir independientemente de una instancia.
Cerrar una instancia, sin esperar a que los usuarios terminen e impidiendo la conexin
de nuevos usuarios
SQL> shutdown inmediate
Cerrar una instancia por la terminacin de algn proceso de segundo plano en forma
anormal
SQL> shutdown abort
Los datos fsicos pueden ser vistos a nivel de sistema operativo. Por ejemplo los
archivos de la base de datos.
Los datos lgicos son aquellos como las tablas que solamente son significativos dentro
del contexto de la base de datos.
Las bases de datos tienen estructuras fsicas y lgicas que se mantienen separadas.
Ejemplo: renombrar un archivo de la base de datos no modifica el nombre de una tabla.
Las estructuras fsicas de base de datos (archivos) son los archivos en que se guardan
los datos. Cuando se crea una base de datos, los siguientes archivos se generan:
Archivos de datos (data files): Cada archivo de una base de datos en Oracle
tiene uno o ms archivos fsicos, que contienen todos los datos. Las estructuras
lgicas de bases de datos como tablas e ndices son almacenadas en los
archivos de datos.
Archivos de control: Cada base de datos Oracle tiene un archivo de control que
contiene metadatos que especifican la estructura fsica de la base de datos,
incluyendo el nombre de la base de datos y los nombres y ubicaciones de los
archivos de la base de datos.
Si esto se hace antes de crear la base de datos, entonces Oracle los crea
automticamente. Si lo que se desea es aadir uno entonces se cierra la base de
datos se copia el nuevo archivo a la nueva ubicacin, se da de alta en el archivo
init.ora y se reinicia la base de datos.
Describir la estructura de un archivo de control
SQL> desc v$controlfile
Listar los archivos de control
SQL> select * from v$controlfile
logfile
member
Otros archivos
Ejemplo de init.ora
###################################################################
###########
# Example INIT.ORA file
#
# This file is provided by Oracle Corporation to help you start by
providing
# a starting point to customize your RDBMS installation for your
site.
#
# NOTE: The values that are used in this file are only intended to
be used
# as a starting point. You may want to adjust/tune those values to
your
# specific hardware and needs. You may also consider using Database
# Configuration Assistant tool (DBCA) to create INIT file and to
size your
# initial set of tablespaces based on the user input.
###################################################################
############
# Change '<ORACLE_BASE>' to point to the oracle base (the one you
specify at
# install time)
db_name='ORCL'
memory_target=1G
processes = 150
db_block_size=8192
db_domain=''
db_recovery_file_dest='<ORACLE_BASE>/flash_recovery_area'
db_recovery_file_dest_size=2G
diagnostic_dest='<ORACLE_BASE>'
dispatchers='(PROTOCOL=TCP) (SERVICE=ORCLXDB)'
open_cursors=300
remote_login_passwordfile='EXCLUSIVE'
undo_tablespace='UNDOTBS1'
# You may want to ensure that control files are created on separate
physical
# devices
control_files = (ora_control1, ora_control2)
compatible ='12.0.0'
Estructuras de Memoria
Un mtodo alterno:
SQL> select * from v$sga;
Estructura de la SGA
Pool compartido (Shared Pool): Se relaciona con casi todas las operaciones de
la base de datos. Almacena varios tipos de datos de programa, como cdigo
SQL, PL/SQL parmetros del sistema e informacin del diccionario de datos.
Gran pool (Large Pool): Es un rea de memoria opcional que se destina a ubicar
segmentos de memoria que son demasiado grandes como para ubicarse en el
pool compartido. Proporciona segmentos de memoria de gran tamao para la
UGA, buffers de mensajes, buffers de E/S de los procesos de recuperacin
(RMAN).
Pool de Java (Java Pool): Es un rea de memoria que almacena cdigo Java
especfico para la sesin y datos dentro de la Java Virtual Machine (JVM). Esta
memoria incluye objetos de Java que son migrados del espaci de sesin de
Java al final de la llamada.
Pool reservado: es un rea de memoria que Oracle utiliza para ubicar trozos
grandes de memoria continuos.
Estructura de la PGA
La PGA est dividida en diferentes sub-reas, cada una con un propsito diferente:
rea privada de SQL: Mantiene informacin acerca de una sentencia SQL
analizada e informacin especfica para procesamiento (no confundir con el rea
SQL privada que se encuentra en la UGA). Se divide en:
Estructura de la UGA
Oracle crea procesos de servidor para manejar las solicitudes de los procesos del
cliente conectados a la instancia. Un proceso cliente siempre se comunica con la base
de datos a travs de procesos del servidor. Estos procesos realizan tareas como:
Procesos compartidos del servidor: En las conexiones compartidas del servidor, las
conexiones de los clientes se conectan a travs de una red a un proceso despachador,
no a un proceso de servidor. El despachador encola las solicitudes en el gran pool y una
vez que se tiene un resultado lo transmite al cliente.
Son procesos adicionales utilizados por una base de datos Oracle multiprocesamiento.
Los procesos de segundo plano realizan tareas de mantenimiento requeridas para
operar la base de datos y maximizar el desempeo para mltiples usuarios.
Cada proceso de segundo plano tiene una tarea separada, pero colabora con otros
procesos.
Obligatorios
Opcionales
Esclavos
Proceso Monitor de Proceso (Process Monitor Process, PMON): Monitorea los otros
procesos de segundo plano y realiza el proceso de recuperacin cuando un servidor o
un proceso despachador termina anormalmente. Es responsable de limpiar el cach de
buffer de la base de datos y liberar recursos que el proceso cliente estaba usando.
Proceso Monitor del Sistema (Monitor System Process, SMON): Se encarga de una
serie de tareas de limpieza del sistema que incluyen, realizar la recuperacin de la
instancia si es necesario al iniciar la instancia, recuperar transacciones terminadas que
fueron omitidas durante la recuperacin de la instancia, limpiar segmentos temporales
no utilizados, consolidar extensiones libres en los espacios de tablas manejados por el
diccionario.
Proceso Escritor de Base de Datos (Database Writer Process, DBW): Escribe los
contenidos de los buffers de base de datos en los archivos de datos. Aunque solamente
se requiere un proceso para realizar esta tarea (DBW0) se pueden configurar procesos
adicionales (DBW1DBWz, BW36bW99) para mejorar el desempeo.
Procesos de Cola de Trabajo (Job Queue Processes, CJQ0 y Jnnn): se ejecutan para
las tareas del usuario normalmente en modo de procesamiento por lotes. Cada trabajo
es una tarea definida por el usuario programada para ejecutarse una o ms veces. El
trabajo coordinador de procesos (CJQ0) se inicia u finaliza automticamente conforme lo
requiere el scheduler de Oracle. Pueden ejecutarse diferentes procesos de manera
concurrente en un determinado perodo de tiempo.
Procesos Esclavos de E/S (I/O Slave Processes, Innn): simulan entradas y salidas
asncronas para sistemas y dispositivos que no las soportan.
Utilizar mltiples hosts para procesar una tarea individual se conoce como
procesamiento distribuido. El procesamiento de front-end y el de back-end ocurren en
diferentes computadoras. El cliente y el servidor se ubican en diferentes hosts y se
conectan a travs de los Servicios de Red de Oracle (Oracle Net Services)
Los servicios de red de Oracle son un conjunto de componentes de red que proveen
soluciones de conectividad para toda la empresa en ambientes de cmputo
heterogneos y distribuidos.
Permiten establecer una sesin de red entre una instancia de base de datos y una
aplicacin, y de una instancia de base de datos a otra instancia de base de datos.
Despus de que una sesin se establece los servicios de red de Oracle actan como
mensajeros de datos para la aplicacin cliente y para el servidor de base de datos,
estableciendo y manteniendo una conexin, e intercambiando mensajes.
Software de Red
Oracle Net Foundation Layer: del lado del cliente las aplicaciones se
comunican con este programa para establecer y mantener las
comunicaciones. Utiliza TCP/IP para conectarse a la base de datos. En la
parte del servidor se enva un protocolo de red al Oracle protocol support
Layer que enva la informacin de regreso al Oracle Net Foundation Layer
para procesar la solicitud.
Un servicio de base de datos de Oracle se presenta a los clientes como un servicio. Una
base de datos puede tener uno o ms servicios asociados.
CONNECT-DATA contiene datos para identificar la conexin, los cuales son el SID
(alumnos), el nombre del servicio (alumnos.uaa.mx, alumnos es el nombre de la base de
datos y uaa.mx es el dominio en el que est) y el nombre de la instancia (alumnos), este
sera un dato opcional.
Almacenamiento
El almacenamiento de base de datos Oracle puede distinguir las estructuras fsicas y las
estructuras lgicas.
Las estructuras lgicas permiten tener un gran control del espacio de almacenamiento:
Aadir un archivo adicional a un espacio de tablas (por ejemplo si se nos est acabando
el espacio en un disco):
SQL> alter tablespace miespaciolocal
Eliminar un espacio de tablas con todos los objetos que contenga y el archivo de datos
en que se encuentra
SQL> drop tablespace miespaciolocal including contents and datafiles;
logfile group 2
(db01/Oracle/cc1/log_21c.log,
db02/Oracle/cc1/log_22c.log) size 5M reuse,
logfile group 3
(db01/Oracle/cc1/log_31c.log,
db02/Oracle/cc1/log_32c.log) size 5M reuse,
datafile db01/oradata/test/datos1.dbf
size 250M reuse
maxlogfiles 20
controlfile reuse
maxdatafile 500;
Bloqueos
Oracle utiliza los bloqueos para garantizar que diferentes sesiones no puedan
interactuar con los mismos datos que estn utilizando otras sesiones.
Este mecanismo se usa para proteger las integridad de los datos. El SMBD lo
administra automticamente.
Las transacciones normalmente terminan con una instruccin commit que la confirma
o con una instruccin rollback que la anula y regresa los datos a su estado anterior a
la transaccin.
Oracle establece un bloqueo de fila compartido cuando se accede a ella como parte
del conjunto de resultados de una consulta.
Bloqueos internos
Son mecanismos de bajo nivel que contribuyen a la gestin de operaciones internas del
SMBD.
Son establecidos para cuidar la integridad de algn recurso de la propia base de datos
(como la memoria compartida, los registros de reconstruccin, etc.).