Professional Documents
Culture Documents
INGENIERA DE SISTEMAS
POPAYN
2017
QU ES ORACLE?
HISTORIA
En 1970 un trabajador de IBM Edgar Codd public un artculo titulado A Relational
Model of Data for Large Shared Data Banks donde descubre un novedoso sistema
para almacenar y trabajar con grandes bases de datos. Era el inicio de las bases de
datos relacionales.
En 1974 IBM inici un proyecto de investigacin para desarrollar System R un
prototipo de Sistemas de Gestin de Bases de Datos Relacionales. Crean un
lenguaje para System R llamado SQL (Structured Query Language).
En 1977 Larry Ellison, Bob Miner y Ed Oates fundan una empresa de consultora
llamada Software Development Laboratories (SDL) firman un contrato con la CIA
para disear un sistema especial de bases de datos con cdigo clave Oracle.
En 1978 Cambia su nombre a Relational Software Incorporated, la cual buscaba
obtener un producto compatible con el SQL de IBM.
En 1982 la empresa de Larry cambia el nombre al definitivo Oracle Corporation
En 1989 versin 6 del motor que agrega un lenguaje procedural PL/SQL.
En 1997 Oracle v8 comienza a soportar desarrollos orientados a objetos,
almacenamiento y ejecucin de contenido multimedia.
1999 versin Oracle 8i est a tono con requerimientos de la internet. Adems el
motor incorpora una mquina virtual de java interna para soportar el
almacenamiento y ejecucin de java dentro del motor.
Actualmente se encuentra en la versin Oracle Database 12c Release 2 (12.2)
Oracle Cloud at Customer en el que el un servidor Oracle se instala en el centro de
procesos de datos (CPD) del cliente, pero ste contrata los servicios con todas las
ventajas desde la nube y on-premise. Oracle Database 12.2 incluye mejoras en la
arquitectura multiusuario nica y en la tecnologa de base de datos in-memory.
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. Los datos del fichero de datos son ledos cuando se
necesitan y situados en una cach de memoria compartida para que el prximo
acceso a los mismos sea ms rpido.
El uso de memoria en el RDBMS Oracle tiene como propsito lo siguiente:
Almacenar los cdigos de los programas para empezar a ejecutarse.
Almacenar los datos necesarios durante la ejecucin de un programa.
Almacenar informacin sobre cmo es la transferencia entre procesos y perifricos.
Oracle mantiene dos estructuras principales de memoria: el rea Global de
Programa, Program Global Area, PGA; y el rea Global del Sistema, System Global
Area o tambin Shared Global Area, SGA.
SGA: El rea Global del Sistema (SGA) es un grupo de estructuras de la
memoria compartida que contiene datos e informacin de control de una
instancia de una BD. Si varios usuarios se conectan de forma concurrente a
la misma instancia, entonces los datos se comparten en el SGA, por lo que
tambin se llama shared global rea.
Adems, es de lectura/escritura. Todos los usuarios conectados a una
instancia multiproceso pueden leer la informacin contenida en el SGA de la
instancia y varios procesos pueden escribir en l durante la ejecucin.
La SGA se compone de:
Pool Compartido:
Adems, con respecto al acceso, los bferes pueden tener estas dos
situaciones:
Libres (Free o Unpinned): Ningn proceso le est utilizando.
Pinned: Estn siendo utilizados por un proceso, por lo que otra
sesin no puede acceder a este bfer.
La lectura de bferes sigue este proceso:
1. Se busca en esta cach. Si se encuentra se entrega, siempre y
cuando no est ocupado por otro proceso (pinned).
2. Si el dato no se encuentra en el bfer, ocurre un fallo de cach.
Este fallo implica leer los datos del disco y pasarlos a memoria
(los bferes necesarios se marcarn como bferes limpios).
3. En ambos casos, si la instruccin implica modificar los datos de
ese bfer, se modifica y pasa a ser un bfer sucio.
4. Cuando ocurre un checkpoint, el proceso DBWn, graba bferes
sucios a disco (lo mismo si se detecta que quedan pocos
bferes limpios o sin uso) y se marcan como bferes limpios.
Los bferes se agrupan en fondos de almacenamiento (Pools). Estos
fondos son:
Pool por defecto: Es el de uso normal
Pool KEEP: Se utiliza para bloques de uso muy frecuente,
podran ser reutilizados continuamente si no disponemos de
espacio suficiente.
Pool RECYCLE: Se utiliza para bloques de uso muy poco
frecuente.
Pools nK: Cachs orientados a estos elementos de tamao
especial.
Instancia De Oracle:
La instancia de Oracle. Formada por el conjunto de procesos y las estructuras de
datos en memoria que requiere el servidor cuando est en funcionamiento.
La instancia de Oracle permite acceder a la base de datos Oracle y permite abrir
nicamente una sola base de datos. La instancia de Oracle est compuesta de,
procesos en segundo plano que administran y aplican las relaciones entre las
estructuras fsicas y las estructuras de memoria.
Swapping.
El Swapping es el procedimiento de mover los bloques de memoria en los que estn
algunos procesos que no se estn utilizando, desde la memoria principal a un
espacio Swap dejando as hueco libre para poder cargar en memoria otros procesos
que s se van a utilizar.
El espacio Swap o espacio de intercambio es una zona de disco (un fichero o una
particin) que se usa para guardar las imgenes de los procesos que no han de
mantenerse en memoria fsica.
Este procedimiento es muy similar a la paginacin, con la diferencia principal de que
el directorio Swap funciona exactamente igual que la memoria RAM, por lo que
puede almacenar datos privados, contraseas y todo lo que almacena sta. Sin
embargo, en la paginacin, nicamente se sacan de memoria pginas
pertenecientes a procesos que no se estn utilizando, adems de que se pueden
sacar solo algunas pginas de los procesos y no stos enteros como se hace en el
Swapping.
PROCESOS
LGWR
Proceso de escritura de logs (LoG WriteR Process). Proceso encargado de escribir
en los archivos redo log. Escribe los datos del bfer de Redo Log (en la SGA) a los
archivos Redo Log en disco.
CKPT
Proceso encargado de registrar la llegada de un checkpoint, momento en el que se
graban bferes de datos en los archivos de datos. CKPT graba en los archivos de
control la posicin de checkpoint y el SCN correspondiente en los Red Log.
SMON
System Monitor. Proceso encargado de monitorizar el sistema.
PMON
Process Monitor. Se encarga de gestionar el fallo en un proceso de usuario
RECO
Se usa solo en bases de datos distribuidas. Resuelve los fallos ocurridos en
transacciones distribuidas. Cuando detecta fallos en una transaccin que tiene
diferentes datos en los distintos servidores, se encarga de resolver la situacin.
MMON y MMNL
MMON es el proceso monitor de manejabilidad (manageability monitor process),
encargado de realizar tareas relacionadas con el AWR, rea de volcado de
estadsticas de los servidores Oracle.
MMNL es el proceso ligero de monitorizacin de manejabilidad (manageability
monitor lite process), encargado de escribir estadsticas desde el histrico de
sesiones activas (ASH) en la SGA de Oracle a el disco.
Ambos son procesos necesarios para que la informacin estadstica sobre la
ejecucin de Oracle est al da.
ARCn.
Procesos de archivado (archiver processes), encargado de escribir los archivos redo
log histricos. Estos archivos son copias de los archivos Red Log.
CJQ0 y Jnnn
Es el gestor de colas de trabajo (job queue processes). Los trabajos son tareas
programadas por los usuarios que se pueden ejecutar varias veces.
Cada trabajo se asocia a un proceso Jnnn (por ejemplo J001).
FBDA
El FlashBack Data Archiver Process, es el proceso encargado de grabar la
informacin del rea de Flashback. Esta rea se usa para el caso de necesitar que
la base de datos regrese a un estado anterior.
La estructura lgica est formada por los tablespace y los objetos de un esquema de BD
(tablas, vistas, ndices, etc.).
ESTRUCTURA FSICA
Formada por:
FICHEROS DE DATOS (Data File): Los data files son los ficheros fsicos en los que se
almacenan los objetos(tablas, vistas...) que forman parte de un tablespace. Un data file
pertenece solamente a un tablespace y a una instancia de base de datos. Un tablespace
puede estar formado por uno o varias datas files. Cuando se crea un data file, se debe
indicar su nombre, su ubicacin o directorio, el tamao que va a tener y el tablespace al que
va a pertenecer.
ESTRUCTURA LGICA:
b. Data Base:
Es un conjunto de datos que representan informacin captada del mundo real, la cual est
ordenada para poder seleccionar pequeos fragmentos de ella segn las necesidades, es
un sistema de archivos electrnicos.
c. Tablespace:
Una base de datos est formada por una o varias unidades lgicas llamadas tablespaces.
Un tablespace es la unidad de almacenamiento lgico. Adems, cada una de estos
tablespaces est formada por uno o varios ficheros fsicos que son los datafiles. Un datafile
solamente puede pertenecer a un tablespace. Por lo tanto, los datafiles de una base de
datos son todos los datafiles que forman parte de todos los tablespaces de la base.
Cuando se crea una base de datos, hay que crear al menos un tablespace, por lo que
durante el proceso de creacin de la base de datos siempre se indica el tablespace principal
de sta, que se llama SYSTEM.
El Tablespace System
Cuando se crea una base de datos es obligatorio crear un tablespace inicial en el que se
van a crear los usuarios SYS y SYSTEM automticamente. Estos usuarios son los que
tienen la informacin necesaria para que funcione nuestra base de datos y podamos hacer
todo tipo de operaciones como, por ejemplo, crear nuevos usuarios o crear nuevos
tablespaces y tablas en esos nuevos tablespaces.
Este tablespace inicial se llama por defecto SYSTEM. Es una pieza clave para un buen
funcionamiento de la base de datos ya que en l residen todos los objetos de los usuarios
SYS y SYSTEM.
Es muy recomendable crear al menos otro tablespace nuevo distinto al SYSTEM. As, todos
los nuevos usuarios que creemos en nuestra base de datos, junto con todas sus tablas e
ndices se almacenarn en un tablespace diferente a SYSTEM. Se realiza esta separacin
para evitar que se bloquee toda la base de datos si ocurre algo grave en el tablespace
SYSTEM. Suele ser habitual que para nuestras aplicaciones creemos usuarios y tablas en
las que introducimos informacin y que sin darnos cuenta se llene de informacin el
tablespace en el que estn estas tablas. Si no hemos sido previsores, podemos haber
llenado el tablespace SYSTEM con lo que es posible que se paralice toda la base de datos.
d. Segment:
Un segmento almacena la informacin de una estructura lgica de Oracle dentro de un
Tablespace. Est formado por una o ms extensiones y, a medida que va creciendo el
segmento se van asignando nuevas extensiones al mismo. Hay cuatro tipos de segmentos:
de datos, de ndices, temporales y de rollback.
Tendremos segmentos de datos para tablas o clusters, segmentos de ndices para ndices,
segmentos de rollback para poder deshacer o rehacer cambios por transacciones y
segmentos temporales.
Un segmento de datos es el lugar donde se almacenan todos los datos de una tabla que no
est particionada o que no forme parte de un clster, de una particin de una tabla
particionada o, de un clster de tablas. Se crea el segmento de datos a la hora de ejecutar
la sentencia create que crea la tabla, clster o particin. En dicha sentencia se indican
tambin los valores de la clusula storage, en el cul se va a determinar la forma en que
dicho segmento va a ir asignando y designando las extensiones.
El nivel de almacenamiento de base de datos lgica por encima de un punto que se llama
un segmento. Un segmento de es un conjunto de extensiones asignadas a una estructura
lgica determinada. Por ejemplo, los diferentes tipos de segmentos incluyen los siguientes:
Data Segment
Cada segmento no agrupado en tabla tiene un segmento de datos. Todos los de la tabla de
datos se almacenan en las extensiones de su segmento de datos. Cada grupo tiene un
segmento de datos. Los datos de cada tabla en el grupo son almacenados en el segmento
de datos del clster.
Index Segment
Cada ndice tiene una serie de sesiones de ndice que almacena todos sus datos.
Rollback Segment
Uno o ms segmentos rollback son creados por la base de datos administrador de una base
de datos para almacenar temporalmente "deshacer" la informacin. Esta informacin se
utiliza:
para generar la informacin base de datos de lectura consistente
durante la recuperacin de la base de datos comprometido a revertir las
transacciones para los usuarios.
Temporary Segment
Se crean cuando un Oracle SQL declaracin de las necesidades de un rea de trabajo
temporal para completar la ejecucin.
Cuando la instruccin termine su ejecucin, el temporal use extensiones segmento son
devueltos al sistema para su uso futuro.
e. Extent:
Una extensin es una unidad lgica de almacenamiento que est formada por un nmero
determinado de bloques de datos contiguos. La agrupacin de una o varias extensiones
forman un segmento que puede ser una tabla, un ndice, un segmento de rollback o un
segmento temporal. Por lo tanto, datos de una tabla, sabemos que estn en un solo
segmento de tipo tabla, que a su vez estar formado por una o varias extensiones y que,
cada una de esas extensiones est formada por un nmero determinado de bloques de
datos.
El siguiente nivel de espacio de base de datos lgica se llama un punto. Una medida
concreta es un a nmero de bloques contiguos de bloques de datos, obtenidos en una
dotacin nica, que sirve para almacenar un tipo especfico de informacin.
Cuando se crea una tabla, Oracle asigna al segmento de datos de la tabla inicial alcance de
un nmero determinado de bloques de datos. Aunque no hay registros han sido insertados.
Sin embargo, los bloques de datos de Oracle que corresponden a la medida inicial, se
reservan para que filas de tabla.
Si los bloques de datos de la extensin inicial de un segmento se completan y ms espacio
necesario para mantener los nuevos datos, Oracle asigna automticamente un grado
elemental de Una medida elemental es una medida posterior de la misma o mayor tamao
que la medida previamente asignado en ese segmento. (La siguiente seccin explica los
factores que controlan el tamao de las extensiones adicionales.)
Para fines de mantenimiento, el bloque de cabecera de cada segmento contiene un
directorio de las extensiones en ese segmento.
f. Data Block:
Un bloque es la unidad mnima de almacenamiento de informacin de Oracle. A los bloques
tambin se les conoce como "bloques de datos", "bloques lgicos" o "bloques Oracle". Cada
uno de estos bloques est formado por un nmero determinado de bloques del sistema
operativo. A la hora de crear una nueva base de datos se debe indicar cuntos bloques de
sistema operativo formarn un bloque de datos o bloque Oracle. Es muy importante decidir
bien este valor de antemano ya que una vez creada la base de datos ya no se puede
modificar ms que en migraciones a versiones ms actuales del producto.
todos los datos se almacenan en bytes. Cada una de ellas sistema tiene lo que se llama un
tamao de bloque. Peticiones de datos de Oracle en mltiplos de Oracle bloques de datos,
que no operan los bloques del sistema.
Puede establecer el tamao de bloque de datos para cada base de datos de Oracle al crear
la base de datos.
Este tamao de bloque de datos debe ser un mltiplo del tamao de bloque del sistema
operativo dentro del mximo (puerto especfico) para evitar el lmite de lo necesario / O.
Oracle data blocks are Bloques de datos de Oracle las ms pequeas unidades de
almacenamiento que Oracle puede utilizar o asignar
BIBLIOGRAFA:
https://es.wikipedia.org/wiki/Oracle_Database#Historia
http://abdarrayan.blogspot.com.co/search?updated-max=2009-04-14T12:50:00- 07:00&max-
results=7
https://docs.google.com/document/d/1xouCge3-dqe-
d7JM58cZ_8z_If_Q_PWxtLcHfzoR_0g/edit#
http://www.monografias.com/trabajos25/oracle/oracle.shtml#ixzz4eQeyTJaX
https://jorgesanchez.net/manuales/abd/arquitectura-oracle.html
https://oracle11gdesenmascarado.wordpress.com/2013/08/23/1-3-arquitectura-del-servidor-
de-oracle-database-vision-general/
http://dis.um.es/~jfernand/0405/dbd/DBD04T06-oracle.pdf