SlideShare a Scribd company logo
1 of 20
© 2013. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
En 20 minutos te cuento lo que sé de ...
ARQUITECTURA ORACLE
ÁTICA – 30/05/2013
Juan Luis Serradilla
© 2013. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
Componentes de un
Servidor Oracle y su
Funcionamiento al
Ejecutar Código SQL
© 2013. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
Contenido
1.- Base de Datos: estructura física y lógica
2.- Instancia: SGA y Procesos
3.- Servidor Oracle. Sesiones.
4.- Ejecución de una operación de Consulta
5.- Ejecución de una operación de Actualización
6.- Compilación del código SQL
7.- Resumen. Consumo y Optimización de Recursos
© 2013. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
BASE DE DATOS
Ficheros de datos, control y redo
● Apartado Primero
– Subapartado Primero
● Bla bla bla bla
© 2013. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
BASE DE DATOS
Estructura Lógica
● Una BD está compuesta por varios tablespaces
● Cada tablespace lo forman uno o más ficheros de datos
● Una tabla es un
segmento formado por una
o más extensiones dentro del
mismo tablespace
● Un segmento tiene al
menos una extensión
(unidad de asignación)
● La unidad mínima
de E/S es el bloque
Oracle (db_block_size) de
2/4/8/16/32Kb
TABLA
© 2013. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
BASE DE DATOS
Segmento, Extensión y Bloque
● Tipos de segmento: Table, Index, etc
● Extensión: conjunto contiguo de bloques
● Los índices de una tabla deben estar en otro tablespace
TABLA
TABLA
© 2013. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
INSTANCIA = SGA + PROCESOS
Memoria (SGA) y CPU (Procesos background)
● Apartado Primero
– Subapartado Primero
● Bla bla bla bla
© 2013. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
SGA (Shared Global Area)
Memoria Compartida en RAM
● Es una “gran caché” donde Oracle cachea el código (SQL,
PL/SQL) y los datos (bloques que contienen las filas de las
tablas). Es finita (normalmente LRU).
● Los datos se cachean en la Data Buffer Caché (bloques)
● El código en la Shared Pool (SQL y PL/SQL)
© 2013. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
INSTANCIA Y BASE DE DATOS
Independientes y Complementarias
● Apartado Primero
– Subapartado Primero
● Bla bla bla bla
© 2013. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
SERVIDOR ORACLE = INSTANCIA + BD
Una BD se abre mediante una Instancia
● Apartado Primero
– Subapartado Primero
● Bla bla bla bla
© 2013. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
SERVIDOR ORACLE
Cada sesión de BD arranca un proceso servidor
● Cada sesión consume
RAM (PGA) y CPU (proceso)
© 2013. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
CONSULTAR DATOS
El código se envía al servidor (RAM en PGA)
● Apartado Primero
– Subapartado Primero
● Bla bla bla bla
© 2013. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
CONSULTAR DATOS
El proceso servidor lo compila (CPU y RAM) y
accede a los datos del DD si es necesario (E/S)
● Apartado Primero
– Subapartado Primero
● Bla bla bla bla
© 2013. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
CONSULTAR DATOS
El proceso servidor busca los bloques en Buffer
Caché, trayéndolos de disco si hace falta (E/S)
● Apartado Primero
– Subapartado Primero
● Bla bla bla bla
© 2013. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
ACTUALIZAR DATOS
El proceso servidor hace los cambios SOLO en la
SGA (Data Buffer Cache y Buffer de Redo)
● Apartado Primero
– Subapartado Primero
● Bla bla bla bla
© 2013. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
ACTUALIZAR DATOS - COMMIT
LGWR vuelca a disco Buffer de Redo,
protegiendo los cambios en disco
● Apartado Primero
– Subapartado Primero
● Bla bla bla bla
© 2013. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
ACTUALIZAR DATOS
Asíncronamente, el DBWR volcará a disco los
bloques modificados en Data Buffer Cache
● Apartado Primero
– Subapartado Primero
● Bla bla bla bla
© 2013. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
Compilación Código SQL
Consume CPU y RAM. Reutilizar código
●
Análisis sintáctico y semántico (acceso al DD E/S), y cálculo del plan de
ejecución (consumo CPU). Sentencia compilada se guarda en SGA
(Shared Pool, consumo RAM).
●
Al compilar una sentencia SQL, hay que distinguir entre “hard” y “soft”
parse:
– Hard Parse: la sentencia SQL no existe en la Shared Pool
(Library Cache). Es costoso en términos de CPU y latches.
– Soft Parse: la sentencia SQL ya existe en la Shared Pool y
puede usar una versión de la misma.
●
Dos sentencias SQL son iguales si tienen el mismo texto (incluyendo
espacios en blanco y mayúsculas/minúsculas); y además:
– Los nombres de objetos deben apuntar a los mismo objetos
reales: SCOTT.EMP <> JUANLU.EMP
– El modo del optimizador debe ser el mismo: FIRST_ROWS <>
ALL_ROWS
– Los nombres, tipos y longitudes de las variables bind deben ser
los mismos: VARCHAR2(8) <> VARCHAR2(10)
– El entorno NLS (idioma y país) debe ser el mismo.
© 2013. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
RESUMEN
Consumo y Optimización de
Recursos
●
Tabla en un tablespace y sus índices en otro tablespace distinto.
●
Cada sesión de BD consume RAM y CPU: minimizar sesiones del pool.
●
La ejecución de código consume RAM y CPU al compilar, por lo que
debe reutilizarse para minimizar dichas compilaciones (PAQUETES):
escribirlo una vez y utilizarlo muchas y desde muchos sitios.
●
La ejecución de código genera E/S la primera vez que se accede a los
datos, y posteriormente, cada vez que hayan “salido” de caché:
optimizar el código para que recupere solo las filas necesrias y lo
haga rápidamente (optimizar modo de acceso, el más rápido es
ROWID).
●
Las lecturas masivas de datos (muchas filas), “estropean” la caché
de datos, provocando posteriormente acceso a disco para recuperar los
bloques que más se usan (posible mejora DB_KEEP_CACHE_SIZE). Ojo
con las pruebas en explotación y tb los informes con muchos datos.
●
Las escrituras masivas de datos tb “estropean” la caché, pero más
aún pues por cada bloque modificado se necesita uno de
rollback/undo, y además generan E/S posterior al volcar los cambios
a disco (FAST_START_MTTR_TARGET). Actualizar solo cuando sea
necesario.
© 2013. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
Fin
Gracias por vuestra atención
¿Alguna pregunta?
Juan Luis Serradilla (juanluNOSPAM@um.es)Juan Luis Serradilla (juanluNOSPAM@um.es)

More Related Content

What's hot

Ficheros con organización secuencial indexada
Ficheros con organización secuencial indexadaFicheros con organización secuencial indexada
Ficheros con organización secuencial indexadaFportavella
 
Mantenimiento de la base de datos Oracle 11g
Mantenimiento de la base de datos Oracle 11gMantenimiento de la base de datos Oracle 11g
Mantenimiento de la base de datos Oracle 11gCarmen Soler
 
Introduccion Oracle 11G
Introduccion Oracle 11GIntroduccion Oracle 11G
Introduccion Oracle 11GEddie Malca
 
Cuadro comparativo de SMBD
Cuadro comparativo de SMBD Cuadro comparativo de SMBD
Cuadro comparativo de SMBD Jazmin Glez.
 
Arquitectura de Von Neumann
Arquitectura de Von NeumannArquitectura de Von Neumann
Arquitectura de Von Neumannvictor medra
 
Architecture of exadata database machine – Part II
Architecture of exadata database machine – Part IIArchitecture of exadata database machine – Part II
Architecture of exadata database machine – Part IIParesh Nayak,OCP®,Prince2®
 
Creacion y terminacion de procesos
Creacion y terminacion de procesosCreacion y terminacion de procesos
Creacion y terminacion de procesosCariEli
 
バックアップ時の問題から学んだDBエンジニアに必要なスキルとは
バックアップ時の問題から学んだDBエンジニアに必要なスキルとはバックアップ時の問題から学んだDBエンジニアに必要なスキルとは
バックアップ時の問題から学んだDBエンジニアに必要なスキルとはTakeshiYamamoto2049
 
Gestión de errores en Java
Gestión de errores en JavaGestión de errores en Java
Gestión de errores en Javaeccutpl
 
Formas normales
Formas normalesFormas normales
Formas normalesdidachos1
 
MEMORIA VIRTUAL
MEMORIA VIRTUALMEMORIA VIRTUAL
MEMORIA VIRTUALandresinf
 
Isam (método de acceso secuencial indexado)
Isam (método de acceso secuencial indexado)Isam (método de acceso secuencial indexado)
Isam (método de acceso secuencial indexado)David Rodríguez Gómez
 
Sistemas operativos-tarea-semana-5
Sistemas operativos-tarea-semana-5Sistemas operativos-tarea-semana-5
Sistemas operativos-tarea-semana-5Paula Catariny
 
Oracle architecture
Oracle architectureOracle architecture
Oracle architectureSoumya Das
 

What's hot (20)

Ficheros con organización secuencial indexada
Ficheros con organización secuencial indexadaFicheros con organización secuencial indexada
Ficheros con organización secuencial indexada
 
Mantenimiento de la base de datos Oracle 11g
Mantenimiento de la base de datos Oracle 11gMantenimiento de la base de datos Oracle 11g
Mantenimiento de la base de datos Oracle 11g
 
Introduccion Oracle 11G
Introduccion Oracle 11GIntroduccion Oracle 11G
Introduccion Oracle 11G
 
Gestion de memoria en windows
Gestion de memoria en windowsGestion de memoria en windows
Gestion de memoria en windows
 
Cuadro comparativo de SMBD
Cuadro comparativo de SMBD Cuadro comparativo de SMBD
Cuadro comparativo de SMBD
 
Gestion de memoria en Linux
Gestion de memoria en LinuxGestion de memoria en Linux
Gestion de memoria en Linux
 
BASE DE DATOS
BASE DE DATOS BASE DE DATOS
BASE DE DATOS
 
Arquitectura de Von Neumann
Arquitectura de Von NeumannArquitectura de Von Neumann
Arquitectura de Von Neumann
 
Architecture of exadata database machine – Part II
Architecture of exadata database machine – Part IIArchitecture of exadata database machine – Part II
Architecture of exadata database machine – Part II
 
Creacion y terminacion de procesos
Creacion y terminacion de procesosCreacion y terminacion de procesos
Creacion y terminacion de procesos
 
バックアップ時の問題から学んだDBエンジニアに必要なスキルとは
バックアップ時の問題から学んだDBエンジニアに必要なスキルとはバックアップ時の問題から学んだDBエンジニアに必要なスキルとは
バックアップ時の問題から学んだDBエンジニアに必要なスキルとは
 
Pilas y colas
Pilas y colasPilas y colas
Pilas y colas
 
Gestión de errores en Java
Gestión de errores en JavaGestión de errores en Java
Gestión de errores en Java
 
Ejemplo dfd
Ejemplo dfdEjemplo dfd
Ejemplo dfd
 
Formas normales
Formas normalesFormas normales
Formas normales
 
MEMORIA VIRTUAL
MEMORIA VIRTUALMEMORIA VIRTUAL
MEMORIA VIRTUAL
 
Div, idiv, Neg ensamblador
Div, idiv, Neg ensambladorDiv, idiv, Neg ensamblador
Div, idiv, Neg ensamblador
 
Isam (método de acceso secuencial indexado)
Isam (método de acceso secuencial indexado)Isam (método de acceso secuencial indexado)
Isam (método de acceso secuencial indexado)
 
Sistemas operativos-tarea-semana-5
Sistemas operativos-tarea-semana-5Sistemas operativos-tarea-semana-5
Sistemas operativos-tarea-semana-5
 
Oracle architecture
Oracle architectureOracle architecture
Oracle architecture
 

Viewers also liked

Revisión de código fuente de manera ágil
Revisión de código fuente de manera ágilRevisión de código fuente de manera ágil
Revisión de código fuente de manera ágilJose Luis Bugarin Peche
 
Resumen pmbok 5 ( Certificación Project Manager PMI ).
Resumen pmbok 5 ( Certificación Project Manager PMI ).Resumen pmbok 5 ( Certificación Project Manager PMI ).
Resumen pmbok 5 ( Certificación Project Manager PMI ).Francisco Gimenez Rothemund
 

Viewers also liked (20)

En 20 minutos ... Charla selenium
En 20 minutos ... Charla seleniumEn 20 minutos ... Charla selenium
En 20 minutos ... Charla selenium
 
En 20 minutos ... Sonar Qube: cómo de bueno es el código de tu proyecto
En 20 minutos ... Sonar Qube: cómo de bueno es el código de tu proyectoEn 20 minutos ... Sonar Qube: cómo de bueno es el código de tu proyecto
En 20 minutos ... Sonar Qube: cómo de bueno es el código de tu proyecto
 
Revisión de código fuente de manera ágil
Revisión de código fuente de manera ágilRevisión de código fuente de manera ágil
Revisión de código fuente de manera ágil
 
En 20 minutos ... Tests de Aceptación con Cucumber
En 20 minutos ... Tests de Aceptación con CucumberEn 20 minutos ... Tests de Aceptación con Cucumber
En 20 minutos ... Tests de Aceptación con Cucumber
 
MEDEA contada a los alumnos de Grado de Ingeniería Informática
MEDEA contada a los alumnos de Grado de Ingeniería InformáticaMEDEA contada a los alumnos de Grado de Ingeniería Informática
MEDEA contada a los alumnos de Grado de Ingeniería Informática
 
En 20 minutos ... jQuery
En 20 minutos ... jQueryEn 20 minutos ... jQuery
En 20 minutos ... jQuery
 
En 20 minutos ... Técnicas SEO - Mejorando la Visibilidad de nuestra Web
En 20 minutos ... Técnicas SEO - Mejorando la Visibilidad de nuestra WebEn 20 minutos ... Técnicas SEO - Mejorando la Visibilidad de nuestra Web
En 20 minutos ... Técnicas SEO - Mejorando la Visibilidad de nuestra Web
 
LOGATICA
LOGATICALOGATICA
LOGATICA
 
Notimovil
NotimovilNotimovil
Notimovil
 
En 20 minutos ... Como se hizo LooWID.com
En 20 minutos ... Como se hizo LooWID.comEn 20 minutos ... Como se hizo LooWID.com
En 20 minutos ... Como se hizo LooWID.com
 
Pórtico
PórticoPórtico
Pórtico
 
En 20 minutos ... HTML5 + CSS3
En 20 minutos ... HTML5 + CSS3En 20 minutos ... HTML5 + CSS3
En 20 minutos ... HTML5 + CSS3
 
Medea. Metodología de desarrollo en ÁTICA
Medea. Metodología de desarrollo en ÁTICAMedea. Metodología de desarrollo en ÁTICA
Medea. Metodología de desarrollo en ÁTICA
 
En 20 minutos ... jBPM
En 20 minutos ... jBPMEn 20 minutos ... jBPM
En 20 minutos ... jBPM
 
En 20 minutos ... Charla drools
En 20 minutos ... Charla droolsEn 20 minutos ... Charla drools
En 20 minutos ... Charla drools
 
Experiencia de Usuario (UX)
Experiencia de Usuario (UX)Experiencia de Usuario (UX)
Experiencia de Usuario (UX)
 
En 20 minutos... Buenas Practicas SSL
En 20 minutos... Buenas Practicas SSLEn 20 minutos... Buenas Practicas SSL
En 20 minutos... Buenas Practicas SSL
 
Auditoria en BD de las Sesiones Web
Auditoria en BD de las Sesiones WebAuditoria en BD de las Sesiones Web
Auditoria en BD de las Sesiones Web
 
En 20 minutos ... Responsive Design
En 20 minutos ... Responsive DesignEn 20 minutos ... Responsive Design
En 20 minutos ... Responsive Design
 
Resumen pmbok 5 ( Certificación Project Manager PMI ).
Resumen pmbok 5 ( Certificación Project Manager PMI ).Resumen pmbok 5 ( Certificación Project Manager PMI ).
Resumen pmbok 5 ( Certificación Project Manager PMI ).
 

Similar to En 20 minutos ... Arquitectura Oracle

Consideraciones de hardware para SQL Server
Consideraciones de hardware para SQL ServerConsideraciones de hardware para SQL Server
Consideraciones de hardware para SQL ServerEduardo Castro
 
Arquitectura Oracle.pdf
Arquitectura Oracle.pdfArquitectura Oracle.pdf
Arquitectura Oracle.pdfLocoQuete
 
Analizando la performance del subsistema de IO
Analizando la performance del subsistema de IOAnalizando la performance del subsistema de IO
Analizando la performance del subsistema de IOSpanishPASSVC
 
Informatica i
Informatica iInformatica i
Informatica ifabio_14
 
Administración de base de datos oracle - sesion 2
Administración de base de datos oracle - sesion 2Administración de base de datos oracle - sesion 2
Administración de base de datos oracle - sesion 2Sefira111
 
Informatica i fabio gonzales
Informatica i fabio gonzalesInformatica i fabio gonzales
Informatica i fabio gonzalesAdriiimarok
 
Informatica i
Informatica iInformatica i
Informatica ifabio_14
 
Arquitectura de los computadores
Arquitectura de los computadoresArquitectura de los computadores
Arquitectura de los computadoresfabio_14
 
Optimización de motores sql server 24 horas SQL Pass
Optimización de motores sql server 24 horas SQL PassOptimización de motores sql server 24 horas SQL Pass
Optimización de motores sql server 24 horas SQL PassJulián Castiblanco
 
Cuestionario de informatica
Cuestionario de informaticaCuestionario de informatica
Cuestionario de informaticaJesik Padilla
 
Cuestionario de informatica
Cuestionario de informaticaCuestionario de informatica
Cuestionario de informaticajesikpadilla
 

Similar to En 20 minutos ... Arquitectura Oracle (20)

Consideraciones de hardware para SQL Server
Consideraciones de hardware para SQL ServerConsideraciones de hardware para SQL Server
Consideraciones de hardware para SQL Server
 
Arquitectura Oracle.pdf
Arquitectura Oracle.pdfArquitectura Oracle.pdf
Arquitectura Oracle.pdf
 
Analizando la performance del subsistema de IO
Analizando la performance del subsistema de IOAnalizando la performance del subsistema de IO
Analizando la performance del subsistema de IO
 
Informatica i
Informatica iInformatica i
Informatica i
 
Oracle
OracleOracle
Oracle
 
Sistemas distribuidos
Sistemas distribuidosSistemas distribuidos
Sistemas distribuidos
 
Administración de base de datos oracle - sesion 2
Administración de base de datos oracle - sesion 2Administración de base de datos oracle - sesion 2
Administración de base de datos oracle - sesion 2
 
Informatica i fabio gonzales
Informatica i fabio gonzalesInformatica i fabio gonzales
Informatica i fabio gonzales
 
Sqlite
SqliteSqlite
Sqlite
 
Informatica i
Informatica iInformatica i
Informatica i
 
Arquitectura de los computadores
Arquitectura de los computadoresArquitectura de los computadores
Arquitectura de los computadores
 
Cuestionario de informatica
Cuestionario de informaticaCuestionario de informatica
Cuestionario de informatica
 
Cuestionario de informatica
Cuestionario de informaticaCuestionario de informatica
Cuestionario de informatica
 
Comparación SMBD
Comparación SMBDComparación SMBD
Comparación SMBD
 
Optimización de motores sql server 24 horas SQL Pass
Optimización de motores sql server 24 horas SQL PassOptimización de motores sql server 24 horas SQL Pass
Optimización de motores sql server 24 horas SQL Pass
 
Db2 10 afinamiento
Db2 10   afinamientoDb2 10   afinamiento
Db2 10 afinamiento
 
avanttic - webinar: Oracle Database 12c (24-03-2015)
avanttic - webinar: Oracle Database 12c (24-03-2015)avanttic - webinar: Oracle Database 12c (24-03-2015)
avanttic - webinar: Oracle Database 12c (24-03-2015)
 
Cuestionario de informatica
Cuestionario de informaticaCuestionario de informatica
Cuestionario de informatica
 
Cuestionario de informatica
Cuestionario de informaticaCuestionario de informatica
Cuestionario de informatica
 
Base de datos - Clase 1
Base de datos - Clase 1Base de datos - Clase 1
Base de datos - Clase 1
 

More from Sección de Metodologías, Normalización y Calidad del Software (6)

Atica Dev Ops II
Atica Dev Ops IIAtica Dev Ops II
Atica Dev Ops II
 
ATICA DevOps
ATICA DevOpsATICA DevOps
ATICA DevOps
 
En 20 minutos ... Chrome Developer Tools
En 20 minutos ... Chrome Developer ToolsEn 20 minutos ... Chrome Developer Tools
En 20 minutos ... Chrome Developer Tools
 
En 20 minutos ...Control de Cambios de la BD con Liquibase
En 20 minutos ...Control de Cambios de la BD con LiquibaseEn 20 minutos ...Control de Cambios de la BD con Liquibase
En 20 minutos ...Control de Cambios de la BD con Liquibase
 
Vision estatica de medea
Vision estatica de medeaVision estatica de medea
Vision estatica de medea
 
FundeWeb. El framework de desarrollo en ÁTICA
FundeWeb. El framework de desarrollo en ÁTICAFundeWeb. El framework de desarrollo en ÁTICA
FundeWeb. El framework de desarrollo en ÁTICA
 

Recently uploaded

Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxFederico Castellari
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxMiguelAtencio10
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxJorgeParada26
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIhmpuellon
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativanicho110
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxAlan779941
 

Recently uploaded (12)

Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 

En 20 minutos ... Arquitectura Oracle

  • 1. © 2013. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas. En 20 minutos te cuento lo que sé de ... ARQUITECTURA ORACLE ÁTICA – 30/05/2013 Juan Luis Serradilla
  • 2. © 2013. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas. Componentes de un Servidor Oracle y su Funcionamiento al Ejecutar Código SQL
  • 3. © 2013. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas. Contenido 1.- Base de Datos: estructura física y lógica 2.- Instancia: SGA y Procesos 3.- Servidor Oracle. Sesiones. 4.- Ejecución de una operación de Consulta 5.- Ejecución de una operación de Actualización 6.- Compilación del código SQL 7.- Resumen. Consumo y Optimización de Recursos
  • 4. © 2013. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas. BASE DE DATOS Ficheros de datos, control y redo ● Apartado Primero – Subapartado Primero ● Bla bla bla bla
  • 5. © 2013. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas. BASE DE DATOS Estructura Lógica ● Una BD está compuesta por varios tablespaces ● Cada tablespace lo forman uno o más ficheros de datos ● Una tabla es un segmento formado por una o más extensiones dentro del mismo tablespace ● Un segmento tiene al menos una extensión (unidad de asignación) ● La unidad mínima de E/S es el bloque Oracle (db_block_size) de 2/4/8/16/32Kb TABLA
  • 6. © 2013. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas. BASE DE DATOS Segmento, Extensión y Bloque ● Tipos de segmento: Table, Index, etc ● Extensión: conjunto contiguo de bloques ● Los índices de una tabla deben estar en otro tablespace TABLA TABLA
  • 7. © 2013. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas. INSTANCIA = SGA + PROCESOS Memoria (SGA) y CPU (Procesos background) ● Apartado Primero – Subapartado Primero ● Bla bla bla bla
  • 8. © 2013. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas. SGA (Shared Global Area) Memoria Compartida en RAM ● Es una “gran caché” donde Oracle cachea el código (SQL, PL/SQL) y los datos (bloques que contienen las filas de las tablas). Es finita (normalmente LRU). ● Los datos se cachean en la Data Buffer Caché (bloques) ● El código en la Shared Pool (SQL y PL/SQL)
  • 9. © 2013. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas. INSTANCIA Y BASE DE DATOS Independientes y Complementarias ● Apartado Primero – Subapartado Primero ● Bla bla bla bla
  • 10. © 2013. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas. SERVIDOR ORACLE = INSTANCIA + BD Una BD se abre mediante una Instancia ● Apartado Primero – Subapartado Primero ● Bla bla bla bla
  • 11. © 2013. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas. SERVIDOR ORACLE Cada sesión de BD arranca un proceso servidor ● Cada sesión consume RAM (PGA) y CPU (proceso)
  • 12. © 2013. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas. CONSULTAR DATOS El código se envía al servidor (RAM en PGA) ● Apartado Primero – Subapartado Primero ● Bla bla bla bla
  • 13. © 2013. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas. CONSULTAR DATOS El proceso servidor lo compila (CPU y RAM) y accede a los datos del DD si es necesario (E/S) ● Apartado Primero – Subapartado Primero ● Bla bla bla bla
  • 14. © 2013. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas. CONSULTAR DATOS El proceso servidor busca los bloques en Buffer Caché, trayéndolos de disco si hace falta (E/S) ● Apartado Primero – Subapartado Primero ● Bla bla bla bla
  • 15. © 2013. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas. ACTUALIZAR DATOS El proceso servidor hace los cambios SOLO en la SGA (Data Buffer Cache y Buffer de Redo) ● Apartado Primero – Subapartado Primero ● Bla bla bla bla
  • 16. © 2013. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas. ACTUALIZAR DATOS - COMMIT LGWR vuelca a disco Buffer de Redo, protegiendo los cambios en disco ● Apartado Primero – Subapartado Primero ● Bla bla bla bla
  • 17. © 2013. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas. ACTUALIZAR DATOS Asíncronamente, el DBWR volcará a disco los bloques modificados en Data Buffer Cache ● Apartado Primero – Subapartado Primero ● Bla bla bla bla
  • 18. © 2013. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas. Compilación Código SQL Consume CPU y RAM. Reutilizar código ● Análisis sintáctico y semántico (acceso al DD E/S), y cálculo del plan de ejecución (consumo CPU). Sentencia compilada se guarda en SGA (Shared Pool, consumo RAM). ● Al compilar una sentencia SQL, hay que distinguir entre “hard” y “soft” parse: – Hard Parse: la sentencia SQL no existe en la Shared Pool (Library Cache). Es costoso en términos de CPU y latches. – Soft Parse: la sentencia SQL ya existe en la Shared Pool y puede usar una versión de la misma. ● Dos sentencias SQL son iguales si tienen el mismo texto (incluyendo espacios en blanco y mayúsculas/minúsculas); y además: – Los nombres de objetos deben apuntar a los mismo objetos reales: SCOTT.EMP <> JUANLU.EMP – El modo del optimizador debe ser el mismo: FIRST_ROWS <> ALL_ROWS – Los nombres, tipos y longitudes de las variables bind deben ser los mismos: VARCHAR2(8) <> VARCHAR2(10) – El entorno NLS (idioma y país) debe ser el mismo.
  • 19. © 2013. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas. RESUMEN Consumo y Optimización de Recursos ● Tabla en un tablespace y sus índices en otro tablespace distinto. ● Cada sesión de BD consume RAM y CPU: minimizar sesiones del pool. ● La ejecución de código consume RAM y CPU al compilar, por lo que debe reutilizarse para minimizar dichas compilaciones (PAQUETES): escribirlo una vez y utilizarlo muchas y desde muchos sitios. ● La ejecución de código genera E/S la primera vez que se accede a los datos, y posteriormente, cada vez que hayan “salido” de caché: optimizar el código para que recupere solo las filas necesrias y lo haga rápidamente (optimizar modo de acceso, el más rápido es ROWID). ● Las lecturas masivas de datos (muchas filas), “estropean” la caché de datos, provocando posteriormente acceso a disco para recuperar los bloques que más se usan (posible mejora DB_KEEP_CACHE_SIZE). Ojo con las pruebas en explotación y tb los informes con muchos datos. ● Las escrituras masivas de datos tb “estropean” la caché, pero más aún pues por cada bloque modificado se necesita uno de rollback/undo, y además generan E/S posterior al volcar los cambios a disco (FAST_START_MTTR_TARGET). Actualizar solo cuando sea necesario.
  • 20. © 2013. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas. Fin Gracias por vuestra atención ¿Alguna pregunta? Juan Luis Serradilla (juanluNOSPAM@um.es)Juan Luis Serradilla (juanluNOSPAM@um.es)