7/24/2019 Oracle Clase 01
1/11
UNIVERSIDAD NACIONAL JOSE FAUSTINO SANCHEZ CARRION
FACULTAD DE INGENIERIA
ESCUELA ACADEMICO PROFESIONAL DEINGENIERIA INFORMATICA
CURSOADMINISTRACION DE BASE DE DATOS
ORACLE 10g
ADMINISTRACIONSEPARATA N 01ARQUITECTURA DE ORACLE
DOCENTEING. CIP EDWIN IVAN FARRO PACIFICO
HUACHO-LIMAPERU
7/24/2019 Oracle Clase 01
2/11
Universidad Nacional Jos Faustino Snchez Carrin
Ing. CIP Edwin Ivn Farro Pacfico Pag 2
ORACLE ADMINISTRACION
Administradores de una Base de Datos OracleLos administradores de datos son los responsables del mantenimiento del servidor Oracle de formaque este pueda procesar las peticiones de los usuarios. Es necesario el conocimiento de laarquitectura de oracle para mantenerla de forma efectiva.
ArquitecturaInstancia
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 lapaginacin de memoria virtual del Sistema operativo.
Slo existe cuando el servidor oracle se est ejecutando.
La instancia es un lugar donde los usuarios actan sobre la base de datos.
Es la interfaz entre el usuario y la base de datos
Cul es el servicio del oracle?Inicio/Configuracin/Panel de Control/Herramientas administrativas/Servicios/OracleServiceOracleSi 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
La instancia es el lugar donde los usuarios actan sobre la base de datos.
Puede llamarse Admin
7/24/2019 Oracle Clase 01
3/11
Universidad Nacional Jos Faustino Snchez Carrin
Ing. CIP Edwin Ivn Farro Pacfico Pag 3
Por qu se carga la tabla a la instancia?Porque el acceso a memoria es ms rpido
InstanciaEs la interfaz entre el usuario y la BddSi la instancia est apagada no funciona la base de datos
Instancia trabajando en memoria
Se puede crear una base de datos para realizar transacciones de otra base de datos. En teoraOracle debe ser servidor dedicado
Modo Servidor Dedicado: Para cada conexin cliente, la base de datos asignar un recursodedicado exclusivo para ese cliente. Utilice este modo cuando el nmero total previsto deconexiones cliente sea pequeo o cuando los clientes realicen solicitudes reiteradas y de largaduracin a la base de datos.
La base de datos es fsica y se encuentra en el disco.
INSTANCIA
BDD
CLIENTE
CLIENTE
Copia en memoria
Usuario
Bdd Instancia Admin
256 RAM
Paginacin
100 RAM
200 RAM
1 Gb
7/24/2019 Oracle Clase 01
4/11
Universidad Nacional Jos Faustino Snchez Carrin
Ing. CIP Edwin Ivn Farro Pacfico Pag 4
Divisin de la instanciaEstructura 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.
Conexin a una Base de datosEl usuario que necesita una relacin interactiva con el servidor oracle, necesita primero estableceruna conexin a la base de datos. Es necesario realizar lo siguiente:El usuario ejecuta una herramienta administrativa como SQL*Plus, o ejecuta una aplicacindesarrollada como Oracle Form, generndose un proceso llamado: user process.En una configuracin elemental un usuario se anota en el servidor oracle especificando: nombre deusuario, contrasea y una base de datos, se crea un proceso en la mquina que es ejecutado en elservidor oracle. Este proceso recibe el nombre de Server process.
Proceso de conexin:
1. Inicio/ejecutar/cmd2. Cargar el sqlplus en modo dos
3. Establecer conexin a la base de datos.
El usuario system a pesar de ser administrador carece de algunos privilegios y se debe conectarcon un perfil especial.
SQL> Connect /As sysdba
7/24/2019 Oracle Clase 01
5/11
Universidad Nacional Jos Faustino Snchez Carrin
Ing. CIP Edwin Ivn Farro Pacfico Pag 5
Ver el nombre de la instancia
SQL>show parameter instante_name
NAME TYPE VALUE
Instancia_name string oracle
Ver el nombre de la base de datos
SQL>show parameter db_name
NAME TYPE VALUE
db_name string oracle
Entonces:
Nombre de la instancia : oracleNombre de la Base de Datos : oracle
SYSTEM GLOBAL AREA (SGA)Las estructuras de memoria de una instancia oracle estn contenidas en la regin de memoriallamda SGA, que contiene datos e informacin de control para el servidor oracle. La SGA estsituada en la memoria virtual del ordenador, donde reside el servidor Oracle. La SGA estcompuesta de varias estructuras de memoria, incluidas:
SQL>show sga
Total System Global Area 167772160Fixed Size 1246828Variable Size 79694228Database Buffers 79691776Redo Buffers 7139328
Ver tamao del SAGHay un parmetro que determina hasta cuanto crece el SGA.
SQL>show parameter sga_max_size.
BDD
FACTURAS
FACTURAS
Usuario 1
Usuario 2
SGAPGA
PROCESOS
I
N
S
T
AN
7/24/2019 Oracle Clase 01
6/11
Universidad Nacional Jos Faustino Snchez Carrin
Ing. CIP Edwin Ivn Farro Pacfico Pag 6
ESTRUCTURA DEL SGASe divide en estructuras persistentes y dinmicas.
Dinmicas
Se puede cambiar el valor sin necesidad de reinicar el oracle
PersistenteSe puede cambiar el valor slo si se reinicia el oracle.
Dnde cambian los valores?En el archivo inicial, el que carga las estructuras.
Cmo cambiar los valores del sga?Es una estructura persistente que necesita reiniciar el oracle.
Ejemplo:Cambiemos el tamao de la SGA a 120Mb.
Cerrar oracle
Encender oracle
La Pool Compartida (SHARED POOL)La pool compartida es una parte del SGA utilizada durante la fase parse. El tamao de la poolcompartida est especificado en el parmetro de inicializacin, SHARED_POOL_SIZE (es dinmico)del fichero de parmetros.Guarda los recursos ms usados, para luego reutilizarlos, haciendo de esta forma ms gil lastransacciones.
Ver parmetro:SQL> show parameter shared_pool_size
El shared pool est dividido en dos partes:
Library Cache:Cada vez que oracle ejecuta una instruccin SQL, el oracle inicializa el comando ysi est bien hace un plan de ejecucin y despus lo ejecuta.
Almacena los planes de ejecucin ms usados recientemente.
Texto de la sentencia
Arbol parse, que es la versin se la sentencia compilada.
SQL> alter systemset sga_max_size=170mscope=spfile
SQL>shutdown immediate;
SQL>startup;
7/24/2019 Oracle Clase 01
7/11
Universidad Nacional Jos Faustino Snchez Carrin
Ing. CIP Edwin Ivn Farro Pacfico Pag 7
Data Dictionary Cache:Almacena las estructuras de los objetos ms usados recientemente.Guarda las estructuras de los planes de trabajo del Library cache como tablas y columnas, nombresde ususario, claves y privilegios.
DATA BUFFER CACHE(sub parte del SGA)Guarda los bloque de datos ms usados recientemente.Guarda la informacin usada
Alamacena 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 propsito de recuperacin.
Si hay un corte de energa, al reencender el oracle busca las transacciones del RLB y si nograb lo realiza todo nuevamente.
LARGE POOL(parte del sga)Se utiliza para transacciones paralelas, como power puilderVer area:
SQL>show parameter large_pool_size;
JAVA POOL (parte del sga)Area de compilacin del javaVer area:
SQL>show parameter java_pool_size;
SHARED POOL
LC
DDC
SGA
Plan de trabajo: Verifica q existafactura y verifica campos
Copia de tabla
select * from factura
7/24/2019 Oracle Clase 01
8/11
Universidad Nacional Jos Faustino Snchez Carrin
Ing. CIP Edwin Ivn Farro Pacfico Pag 8
PROGRAM GLOBAL AREA (PGA) Es parte de la estructura global de la instancia
El PGA se crea con la conexin del usuario y con la transaccin.
Un PGA no ve a otro.
Cuando acaba una transaccin el PGA se borra.
ESTRUCTURAS DE PROCESOSUser ProcessUn proceso de usuario, conocido tambin como cliente, tiene las siguientes propiedades:
Es creado cuando un usuario ejecuta una herramienta o una aplicacin SQL*Plus o unaaplicacin Developer Suite.
Se ejecuta en el cliente; esto es, en la mquina en la que el usuario se anot directamente.
Es iniciada cuando la herramienta se ejecuta y se termina cuando el usuario se anotdirectamente.
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 efecte una solicitud.
Server Process:El proceso del servidor tiene las siguientes caractersticas:
Se ejecuta en la misma mquina que el servidor oracle
El proceso del usuario es creado cuando este solicita una conexin y generalmente seterminan cuando el usuario se desconecta.
Transacciones ejecutadas dentro del PGA
Background Process: Son los servicios que corren en automtico en Oracle.Se encarga de mantener la comunicacin entre la memoria y el disco.Est conformado por varios servicios:
Servicio DataBaseWriterEl contenido del DataBase BufferCache lo actualiza en los DataFileEsto quiere decir que un elemento de la base de datos es el DataFile
Qu es un DataFile?Archivos que guardan informacin de la memoria y tiene extensin dbf.
Aqu se guardan los objetos y datosObjetos: 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 lnea(la bdd es apagada) Sucede una interrupcin
Logo Writer (LGWR)Actualiza el contenido del Redo Log Buffer en el disco
RedoLogFile
7/24/2019 Oracle Clase 01
9/11
Universidad Nacional Jos Faustino Snchez Carrin
Ing. CIP Edwin Ivn Farro Pacfico Pag 9
Guarda el historial de las transaccionesCundo baja de memoria disco? Cuando hay un commit Cuando slo queda 1mb libre en el buffer Por defecto cada 3sgs actualiza la informacin en el disco
Antes del DBWr
SMON(System Monitor)Es el responsable de la recuperacin de datos y trabaja con el control File.
ControlFileGuarda el estado de la Bdd, se actualiza permanentemente.Sirve para el proceso de recuperacin.Los archivos tienen extensin CTL.
PMON (Process monitor)
Controla los PGA y le hace RollBack a todos los PGA que tengan problemas.
CHECK POINTActualiza el Control File y los DataFileVerifica 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
ESTRUCTURA LOGICA DE LA BASE DE DATOSLa arquitectura de la base de datos incluye las estructuras lgicas y fsicas que hacen la base dedatos.La estructura fsica consta de ficheros de control, ficheros log en lnea y ficheros de datos (nosreferimos al Data File, es decir como se realiza el almacenamiento en el).La estructura lgica de la base de datos incluye los tablespaces, segmentos, extensiones y bloquesde datos.La separacin de la estructura lgica y fsica proporciona un buen control del manejo de espacio endisco. Cuando las estructuras de almacenamiento lgico se crean, el espacio es colocado en lasbases de datos de acuerdo con los parmetros predefinidos. El administrador de la base de datostiene la potestad de definir o configurar estos parmetros de la misma. Para utilizar el espacio
eficiente y efectivamente, es importante comprender la estructura lgica de la base de datos.En resumen una estructura lgica 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 ms segmentos.
Un segmento est compuesto por extensiones
Una extensin est compuesto por bloques lgicos
Un bloque es la unidad de almacenamiento para el Oracle.
7/24/2019 Oracle Clase 01
10/11
Universidad Nacional Jos Faustino Snchez Carrin
Ing. CIP Edwin Ivn Farro Pacfico Pag 10
TablespacesGrupo de almacenamiento de objetos.Una Bdd como mnimo debe tener 1 tablespaces y este es el System Table Space, sin el la bdd nofunciona.Permite organizar los objetos que se almacenan en la Bdd.
SegmentosEspacio reservado para los objetos
DataBase
Tablespace
Segment
Extent
Oracle
block
Data file
Os block
Lgico Fsico
system tablas Ventas
Logstica Contabilidad
7/24/2019 Oracle Clase 01
11/11
Universidad Nacional Jos Faustino Snchez Carrin
Ing. CIP Edwin Ivn Farro Pacfico Pag 11
1 tablespaces -> n segmentos1 segmento -> 1 datafile
ExtendIndica como crece el segmento
Ejemplo:
1 cliente 50KbExtend 500Kb
BookUnidad mnima de almacenamientoUn extend est compuesto por bloques db_block
SQL>show parameter db_block;