Post on 04-Apr-2018
7/31/2019 Primera Practica Oracle
1/35
Base de Datos II (Oracle)
JUAN ALEJANDRO ROSALES CORONEL
Estructuras de Bases de DatosQU ES UNA INSTANCIA DE BASE DE DATOS ORACLE?
INICIA
MEMORIA
BASEDE
DATOS
SERVIDORDE BASE
DE DATOS
ASIGNA
DISCO DURO
rea Global del Sistema (SGA)
Procesos en segundoplano
INSTANCIA
7/31/2019 Primera Practica Oracle
2/35
Base de Datos II (Oracle)
JUAN ALEJANDRO ROSALES CORONEL
Cada base de datos Oracle en ejecucin est asociada a una instancia de
Oracle. Cuando una base de datos se inicia en un servidor de bases de
datos, el software de Oracle asigna un rea de memoria compartida
denominada rea Global del Sistema (SGA) e inicia varios procesos en
segundo plano de Oracle. Esta combinacin de SGA y los procesos de
Oracle se denomina instancia de Oracle.
Despus de iniciar una instancia, el software de Oracle la asocia a una base
de datos concreta.
Esto se denomina montaje de la base de datos. La base de datos est ahora
lista para su apertura, lo que la hace accesible a los usuarios autorizados.
Varias instancias se pueden ejecutar simultneamente en la misma
computadora, accediendo cada una de ellas a su propia base de datos
fsica.
La arquitectura de la base de datos Oracle se puede ver como varios
componentes estructurales interrelacionados.
Una base de datos Oracle utiliza procesos y estructuras de memoria para
gestionar y acceder a la base de datos. Todas las estructuras de memoria
existen en la memoria principal de las computadoras que constituyen el
servidor de la base de datos. Los procesos son trabajos que funcionan en la
memoria de estas computadoras. Un proceso se define como thread de
control o mecanismo de un sistema operativo que puede realizar una serie
de pasos.
7/31/2019 Primera Practica Oracle
3/35
Base de Datos II (Oracle)
JUAN ALEJANDRO ROSALES CORONEL
Estructuras de Memoriade Oracle
Estructuras de Memoria de Oracle
Las estructuras de memoria bsicas asociadas a una instancia de Oracle
incluyen:
rea Global del Sistema (SGA):Compartida por todos los procesosde servidor y en segundo plano.
rea Global de Programa (PGA): Privada para cada proceso de
servidor y en segundo plano. Existe una PGA por cada proceso.
SGA es un rea de memoria que contiene datos e informacin de control
para la instancia.
Pool compartido Pool de Streams Pool grande
Pool JavaCach de
buffers de labase de datos
Buffer deredo log
Proceso deservidor
1 PGAProceso de
servidor2 PGA
Proceso ensegundo
plano PGA
SGA
7/31/2019 Primera Practica Oracle
4/35
Base de Datos II (Oracle)
JUAN ALEJANDRO ROSALES CORONEL
SGA incluye las siguientes estructuras de datos:
Cach de buffers de la base de datos:Almacena en cach los bloques
de datos que se recuperan de la base de datos.
Buffer de redo log:Almacena en cach la informacin de redo (utilizada
para la recuperacin de instancias) hasta que se pueda escribir en los
archivos redo log fsicos almacenados en el disco.
Pool compartido:Almacena en cach las distintas construcciones que se
pueden compartir entre usuarios.
Pool grande:Es un rea opcional que proporciona grandes asignaciones
de memoria para determinados procesos grandes, como operaciones de
recuperacin y copia de seguridad de Oracle y procesos de E/S del
servidor.
Pool Java:Se utiliza para todos los cdigos y datos Java especficos de
la sesin dentro de Java Virtual Machine (JVM).
Pool de Streams:Utilizado por Oracle Streams.
7/31/2019 Primera Practica Oracle
5/35
Base de Datos II (Oracle)
JUAN ALEJANDRO ROSALES CORONEL
Estructuras de Proceso
Estructuras de Proceso
Al llamar a un programa de aplicacin o herramienta de Oracle, como
Enterprise Manager, el servidor de Oracle crea un proceso de servidor
para ejecutar los comandos que emita la aplicacin. El servidor de Oracle
tambin crea un juego de procesos en segundo plano para una instancia
que interactan entre s y con el sistema operativo para gestionar lasestructuras de memoria, realizar una E/S asncrona para escribir datos en
disco y llevar a cabo otras tareas necesarias. El que estn presentes unos
procesos en segundo plano u otros depende de las funciones que se estn
utilizando en la base de datos.
7/31/2019 Primera Practica Oracle
6/35
Base de Datos II (Oracle)
JUAN ALEJANDRO ROSALES CORONEL
Gestin de Instancias de Oracle
Un servidor de bases de datos Oracle consta de una base de datos Oracle
y una instancia de Oracle. Una instancia de Oracle est formada por
estructuras de memoria conocidas como rea Global del Sistema (SGA) y
por procesos en segundo plano que manejan gran parte del trabajo en
segundo plano relacionado con la ejecucin de una instancia. Los procesos
en segundo plano ms comunes son los siguientes:
Monitor del sistema (SMON): Realiza la recuperacin de fallos
cuando la instancia se inicia despus de un fallo.
Control de procesos (PMON): Realiza la limpieza de procesos
cuando falla un proceso de usuario.
7/31/2019 Primera Practica Oracle
7/35
Base de Datos II (Oracle)
JUAN ALEJANDRO ROSALES CORONEL
Escritor de la base de datos (DBWn):Escribe bloques modificados
de la cach de buffers de la base de datos en los archivos de datos del
disco.
Punto de control (CKPT):Actualiza todos los archivos de datos y de
control de la base de datos para indicar el punto de control ms
reciente.
Escritor de log (LGWR):Escribe las entradas de redo log en el disco.
Proceso de archivado (ARCn): Copia los archivos redo log en un
almacenamiento de archivado cuando se produce un cambio de log.
7/31/2019 Primera Practica Oracle
8/35
Base de Datos II (Oracle)
JUAN ALEJANDRO ROSALES CORONEL
Proceso de Servidor y Cach de Buffers de la Base deDatos
Cuando se procesa una consulta, el proceso del servidor de Oracle busca en
la cach de buffers de la basede datoscualquier bloque que necesita. Si
no encuentra el bloque en la cach de buffers de la base de datos, el
proceso de servidorlee el bloque del archivo de datos y coloca una copia
en esa cach. Puesto que es posible que solicitudes posteriores del mismo
bloque encuentren el bloque en memoria, las solicitudes no requerirn
lecturas fsicas. El servidor de Oracle utiliza el algoritmo de uso menos
reciente para dejar obsoletos los buffers a los que no se ha accedido
ltimamente y crear espacio para los nuevos bloques en la cach de buffers
de la base de datos.
7/31/2019 Primera Practica Oracle
9/35
Base de Datos II (Oracle)
JUAN ALEJANDRO ROSALES CORONEL
Los buffers de la cach de buffers pueden tener uno de los siguientes cuatro
estados:
Asignado: Se evita que varias sesiones escriban en el mismo bloque al
mismo tiempo.
Las dems sesiones esperan para acceder al bloque.
Limpio: El buffer ahora no est asignado y es candidato para quedarse
obsoleto inmediatamente si no se vuelve a hacer referencia al contenido
actual (bloque de datos).
El contenido est sincronizado con el contenido de los bloques
almacenado en el disco o el buffer contiene una instantnea de lectura
consistente (CR) de un bloque.
Libre o no utilizado: El buffer est vaco porque la instancia se acaba de
iniciar. Este estado es muy parecido al estado limpio, salvo que el buffer
no se ha utilizado.
Sucio: El buffer ya no est asignado pero el contenido (bloque de datos)
ha cambiado y se debe vaciar en el disco con DBWnantes de que se
quede obsoleto.
7/31/2019 Primera Practica Oracle
10/35
Base de Datos II (Oracle)
JUAN ALEJANDRO ROSALES CORONEL
Estructura de Base de Datos Fsica
Los archivos que constituyen una base de datos Oracle estn organizados
del siguiente modo:
Archivos de control:Contienen datos sobre la propia base de datos (es
decir, informacin sobre la estructura de la base de datos fsica). Estos
archivos son crticos para la base de datos.
Sin ellos, no se pueden abrir los archivos de datos para acceder a los
datos que contiene la base de datos.
Archivos de datos:Contienen los datos de aplicacin o de usuario de la
base de datos.
Archivos redo log en lnea:Permiten la recuperacin de instancias de la
base de datos. Si la base de datos falla y no pierde archivos de datos, la
7/31/2019 Primera Practica Oracle
11/35
Base de Datos II (Oracle)
JUAN ALEJANDRO ROSALES CORONEL
instancia puede recuperar la base de datos con la informacin de dichos
archivos.
Los siguientes archivos adicionales son importantes para la correcta
ejecucin de la base de datos:
Archivo de parmetros:Se utiliza para definir el modo de configurar la
instancia cuando se inicie.
Archivo de contraseas:Permite a los usuarios conectarse a la base de
datos de forma remota y realizar tareas administrativas.
Archivos de copia de seguridad:Se utilizan para la recuperacin de la
base de datos.
Normalmente restaura un archivo de copia de seguridad cuando un fallo
del medio fsico o un error del usuario ha daado o suprimido el archivo
original.
Archivos archive log: Contienen un historial en curso de los cambios de
datos (redo) generados por la instancia. Mediante estos archivos y una
copia de seguridad de la base de datos, se puede recuperar un archivo de
datos perdido. Es decir, los archive logs permiten la recuperacin de
archivos de datos restaurados.
Archivos de rastreo: Cada proceso de servidor y en segundo plano
puede escribir en un archivo de rastreo asociado. Cuando un proceso
detecta un error interno, vuelca informacin sobre el error en su archivo de
rastreo. Parte de la informacin escrita en un archivo de rastreo va
destinada al administrador de la base de datos, mientras que otra
informacin es para los Servicios de Soporte Oracle.
Archivos log de alertas: Son archivos de rastreo especiales. Tambin se
conocen como logs de alertas. El log de alertas de una base de datos es
un log cronolgico de mensajes y errores. Oracle recomienda revisar
estos archivos.
7/31/2019 Primera Practica Oracle
12/35
Base de Datos II (Oracle)
JUAN ALEJANDRO ROSALES CORONEL
Tablespaces y Archivos de Datos
Una base de datos se divide en unidades lgicas de almacenamiento
denominadas tablespaces, que se pueden utilizar para agrupar estructuras
lgicas relacionadas. Cada base de datos est dividida lgicamente en uno oms tablespaces. Se crean explcitamente uno o ms archivos de datos
para cada tablespace con el fin de almacenar fsicamente los datos de todas
las estructuras lgicas de un tablespace.
Nota: Tambin pueden crear tablespaces de archivo grande, que son
tablespaces con un nico archivo de datos aunque de gran tamao (hasta 4
mil millones de bloques de datos). Los tablespaces de archivo pequeo
7/31/2019 Primera Practica Oracle
13/35
Base de Datos II (Oracle)
JUAN ALEJANDRO ROSALES CORONEL
tradicionales (utilizados por defecto) pueden contener varios archivos de
datos, pero los archivos no pueden ser tan grandes.
Tablespaces y Archivos de Datos
Las bases de datos, tablespaces y archivos de datos estn
estrechamente relacionados pero presentan importantes diferencias:
Una base de datos Oracle consta de una o ms unidades lgicas de
almacenamiento denominadas tablespaces, que en conjunto almacenan
todos los datos de la base de datos.
Cada tablespace de una base de datos Oracle se compone de uno o ms
archivos denominados archivos de datos, que son estructuras fsicas que
7/31/2019 Primera Practica Oracle
14/35
Base de Datos II (Oracle)
JUAN ALEJANDRO ROSALES CORONEL
se ajustan al sistema operativo en el que se est ejecutando el software
de Oracle.
Los datos de una base de datos se almacenan en conjunto en los archivos
de datos que constituyen cada tablespace de la base de datos. Por
ejemplo, la base de datos Oracle ms simple tendra dos tablespaces (los
tablespaces obligatorios SYSTEM y SYSAUX), cada uno de ellos con un
archivo de datos. Otra base de datos puede tener tres tablespaces,
compuestos cada uno por dos archivos de datos (un total de seis archivos
de datos).
Una nica base de datos puede tener hasta 65.534 archivos de datos.
CREAR TABLESPACE:
- TBS_CLASE_DATA
- TBS_CLASE_INDEX
-
7/31/2019 Primera Practica Oracle
15/35
Base de Datos II (Oracle)
JUAN ALEJANDRO ROSALES CORONEL
CREANDO TABLESPACE TBS_CLASE_DATA
Y le agregamos los archivos de datos:
- DF_CLASE_DATA_001.DBF
- DF_CLASE_DATA_002.DBF
7/31/2019 Primera Practica Oracle
16/35
7/31/2019 Primera Practica Oracle
17/35
Base de Datos II (Oracle)
JUAN ALEJANDRO ROSALES CORONEL
7/31/2019 Primera Practica Oracle
18/35
Base de Datos II (Oracle)
JUAN ALEJANDRO ROSALES CORONEL
7/31/2019 Primera Practica Oracle
19/35
Base de Datos II (Oracle)
JUAN ALEJANDRO ROSALES CORONEL
De la misma manera procedemos a crear el Tablespace
TBS_CLASE_INDEX
Y le agregamos los archivos de datos:- DF_CLASE_INDEX_001.DBF
7/31/2019 Primera Practica Oracle
20/35
Base de Datos II (Oracle)
JUAN ALEJANDRO ROSALES CORONEL
Cierre de una Instancia de Base de Datos Oracle
7/31/2019 Primera Practica Oracle
21/35
Base de Datos II (Oracle)
JUAN ALEJANDRO ROSALES CORONEL
Modos de Cierre (Apagado Base de Datos)
Modo de cierre:
A= ABORT
I = IMMEDIATE
T = TRANSACTIONAL
N = NORMAL
Opciones de SHUTDOWN
SHUTDOWN NORMAL
El modo de cierre por defecto es normal. El cierre normal de la base de datoscontina con las condiciones siguientes:
No se pueden realizar nuevas conexiones.
El servidor de Oracle espera a que todos los usuarios se desconecten
antes de completar el cierre.
Los buffers de la base de datos y de redo se escriben en disco.
Los procesos en segundo plano se terminan y el SGA se elimina de lamemoria.
7/31/2019 Primera Practica Oracle
22/35
Base de Datos II (Oracle)
JUAN ALEJANDRO ROSALES CORONEL
El servidor de Oracle cierra y desmonta la base de datos antes de cerrar
la instancia.
El siguiente inicio no necesita recuperacin de instancias.
SHUTDOWN TRANSACTIONAL
Un cierre transaccional impide que los clientes pierdan los datos, incluyendo
los resultados de su actividad actual. El cierre transaccional de la base de
datos contina con las condiciones siguientes:
Ningn cliente puede iniciar una nueva transaccin en esta instancia en
particular.
Un cliente se desconecta cuando el cliente finaliza la transaccin en
curso.
Cuando han finalizado todas las transacciones, se produce
inmediatamente un cierre.
El siguiente inicio no necesita recuperacin de instancias.
SHUTDOWN IMMEDIATE
El cierre inmediato de la base de datos contina con las condiciones
siguientes:
Las sentencias SQL actuales que est procesando la base de datos
Oracle no se completan.
El servidor de Oracle no espera a que se desconecten los usuarios que
estn conectados actualmente a la base de datos.
El servidor de Oracle realiza un rollback de transacciones activas y
desconecta todos los usuarios conectados.
El servidor de Oracle cierra y desmonta la base de datos antes de cerrarla instancia.
7/31/2019 Primera Practica Oracle
23/35
Base de Datos II (Oracle)
JUAN ALEJANDRO ROSALES CORONEL
El siguiente inicio no necesita recuperacin de instancias.
SHUTDOWN ABORT
Si las opciones de cierre NORMAL e IMMEDIATE no funcionan, puede
abortar la instancia de base de datos actual. El aborto de una instancia
contina con las condiciones siguientes:
Las sentencias SQL actuales que est procesando el servidor de Oracle
se terminan inmediatamente.
El servidor de Oracle no espera a que se desconecten los usuarios que
estn conectados actualmente a la base de datos.
Los buffers de la base de datos y de redo no se escriben en disco.
No se realiza un rollback de las transacciones sin confirmar.
La instancia se termina sin cerrar los archivos.
La base de datos no se cierra ni se desmonta.
El siguiente inicio necesita la recuperacin de instancias, lo que se
produce automticamente.
Nota: No se recomienda realizar una copia de seguridad de una base de
datos con estado inconsistente.
7/31/2019 Primera Practica Oracle
24/35
Base de Datos II (Oracle)
JUAN ALEJANDRO ROSALES CORONEL
Estados de Inicio de una Base de Datos Oracle
1. ARRANCAR
2. MONTAR
3. ABRIR
3. PARAR, FINALIZAR
2. DESMONTAR
1. CERRAR
1. ARRANCAR
2. MONTAR
7/31/2019 Primera Practica Oracle
25/35
Base de Datos II (Oracle)
JUAN ALEJANDRO ROSALES CORONEL
3. ABRIR
PARA CAMBIAR AL ESTADO DE MONTAR O ABRIR UNABASE DE DATOS ORACLE
PREVIAMENTE INICIADA COMO NOMOUNT
CAMBIANDO A ESTADO MOUNT
CAMBIANDO A ESTADO ABRIR
7/31/2019 Primera Practica Oracle
26/35
Base de Datos II (Oracle)
JUAN ALEJANDRO ROSALES CORONEL
Cmo funciona el modo ARCHIVELOG en
OracleOracle escribe en los archivos de registros de reconstruccin en lnea (redolog online) de manera cclica, cuando los usuarios realizan modificaciones en
la base de datos, Oracle guarda todas las transacciones que se van
realizando en estos archivos de redo log online. Empieza a escribir en el
primer archivo de redo log online, cuando se llena pasa al segundo, y as
sucesivamente hasta llegar al ltimo archivo de redo log online, cuando llenael ltimo inicia un proceso en segundo plano llamado LGWR(Log Writer)
para sobreescribir los contenidos del primer archivo de redo log online y
volver a empezar. Cuando Oracle se ejecuta en modo ARCHIVELOG el
proceso en segundo plano llamado ARCH hace una copia de cada archivo
de redo log online una vez que el proceso LGWR termina de escribir en l,
guarda dicha copia en los archivos dereconstruccin fuera de lnea (redo log
offline) en disco:
7/31/2019 Primera Practica Oracle
27/35
Base de Datos II (Oracle)
JUAN ALEJANDRO ROSALES CORONEL
7/31/2019 Primera Practica Oracle
28/35
Base de Datos II (Oracle)
JUAN ALEJANDRO ROSALES CORONEL
Activar el modo ARCHIVELOG en Oracle 11g R2
Antes hay que comprobar el estado de ARCHIVELOG:
Hay dos maneras:
1. Ejecutando la siguiente comando Oracle:
2. Tambin podremos comprobar el estado de ARCHIVELOG
ejecutando la siguiente consulta SQL:
7/31/2019 Primera Practica Oracle
29/35
Base de Datos II (Oracle)
JUAN ALEJANDRO ROSALES CORONEL
Tras asegurarnos de que la base de datos no est en modo
ARCHIVELOG, como hemos indicado anteriormente, ahora
ejecutaremos el siguiente comando para indicar la carpeta dedestino de los redo log offline:
alter system set
log_archive_dest_1='location=C:archive_log_offline' scope=spfile;
7/31/2019 Primera Practica Oracle
30/35
Base de Datos II (Oracle)
JUAN ALEJANDRO ROSALES CORONEL
Pasos para Activar el modo ARCHIVELOG
1. Primero bajar la base de datos mato la instancia y todo lo
dems:
2. Iniciamos la base de datos en modo MOUNTcon el comando:
3. Ejecutamos el siguiente comando para indicar a Oracle que la
base de datos se iniciar a partir de ahora en modo
ARCHIVELOG:
4.Abriremos la base de datos con el comando:
7/31/2019 Primera Practica Oracle
31/35
Base de Datos II (Oracle)
JUAN ALEJANDRO ROSALES CORONEL
A partir de ahora nuestra base de datos ya estar en modo
ARCHIVELOG. Podremos comprobarlo (como ya hemos indicado)
con el comando:
Y la sentencia SQL:
7/31/2019 Primera Practica Oracle
32/35
Base de Datos II (Oracle)
JUAN ALEJANDRO ROSALES CORONEL
Pasos para Desactivar el modo ARCHIVELOG en Oracle
11g R2
1. Primero bajar la base de datos mato la instancia y todo lo
dems:
2. Iniciamos la base de datos en modo MOUNTcon el comando:
3. Ejecutamos el siguiente comando para indicar a Oracle que la
base de datos se iniciar a partir de ahora en modo
NOARCHIVELOG:
7/31/2019 Primera Practica Oracle
33/35
Base de Datos II (Oracle)
JUAN ALEJANDRO ROSALES CORONEL
4.Abriremos la base de datos con el comando:
A partir de ahora nuestra base de datos ya no estar en modo
ARCHIVELOG. Podremos comprobarlo (como ya hemos indicado)
con el comando:
Y la sentencia SQL:
7/31/2019 Primera Practica Oracle
34/35
Base de Datos II (Oracle)
JUAN ALEJANDRO ROSALES CORONEL
ACTIVAR Y DESARTICAR ARCHIVELOG CON EL ENTERPRISE
MANAGER
7/31/2019 Primera Practica Oracle
35/35
Base de Datos II (Oracle)