Vous êtes sur la page 1sur 11

FACULTAD DE INGENIERIAS INDUSTRIAL, SISTEMAS

E INFORMATICA

ESCUELA ACADEMICO PROFESIONAL DE


INGENIERIA INFORMATICA

CURSO
BASE DE DATOS II

ARQUITECTURA DE ORACLE
SEPARATA Nº09

DOCENTE
MG. ING. EDWIN IVAN FARRO PACIFICO

HUACHO-LIMA
PERU
Universidad Nacional José Faustino Sánchez Carrión

ORACLE ADMINISTRACION

Administradores de una Base de Datos Oracle


Los administradores de datos son los responsables del mantenimiento del servidor Oracle de forma
que este pueda procesar las peticiones de los usuarios. Es necesario el conocimiento de la
arquitectura de oracle para mantenerla de forma efectiva.

Arquitectura
Instancia

Servidor Oracle

Base de datos

Instancia
 La instancia oracle consta de una estructura de memoria, llamada Area Global del sistema
(SGA), y de unos procesos background.
 Ocupa espacio de memoria temporal . Lo primero que toma es la memoria RAM y luego la
paginación de memoria virtual del Sistema operativo.
 Sólo existe cuando el servidor oracle se está ejecutando.
 La instancia es un lugar donde los usuarios actúan sobre la base de datos.
 Es la interfaz entre el usuario y la base de datos

¿Cuál es el servicio del oracle?


Inicio/Configuración/Panel de Control/Herramientas administrativas/Servicios/OracleServiceOracle
Si está iniciado está corriendo y es hay espacio de la memoria que está usando Oracle

Una instancia pertenece o está en uso con una base de Datos.

Podemos suponer que existe la base de datos admin..

˜
Identificador(nombre) = Bdd

Puede llamarse Admin

La instancia es el lugar donde los usuarios actúan sobre la base de datos.

Mg Ing. Edwin Iván Farro Pacífico Pag. 2


Universidad Nacional José Faustino Sánchez Carrión

Copia en memoria

INSTANCIA
CLIENTE

Usuario BDD
CLIENTE

¿Por qué se carga la tabla a la instancia?


Porque el acceso a memoria es más rápido

Instancia
Es la interfaz entre el usuario y la Bdd
Si la instancia está apagada no funciona la base de datos 2560 RAM

1000 RAM
Bdd Instancia Admin

200 Gb

2000 RAM Paginación

Instancia trabajando en memoria

Se puede crear una base de datos para realizar transacciones de otra base de datos. En teoría
Oracle debe ser servidor dedicado

Modo Servidor Dedicado: Para cada conexión cliente, la base de datos asignará un recurso
dedicado exclusivo para ese cliente. Utilice este modo cuando el número total previsto de
conexiones cliente sea pequeño o cuando los clientes realicen solicitudes reiteradas y de larga
duración a la base de datos.

La base de datos es física y se encuentra en el disco.

Mg Ing. Edwin Iván Farro Pacífico Pag. 3


Universidad Nacional José Faustino Sánchez Carrión

División de la instancia
Estructura de memoria: Es todo lo que tiene la instancia como lugar de almacenamiento
 SGA (System Global Area)
 PGA (Program Global Area)

Estructura de procesos: Todo lo que tiene la instancia donde van a correr los servicios.

Conexión a una Base de datos


El usuario que necesita una relación interactiva con el servidor oracle, necesita primero establecer
una conexión a la base de datos. Es necesario realizar lo siguiente:
El usuario ejecuta una herramienta administrativa como SQLPlus, o ejecuta una aplicación
desarrollada como Oracle Form, generándose un proceso llamado: user process.
En una configuración elemental un usuario se anota en el servidor oracle especificando: nombre de
usuario, contraseña y una base de datos, se crea un proceso en la máquina que es ejecutado en el
servidor oracle. Este proceso recibe el nombre de Server process.

Proceso de conexión:

1. Inicio/ejecutar/cmd
2. Cargar el sqlplus en modo dos

3. Establecer conexión a la base de datos.

El usuario system a pesar de ser administrador carece de algunos privilegios y se debe conectar
con un perfil especial.

SQL> Connect /As sysdba

Mg Ing. Edwin Iván Farro Pacífico Pag. 4


Universidad Nacional José Faustino Sánchez Carrión

Ver el nombre de la instancia

SQL>show parameter instante_name

NAME TYPE VALUE


Instancia_name string orcl

Ver el nombre de la base de datos

SQL>show parameter db_name

NAME TYPE VALUE


db_name string orcl

Entonces:
Nombre de la instancia : oracle
Nombre de la Base de Datos : oracle

SYSTEM GLOBAL AREA (SGA)


Las estructuras de memoria de una instancia oracle están contenidas en la región de memoria
llamda SGA, que contiene datos e información de control para el servidor oracle. La SGA está
situada en la memoria virtual del ordenador, donde reside el servidor Oracle. La SGA está
compuesta de varias estructuras de memoria, incluidas:

SQL>show sga

Total System Global Area 167772160


Fixed Size 1246828
Variable Size 79694228
Database Buffers 79691776
Redo Buffers 7139328

I PGA SGA
N
S FACTURAS
Usuario 1 T
A
N
PROCESOS

Usuario 2
BDD
FACTURAS

Mg Ing. Edwin Iván Farro Pacífico Pag. 5


Universidad Nacional José Faustino Sánchez Carrión

Ver tamaño del SAG


Hay un parámetro que determina hasta cuanto crece el SGA.

SQL>show parameter sga_max_size.

ESTRUCTURA DEL SGA


Se divide en estructuras persistentes y dinámicas.

Dinámicas
Se puede cambiar el valor sin necesidad de reinicar el oracle

Persistente
Se puede cambiar el valor sólo si se reinicia el oracle.

¿Dónde cambian los valores?


En el archivo inicial, el que carga las estructuras.

¿Cómo cambiar los valores del sga?


Es una estructura persistente que necesita reiniciar el oracle.

Ejemplo:
Cambiemos el tamaño de la SGA a 120Mb.
SQL> alter system
set sga_max_size=170m
scope=spfile

Cerrar oracle

SQL>shutdown immediate;

Encender oracle

SQL>startup;

La Pool Compartida (SHARED POOL)


La pool compartida es una parte del SGA utilizada durante la fase parse. El tamaño de la pool
compartida está especificado en el parámetro de inicialización, SHARED_POOL_SIZE (es dinámico)
del fichero de parámetros.
Guarda los recursos más usados, para luego reutilizarlos, haciendo de esta forma más ágil las
transacciones.

Ver parámetro:
SQL> show parameter shared_pool_size

El shared pool está dividido en dos partes:

Mg Ing. Edwin Iván Farro Pacífico Pag. 6


Universidad Nacional José Faustino Sánchez Carrión

Library Cache: Cada vez que oracle ejecuta una instrucción SQL, el oracle inicializa el comando y
si está bien hace un plan de ejecución y después lo ejecuta.
 Almacena los planes de ejecución más usados recientemente.
 Texto de la sentencia
 Arbol parse, que es la versión se la sentencia compilada.

Data Dictionary Cache: Almacena las estructuras de los objetos más usados recientemente.
Guarda las estructuras de los planes de trabajo del Library cache como tablas y columnas, nombres
de ususario, claves y privilegios.
SGA

SHARED POOL

select * from factura LC Plan de trabajo: Verifica q’ exista


factura y verifica campos
DDC Copia de tabla

DATA BUFFER CACHE(sub parte del SGA)


Guarda los bloque de datos más usados recientemente.
Guarda la información usada
Almacena el resultado de las operaciones.
Si oracle determina que no está siendo utilizado lo retira, pero antes lo actualiza en disco.

Ver data buffer cahe

SQL>show parameter db_cache_size;

REDO LOG BUFFER(RLB)(parte del sga)


 No se puede modificar, almacena el historial de las transacciones, como si fuese un registro
de todos los procesos.
 Para propósito de recuperación.
 Si hay un corte de energía, al reencender el oracle busca las transacciones del RLB y si no
grabó lo realiza todo nuevamente.

LARGE POOL(parte del sga)


Se utiliza para transacciones paralelas, como power puilder
Ver area:

SQL>show parameter large_pool_size;

JAVA POOL (parte del sga)


Area de compilación del java
Ver area:

SQL>show parameter java_pool_size;

Mg Ing. Edwin Iván Farro Pacífico Pag. 7


Universidad Nacional José Faustino Sánchez Carrión

PROGRAM GLOBAL AREA (PGA)


 Es parte de la estructura global de la instancia
 El PGA se crea con la conexión del usuario y con la transacción.
 Un PGA no ve a otro.
 Cuando acaba una transacción el PGA se borra.

ESTRUCTURAS DE PROCESOS
User Process
Un proceso de usuario, conocido también como cliente, tiene las siguientes propiedades:
 Es creado cuando un usuario ejecuta una herramienta o una aplicación SQL*Plus o una
aplicación Developer Suite.
 Se ejecuta en el cliente; esto es, en la máquina en la que el usuario se anotó directamente.
 Es iniciada cuando la herramienta se ejecuta y se termina cuando el usuario se anotó
directamente.
 Es iniciada cuando la herramienta se ejecuta y se termina cuando el usuario sale, o es
forzado a no continuar.
 El proceso del usuario incluye el programa interfaz del usuario (UPI)
 El UPI genera llamadas al servidor Oracle siempre que el usuario efectúe una solicitud.

Server Process:
El proceso del servidor tiene las siguientes características:
 Se ejecuta en la misma máquina que el servidor oracle
 El proceso del usuario es creado cuando este solicita una conexión y generalmente se
terminan cuando el usuario se desconecta.
 Transacciones ejecutadas dentro del PGA

Background Process: Son los servicios que corren en automático en Oracle.


Se encarga de mantener la comunicación entre la memoria y el disco.
Está conformado por varios servicios:

 Servicio DataBaseWriter
El contenido del DataBase BufferCache lo actualiza en los DataFile
Esto quiere decir que un elemento de la base de datos es el DataFile

¿Qué es un DataFile?
Archivos que guardan información de la memoria y tiene extensión dbf.

Aquí se guardan los objetos y datos


Objetos: procedimientos almacenados, vistas, índices de usuarios.

El DBWr realiza la escritura en los ficheros cuando:


 Cuando se llena el DataBase BufferCache
 Cuando a la base de datos se le saca de línea(la bdd es apagada)
 Sucede una interrupción

 Logo Writer (LGWR)


Actualiza el contenido del Redo Log Buffer en el disco

Mg Ing. Edwin Iván Farro Pacífico Pag. 8


Universidad Nacional José Faustino Sánchez Carrión

 RedoLogFile
Guarda el historial de las transacciones
¿Cuándo baja de memoria disco?
 Cuando hay un commit
 Cuando sólo queda 1mb libre en el buffer
 Por defecto cada 3sgs actualiza la información en el disco
 Antes del DBWr

 SMON(System Monitor)
Es el responsable de la recuperación de datos y trabaja con el control File.

 ControlFile
Guarda el estado de la Bdd, se actualiza permanentemente.
Sirve para el proceso de recuperación.
Los archivos tienen extensión CTL.

 PMON (Process monitor)


Controla los PGA y le hace RollBack a todos los PGA que tengan problemas.

 CHECK POINT
Actualiza el Control File y los DataFile
Verifica se hizo un Logo Writer(LGWR) o DataBase Writer (DBWr)

 ARCn (Archived Redo Log File)


Es opcional y por defecto está apagado.
Saca una copia en frio del Redo Log File

Mg Ing. Edwin Iván Farro Pacífico Pag. 9


Universidad Nacional José Faustino Sánchez Carrión

ESTRUCTURA LOGICA DE LA BASE DE DATOS


La arquitectura de la base de datos incluye las estructuras lógicas y físicas que hacen la base de
datos.
La estructura física consta de ficheros de control, ficheros log en línea y ficheros de datos (nos
referimos al Data File, es decir como se realiza el almacenamiento en el).
La estructura lógica de la base de datos incluye los tablespaces, segmentos, extensiones y bloques
de datos.
La separación de la estructura lógica y física proporciona un buen control del manejo de espacio en
disco. Cuando las estructuras de almacenamiento lógico se crean, el espacio es colocado en las
bases de datos de acuerdo con los parámetros predefinidos. El administrador de la base de datos
tiene la potestad de definir o configurar estos parámetros de la misma. Para utilizar el espacio
eficiente y efectivamente, es importante comprender la estructura lógica de la base de datos.
En resumen una estructura lógica organizada existe de la siguiente manera:
 Una Base de Datos Oracle esta compuesto de un grupo de tablespaces
 Un tablespaces puede estar definido por uno más segmentos.
 Un segmento está compuesto por extensiones
 Una extensión está compuesto por bloques lógicos
 Un bloque es la unidad de almacenamiento para el Oracle.

Lógico Físico

DataBase

Tablespace Data file

Segment

Extent

Oracle Os block
block

Mg Ing. Edwin Iván Farro Pacífico Pag. 10


Universidad Nacional José Faustino Sánchez Carrión

Tablespaces
Grupo de almacenamiento de objetos.
Una Bdd como mínimo debe tener 1 tablespaces y este es el System Table Space, sin el la bdd no
funciona.
Permite organizar los objetos que se almacenan en la Bdd.

system tablas Ventas

Logística Contabilidad

Segmentos
Espacio reservado para los objetos
1 tablespaces -> n segmentos
1 segmento -> 1 datafile

Extend
Indica como crece el segmento
Ejemplo:

1 cliente 50Kb
Extend 500Kb

Book
Unidad mínima de almacenamiento
Un extend está compuesto por bloques db_block

SQL>show parameter db_block;

Mg Ing. Edwin Iván Farro Pacífico Pag. 11