Download - Arquitectura del gestor.pdf
-
Arquitectura del gestor
Caractersticas del DBMS
-
Objetivos
Identificar y definir la estructura de memoria y procesos de la instancia
Definir las estructuras fsicas de la base de datos
Analizar los requerimientos para instalacin
Instalar el software de BD en modo transaccional
Verificar las variables de ambiente y archivos importantes para instalacin
Configurar el DBMS
Utilizar los comandos generales de alta y baja del DBMS
-
Arquitectura
PGA
-
SERVIDOR ORACLE = INSTANCIA + BD
El objetivo de esta arquitectura es que la mayora de procesos se realice en el
SGA y no directamente en la BD
PGA
-
Estructura de memoria y
procesos de la instancia
-
PGA PROGRAM GLOBAL AREA
El proceso servidor tiene su propia memoria privada PGA la cual es utilizada para realizar sus operaciones y
almacenar informacin acerca de la sesin de usuario que
est conectado.
-
Una instancia es el conjunto de procesos y reas de memoria SGA (System Global Area) del servidor que utiliza Oracle para
administrar el acceso a una base de datos.
-
Shared Pool: es una cach que almacena parte del
diccionario de datos y la compilacin de algunas
consultas en SQL
-
Redo log buffer: contiene un registro de todas las transacciones dentro de la base, las cuales se almacenan en el respectivo archivo de Redo
y en caso de siniestro
se vuelven a ejecutar
aquellos cambios que
an no se hayan
reflejado en el archivo de
datos (commit).
Utiliza un algoritmo de Reemplazo de paginas
LRU
-
BUFFER CACHE
Almacena copias de
los bloques de datos,
extrados de los ficheros
de datos (data files)
Gestionado por un
algoritmo LRU.
INSTANCE
SGA
-
Procesos de la instancia
SMON DBWR PMON CKPT LGWR ARCH
BASE DE DATOS
INSTANCIA
-
PMON PROCESS MONITOR
Limpia aquellos procesos que el usuario termina de manera anormal,
verificando consistencias, liberacin de recursos, bloqueos.
-
SMON SYSTEM MONITOR
Despierta peridicamente y realiza algunas actividades entre las que se encuentran la recuperacin de errores y recuperacin de
espacio.
Aplica los cambios registrados en los redo log, abre la base de datos dejndola accesible a los usuarios, y hace rollback de las
transacciones que no terminaron.
-
CKPT CHECKPOINT
Sincroniza todo lo que se tenga en memoria, con sus correspondientes archivos en disco.
Se activa cuando el REDO LOG esta casi lleno o cada cierto periodo de tiempo.
-
ARCH ARCHIVER
Proceso opcional. Archiva automticamente los redo log
Si se activa el modo ARCH se asegura que se registrarn todos
los cambios hechos en la base de datos
-
DBWR DATABASE WRITER
Escribe bloques de datos modificados del buffer al disco, aquellas
transacciones que llegan a un estado de commit. Esto sucede
cuando:
Sucede un checkpoint.
El nmero de buffers modificados alcanza un umbral.
No quedan buffers libres.
Borramos o truncamos una tabla.
-
LGWR LOG WRITER
Escribe secuencialmente todo lo que se encuentra en el redo log
buffer hacia el redo file
Esto se realiza cuando:
Se hace commit La redo log buffer cache se llena Siempre antes que escriba el DBWR.
-
Estructuras fsicas de la
base de datos
-
DATA FILES
Los ficheros de datos contienen los datos de la base de
datos (informacin de las tablas, ndices, etc.). Tienen las
siguientes caractersticas:
Un fichero solo puede estar asociado con una base de datos.
Los ficheros de datos tienen atributos que permiten reservar automticamente para ellos extensiones cuando
se acaba el espacio.
Uno o ms ficheros de datos forman una unidad lgica de almacenamiento llamada tablespace.
-
CONTROL FILES
Un fichero de control contiene entradas que especifican la
estructura fsica de la base de datos. En particular contiene:
El nombre de la base de datos.
Los nombres y localizacin de los ficheros de la base de datos y los ficheros de redo log.
Fecha de creacin de la base de datos.
Informacin de sincronizacin para el proceso de recuperacin de la base de datos.
-
REDO LOG FILES
Los ficheros redo log guardan
todos los cambios hechos en los
datos y permiten volver a aplicarlos
en caso de cada de la BD.
Los ficheros redo log se organizan
en grupos. Una BD requiere al
menos dos grupos. Cada fichero
redo log dentro de un grupo
se llama miembro.
Trabaja de manera circular.
-
Ejemplo de funcionamiento de la arquitectura con la ejecucin de una sentencia SELECT
-
CONEXIN A UNA BASE DE DATOS
SQLPLUS
PROCESO SERVIDOR
CONEXIN CON LA
INSTANCIA
EJECUCION DE
SENTENCIAS SQL
CONEXIN CON EL
SERVIDOR
-
Select nombre from alumnos where id=35
1 2 3
4
5
-
update alumnos set nombre=Juan where id=35
1 2 3
4
5 6
En Redo log se
almacena
la direccin fsica del
bloque a modificar y
contenido nuevo
-
Instalacin
-
Una configuracin mnima de hardware:
RAM: 1 GB
MEMORIA VIRTUAL: Doble de la cantidad de RAM
ESPACIO EN DISCO DURO: Mnimo 4 GB
PROCESADOR: 1 GHz mnimo
Configuracin deseable:
RAM: 4 RAM
DISCO DURO: 5 GB PARA SW
2 GB BD
-
Herramientas Utilizadas para Administrar
Oracle Universal Installer
Asistente de Configuracin de Bases de Datos
Asistente de Actualizacin de Bases de Datos
Oracle Net Manager
Oracle Enterprise Manager
SQL*Plus
Recovery Manager
Oracle Secure Backup
Pump de datos
Herramientas de lnea de comandos
-
Descargar el sw de Oracle (gratuito solo para fines educativos a travs de la web oficial) y manual de instalacin
ORACLE 11G REALESE 2
Elegir nuestro SO, etc.
Tipos de instalacin ENTERPRISE EDITION
ESTNDAR EDITION
Definicin de variables
Grupo del SO con privilegios DBA grupo de usuario principal, el cual se utilizara para la instalacin el
sw
Per grupo de usuario con menos privilegios, por ejemplo: para arrancar la BD, parar, hacer copias de seguridad, etc.
Comprobacin automtica de los requerimientos del SO
-
Definicin de Variables de Entorno
ORACLE_BASE: directorio a partir del cual se instalan todos los productos
de oracle, llamado OFA OPTIMAL FLEXIBLE ARQUITECTURE de ORACLE
ORACLE_HOME: Directorio que contiene el software de la BD de Oracle, parte de ORACLE_BASE
ORACLE_SID: Nombre de la instancia inicial (ORCL por defecto)
NLS_LANG: Configuracin del idioma, territorio y juego de caracteres del cliente
LD_LIBRARY_PATH: Libreras compartidas con el SO
WINDOWS:
SE CREAN AUTOMATICAMENTE
-
Procedimiento general
de instalacin
-
PROCESO INSTALACIN LINUX
http://www.puschitz.com/InstallingOracle10gOnSUSE.shtml#StartupAndShutdownOfTheOracle10gDatabase
Downloading Novel SUSE Linux Downloading Oracle Software Checking Memory and Swap Space Checking Software Packages (RPMs) Checking Kernel Parameters Sizing Disk Space for Oracle Creating Oracle User Accounts Creating Oracle Directories Installing Oracle10g Oracle Post-installation Tasks
Startup and Shutdown of the Oracle10g Database
-
Configuracin
Para arrancar la instancia, el servidor Oracle tiene que leer el fichero de parmetros de inicializacin (spfile o
init), cuya ubicacin predeterminada es
$ORACLE_HOME/dbs
-
CONFIGURACIN
Init: se trata de un fichero de texto y editable
Spfile: es un fichero binario, no editable pero visualizable,
Se crea, a partir de un init, con:
CREATE SPFILE [='nombre'] FROM PFILE [='nombre'];
Si se omiten los nombres, toma los valores por defecto.
La BD no podr abrir el nuevo spfile hasta el siguiente arranque.
Se puede crear un init a partir de un spfile, invirtiendo la sintaxis.
Los parmetros del spfile se modifican con:
ALTER SYSTEM SET parametro = valor [SCOPE = MEMORY| SPFILE | BOTH]
Parmetros implcitos y explcitos
-
ARRANQUE Y PARADA DE LA
BASE DE DATOS
-
ACCESO A SQLPLUS
Cuando creamos una BDO se crean automticamente al usuario SYS con el rol DBA.
El SYS, cuya clave inicial es change_on_install, es el
habitualmente se usa para arrancar y parar la base de datos, as como para modificar los componentes de la misma (como instalar nuevas opciones).
Para conectar como SYS:
CONNECT SYS AS SYSDBA
CONNECT / AS SYSDBA
El DBA por excelencia. Se usa para las tareas administrativas habituales: alta de usuarios, creacin de tablespaces, etc.
-
ARRANQUE DE LA BDO
Cuando arrancamos una BDO, pasa por varios estados hasta que finalmente queda accesible a los usuarios: nomount, mount y open.
nomount se arranca la instancia:
lectura del fichero de parmetros (spfile o init), creacin de la SGA, arranque de los procesos background y apertura del fichero alert$ORACLE_SID.log.
Mount la BD se monta abriendo el fichero de control y obteniendo de l los nombres de los ficheros que la componen: datafiles y redo log.
Open se abre la BD, procediendo a la apertura de los ficheros de datos (datafiles) y los ficheros redo log. El servidor oracle comprueba la consistencia de la base de datos, y si es necesario el proceso SMON inicia la recuperacin de la instancia.
-
COMANDO STARTUP
Arranca la instancia y abre la BD. Permite parar el proceso de
arranque de la BD en cualquiera de sus fases (NOMOUNT,
MOUNT).
STARTUP (abre la bd con el fichero de parmetros por defecto).
STARTUP PFILE=/home/nombreinit.ora
STARTUP NOMOUNT (para crear la base de datos).
STARTUP MOUNT (para renombrar datafiles, activar
ARCHIVELOG o hacer una recuperacin completa de la BD).
STARTUP RESTRICT (slo permite la conexin de usuarios con el privilegio RESTRICTED SESION).
STARTUP FORCE (hace SHUTDOWN ABORT y arranca la BD).
-
PARAR LA BASE DE DATOS SHUTDOWN
Hay determinadas operaciones que requieren parar la BD; como la actualizacin de algunos parmetros del init.ora o hacer una copia fsica de la BD (copia en frio).
SHUTDOWN NORMAL, espera a que terminen todas las transacciones en curso y todas las sesiones, fuerza un checkpoint, adems de cerrar todos los ficheros y destruir (parar) la instancia.
SHUTDOWN TRANSACTIONAL, slo espera a que terminen las transacciones en curso, fuerza un checkpoint, cierra los ficheros y destruye (para) la instancia.
SHUTDOWN IMMEDIATE, hace rollback de todas las transacciones en curso y cierra todas las sesiones; cierra y desmonta la BD, adems de forzar un checkpoint, cerrar ficheros y parar la instancia.
SHUTDOWN ABORT, cierra la instancia (destruye procesos background y SGA) sin esperar a desmontar ni cerrar la BD (como en una caida, ni hace checkpoint ni cierra ficheros). Requiere recovery de la instancia al arrancar (SMON).
-
Sintaxis:
SHUTDOWN [NORMAL | TRANSACTIONAL | IMMEDIATE | ABORT]
NOTA: No se permiten ms conexiones una vez iniciado el SHUTDOWN
y este no se puede parar.
-
Fichero de log
alert_$ORACLE_SID.log
Recoge informacin de estado y errores:
Arranque y parada
Parmetros del init sin valores por defecto
Arranque de los procesos background
Cambio de fichero redolog
Creacin de tablespaces y segmentos de rollback
Comandos alter (alter database, alter tablespace, etc)
Errores ORA-600 y los que indican falta de espacio (llenado de tablas, ndices, tablespaces, etc)
-
FICHEROS DE TRAZA DE LOS PROCESOS
BACKGROUND
Registran errores producidos en los procesos background de la instancia: LGWR, DBWR, SMON, PMON, etc.
{ORACLE_SID}_nombreproceso_pid.trc
-
FICHEROS DE TRAZA DE LOS PROCESOS DE USUARIO
Recogen estadsticas de seguimiento de sentencias SQL o errores en las sesiones de usuario.
{ORACLE_SID}_ora_pid.trc;
tiles para el ajuste de sentencias SQL
Nivel de sesin
ALTER SESSION SET SQL_TRACE=TRUE/FALSE;
Desde una sesin del DBA con
dbms_system.set_sql_trace_in_session(sid,serial,true)
A nivel de instancia
con el parmetro SQL_TRACE=TRUE
Utilidad TKPROF
tkprof cursoXY_ora_23654.trc salida.txt explain=scott/tiger sys=no (solo analiza las sql del usuario)
-
Arquitectura del gestor
Caractersticas del DBMS