SlideShare ist ein Scribd-Unternehmen logo
1 von 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)

Weitere ähnliche Inhalte

Was ist angesagt?

PostgreSQL
PostgreSQLPostgreSQL
PostgreSQLbrobelo
 
Banco de Dados II Projeto Final de Banco de Dados
Banco de Dados II Projeto Final de Banco de DadosBanco de Dados II Projeto Final de Banco de Dados
Banco de Dados II Projeto Final de Banco de DadosLeinylson Fontinele
 
Banco de Dados II Aula 06 - Modelagem de Dados (Modelo Físico)
Banco de Dados II Aula 06 - Modelagem de Dados (Modelo Físico)Banco de Dados II Aula 06 - Modelagem de Dados (Modelo Físico)
Banco de Dados II Aula 06 - Modelagem de Dados (Modelo Físico)Leinylson Fontinele
 
Bases de Datos Relacionales
Bases de Datos RelacionalesBases de Datos Relacionales
Bases de Datos RelacionalesArnulfo Gomez
 
Banco de Dados I - Aula 10 - Banco de Dados Relacional (Modelo Físico)
Banco de Dados I - Aula 10 - Banco de Dados Relacional (Modelo Físico)Banco de Dados I - Aula 10 - Banco de Dados Relacional (Modelo Físico)
Banco de Dados I - Aula 10 - Banco de Dados Relacional (Modelo Físico)Leinylson Fontinele
 
Banco de Dados I Aula 02 - Introdução aos Bancos de Dados
Banco de Dados I  Aula 02 - Introdução aos Bancos de DadosBanco de Dados I  Aula 02 - Introdução aos Bancos de Dados
Banco de Dados I Aula 02 - Introdução aos Bancos de DadosLeinylson Fontinele
 
Banco de Dados I - Aula Prática - Criando o Primeiro Banco
Banco de Dados I - Aula Prática - Criando o Primeiro BancoBanco de Dados I - Aula Prática - Criando o Primeiro Banco
Banco de Dados I - Aula Prática - Criando o Primeiro BancoLeinylson Fontinele
 
Programacion de base de datos - Unidad 1: Conexion a la base de datos con un ...
Programacion de base de datos - Unidad 1: Conexion a la base de datos con un ...Programacion de base de datos - Unidad 1: Conexion a la base de datos con un ...
Programacion de base de datos - Unidad 1: Conexion a la base de datos con un ...José Antonio Sandoval Acosta
 
Datos UNDO en Oracle
Datos UNDO en OracleDatos UNDO en Oracle
Datos UNDO en OracleCarmen Soler
 
Procedimientos Almacenados
Procedimientos AlmacenadosProcedimientos Almacenados
Procedimientos Almacenadosiluijo
 
Oracle Database Overview
Oracle Database OverviewOracle Database Overview
Oracle Database Overviewhonglee71
 
Kp. 4 struktur penyimpanan
Kp. 4 struktur penyimpananKp. 4 struktur penyimpanan
Kp. 4 struktur penyimpananDesty Yani
 
Optimizing your Database Import!
Optimizing your Database Import! Optimizing your Database Import!
Optimizing your Database Import! Nabil Nawaz
 

Was ist angesagt? (20)

PostgreSQL
PostgreSQLPostgreSQL
PostgreSQL
 
OBJETO CONNECTION
OBJETO CONNECTIONOBJETO CONNECTION
OBJETO CONNECTION
 
Banco de Dados II Projeto Final de Banco de Dados
Banco de Dados II Projeto Final de Banco de DadosBanco de Dados II Projeto Final de Banco de Dados
Banco de Dados II Projeto Final de Banco de Dados
 
Banco de Dados II Aula 06 - Modelagem de Dados (Modelo Físico)
Banco de Dados II Aula 06 - Modelagem de Dados (Modelo Físico)Banco de Dados II Aula 06 - Modelagem de Dados (Modelo Físico)
Banco de Dados II Aula 06 - Modelagem de Dados (Modelo Físico)
 
Bases de Datos Relacionales
Bases de Datos RelacionalesBases de Datos Relacionales
Bases de Datos Relacionales
 
Banco de Dados I - Aula 10 - Banco de Dados Relacional (Modelo Físico)
Banco de Dados I - Aula 10 - Banco de Dados Relacional (Modelo Físico)Banco de Dados I - Aula 10 - Banco de Dados Relacional (Modelo Físico)
Banco de Dados I - Aula 10 - Banco de Dados Relacional (Modelo Físico)
 
Banco de Dados I Aula 02 - Introdução aos Bancos de Dados
Banco de Dados I  Aula 02 - Introdução aos Bancos de DadosBanco de Dados I  Aula 02 - Introdução aos Bancos de Dados
Banco de Dados I Aula 02 - Introdução aos Bancos de Dados
 
Taller de Base de Datos - Unidad 6 SQL procedural
Taller de Base de Datos - Unidad 6 SQL proceduralTaller de Base de Datos - Unidad 6 SQL procedural
Taller de Base de Datos - Unidad 6 SQL procedural
 
Banco de Dados I - Aula Prática - Criando o Primeiro Banco
Banco de Dados I - Aula Prática - Criando o Primeiro BancoBanco de Dados I - Aula Prática - Criando o Primeiro Banco
Banco de Dados I - Aula Prática - Criando o Primeiro Banco
 
Programacion de base de datos - Unidad 1: Conexion a la base de datos con un ...
Programacion de base de datos - Unidad 1: Conexion a la base de datos con un ...Programacion de base de datos - Unidad 1: Conexion a la base de datos con un ...
Programacion de base de datos - Unidad 1: Conexion a la base de datos con un ...
 
Datos UNDO en Oracle
Datos UNDO en OracleDatos UNDO en Oracle
Datos UNDO en Oracle
 
Sql procedimientos-almacenados
Sql procedimientos-almacenadosSql procedimientos-almacenados
Sql procedimientos-almacenados
 
JDBC(conjunto de clases e interfaces)
JDBC(conjunto de clases e interfaces)JDBC(conjunto de clases e interfaces)
JDBC(conjunto de clases e interfaces)
 
Procedimientos Almacenados
Procedimientos AlmacenadosProcedimientos Almacenados
Procedimientos Almacenados
 
Oracle Database Overview
Oracle Database OverviewOracle Database Overview
Oracle Database Overview
 
Diapositivas De Tablas y Base Datos
Diapositivas De Tablas y Base DatosDiapositivas De Tablas y Base Datos
Diapositivas De Tablas y Base Datos
 
Kp. 4 struktur penyimpanan
Kp. 4 struktur penyimpananKp. 4 struktur penyimpanan
Kp. 4 struktur penyimpanan
 
Caracteristicas Microsoft SQL Server
Caracteristicas Microsoft SQL ServerCaracteristicas Microsoft SQL Server
Caracteristicas Microsoft SQL Server
 
Taller de Base de Datos - Unidad 3 lenguage DML
Taller de Base de Datos - Unidad 3 lenguage DMLTaller de Base de Datos - Unidad 3 lenguage DML
Taller de Base de Datos - Unidad 3 lenguage DML
 
Optimizing your Database Import!
Optimizing your Database Import! Optimizing your Database Import!
Optimizing your Database Import!
 

Andere mochten auch

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
 

Andere mochten auch (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 ).
 

Ähnlich wie 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
 

Ähnlich wie 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
 

Mehr von 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
 

Kürzlich hochgeladen

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
 
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
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
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
 
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 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
 
Presentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmerilPresentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmerilJuanGallardo438714
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
presentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptxpresentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptxlosdiosesmanzaneros
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfvladimiroflores1
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfAnnimoUno1
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 

Kürzlich hochgeladen (15)

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
 
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
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
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
 
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 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
 
Presentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmerilPresentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmeril
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
presentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptxpresentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptx
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 

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)