Está en la página 1de 28

Oracle 10G

Conceptos Básicos y
Arquitectura
Objetivos
Con un enfoque de lo general a lo específico:

 Repasar la terminología y componentes básicos de un


ambiente Oracle 10g

 Comprender la Arquitectura de Oracle 10g


Contenido

 Conceptos básicos • Arquitectura de Oracle 10g


 Servidor Oracle – Estructuras de Memoria
 Base de Datos – Procesos
 Instancia – Almacenamiento
• Lógico
• Físico
Oracle 10g RDBMS

 Base de Datos
 Nos referimos no solo a los datos propiamente sino que
a la combinación de archivos, procesos y objetos que
forman una base de datos
 Instancia
 Es un conjunto de estructuras de datos en memoria
(SGA) y procesos que administran un grupo de
archivos (DATAFILE).
 Tablespace
 Es un división lógica de la base de datos. Puede estar
compuesta por uno más datafiles.
Arquitectura de una base de
datos Oracle

 Servidor Oracle:
 Es un RDBMS que proporciona un ambiente integrado
y abierto de administración de la información
 Consiste en una Instancia Oracle y una Base de
datos Oracle
Instancias en Oracle 10g
Instancia DB
1
Log(s)
S
E
R
V Instancia DB

I 2
D Log(s)

O
R
Instancia
DB
3
Log(s)

En un servidor físico podemos tener multiples instancias


Instancias en Oracle 10g

Instancia 1 Instancia 2
(SGA + Procs) (SGA + Procs)

Database Database

Los Datafiles son exclusivos de una instancia


Implementación Básica de una BD Oracle
 Uno o más datafiles
 Uno o más control files
 Dos o más online redo logs
 Internamente la base de datos contiene
 Multiples esquemas de usuario
 Dos o más undo (Rollback) segments
 Undo
 Varios tablespaces
 Tablas del Diccionario de datos
 Objetos de usuario (tablas, indices, etc)
 El Servidor contiene como mínimo:
 SGA
 El proceso SMON (System Monitor)
 El proceso PMON (Process Monitor)
 El Proceso DBWR
 El proceso LGWR
 Procesos de usuario con PGA asociado
Estructuras de la base de datos

Memoria Instancia
System Global Area (SGA)

Procesos Procesos

Almacenamiento Archivos
Estructuras de Memoria

Server Server
Background
process PGA process PGA PGA
process
1 2

SGA
Independiente
Shared pool Streams pool Large pool para cada
proceso

Database Redo log


Java pool
buffer cache buffer

Compartida x todos los procesos de


servidor y background
Estructuras de Memoria
 La SGA es un área de memoria que
contiene información de control y datos
relacionados a la instancia.

 Las estructuras básicas de la SGA son:


 System Global Area (SGA): Compartida
por todos los procesos del servidor y de
background
 Program Global Area (PGA): Es un área
privada para cada proceso. Existe un PGA
para cada proceso.
Estructuras de Memoria
 Database buffer cache: Almacena temporalmente datos
recuperados de la base de datos
 Redo log buffer: Almacena información redo (utilizada para
recuperaciones de instancia) hasta que se pueda escribir en
los archivos físicos de redo en el disco.
 Shared pool: Almacenas varias estructuras que pueden ser
compartidas entre los usuarios

 Large pool: Es un área opcional que proporciona


segmentos grandes de memoria para procesos grandes. Ej.
Procesos de respaldo y recuperación
 Java pool: Utilizado por código de Java y la Java Virtual
Machine (JVM)
 Streams pool: Utilizado por Oracle Streams
Redo Log Buffers

 Los redo log buffers describen los cambios


realizados en la BD y son escritos en los
archivos redo.

 Utilizados en las operaciones de recuperación


hacia delante (roll-forward), durante las
recuperaciones de la BD.

 El tamaño del buffer redo log se fija por el


parámetro LOG_BUFFER
Shared SQL Area
 En esta zona se encuentran las instrucciones SQL que han
sido analizadas.
 El contenido de la zona de SQL compartido es:
 Plan de ejecución de la sentencia SQL.
 Texto de la sentencia.
 Lista de objetos referenciados.
 Los pasos de procesamiento de cada petición de análisis
son:
 Comprobar si la sentencia se encuentra en el área
compartida.
 Comprobar si los objetos referenciados son los mismos.
 Comprobar si el usuario tiene acceso a los objetos
referenciados.
 Tamaño determinado por SHARED POOL SIZE
Database Buffer Cache

 Es el caché que almacena los bloques de datos


leídos de los segmentos de datos de la BD, tales
como tablas, índices y clusters.

 Los bloques modificados se llaman bloques


sucios.

 El tamaño de buffer caché se fija por el


parámetro DB_BLOCK_BUFFERS del archivo
init.ora (posibles variaciones en 9i, 10G).

 Administración se hace mediante el algoritmo


LRU (Least Recently Used).
Archivos .

Control files • Data files • Online redo log


files

• Parameter file • Backup • Archive log files


files

• Password
file • Alert y trace log files
ARCHIVOS
 CONTROL01.CTL, CONTROL02.CTL, CONTROL03.CTL
 REDO01.LOG, REDO02.LOG, REDO03.LOG
 SYSTEM01.DBF
 TEMP01.DBF
 TOOLS01.DBF
 UNDOTBS01.DBF
 USERS01.DBF
 INDX01.DBF
Tablespaces y Data Files
 Los Tablespaces consisten de uno o más
archivos físicos.
 Un Datafile pertenecen a un solo
tablespace.

prueba_01.dbf Prueba_02.dbf

Tablespace prueba
Tablespace

 Permite organizar en forma lógica las tablas dentro


de la base de datos
 Un tablespace puede tener uno o más archivos
(datafiles)
 Una tabla esta contenida dentro de un solo
tablespace pero puede residir físicamente en uno o
más archivos del mismo tablespace.
 Tablespaces Importantes
 System (contiene el diccionario de datos)
 Temp (TEMP)
 Rollback (UNDOTBS)
 Tools (TOOLS)
Principales Tablespaces

 Los tablespaces SYSTEM and SYSAUX son


mandatorios.
 Se crean al momento de creación de la base
de datos.
 Siempre deben estar online.
 SYSTEM se utiliza principalmente para
almacenar las tablas del diccionario.
 SYSAUX se utiliza para almacenar
componentes adicionales tales como el
repositorio de Enterprise Manager.
Tablespaces

 Se pueden ver los tablespaces definidos en


nuestra BD con el siguiente comando SQL:

SQL> select * from user_tablespaces; .


Segmentos, Extents, y Bloques
 Los Segmentos existen dentro de un tablespace.
 Los Segmentos están subdivididos en extents.
 LosExtents estan subdivididos en data blocks.
 Los Data blocks estan relacionados directamente a
bloque de disco.

Segmentos Extents Bloques Bloques


de Datos de Disco
SEGMENTOS
Existen 5 tipos de segmentos:

 datos: almacenan las tablas.

 índices: permiten un acceso rápido a los datos dependiendo de la


cantidad de los mismos (árboles B)

 Rollback (undo): son objetos internos de la BD que permiten


efectuar la restauración de las transacciones no validadas

 temporales: son creados por Oracle para un uso temporal cuando


debe realizar una ordenación que no le cabe en memoria

 bootstrap: Se crea en SYSTEM y contiene definiciones del


diccionario para sus tablas
SEGMENTOS
 Se pueden ver los SEGMENTOS definidos en
nuestra BD con el comando SQL siguiente:

SQL> select * from user_segments;


Estructuras Lógicas y Físicas de la base
de Datos
Logicas Físicas

Base de Datos

Esquema Tablespace Data file

Segmento

Extent

Oracle data Bloque


block de S/O

25 12/08/21
Arquitectura de la Base de Datos:
Resumen de Componentes Estructurales

 Memoria:
• System Global Area (SGA): Database buffer cache,
redo buffer, y varios pools
• Program Global Area (PGA)
 Almacenamiento:
• Lógico: Base de Datos, Esquema, tablespace,
segmento, extent, y bloque de Oracle
• Físico: Datafiles, Parametros, redo, y Bloque de S/O
 Procesos:
• Procesos de Servidor y Usuario
• Procesos de Background: SMON, PMON, DBWn,
CKPT, LGWR, ARCn, etc
Estructuras internas de una
BD Oracle

 Tablas y Columnas • Restricciones de Tablas


 Usuarios • Esquemas
 Índices • Clusters
 Vistas • Secuencias
 Procedimientos • Privilegios y Roles
 Funciones
 Paquetes • Segmentos, Extensiones
 Triggers y Bloques
 Sinónimos • Segmento de Rollback
gerardo.brenes@gbsys.com

gerardo.brenes@gmail.com

gerardo.brenes@hotmail.com

gerardo.brenes (Skype)

WWW.GBSYS.COM

También podría gustarte