Está en la página 1de 26

Bases de Datos II

IC-3101
ORACLE
Fundado en 1977 por Larry Ellison, Bob Miner, y Ed Oates como Software Development
Laboratories, luego Relational Software, Inc. (RSI), en 1983 se cambio a Oracle Systems
Corporation y posteriormente solo a Oracle Corporation
En 1979 fue el primero motor de bases de datos relacional disponible comercialmente
A finales de los 80s Oracle Version 4, introdujo PL/SQL, bases de datos distribuidas, entre otras
cosas
En 1997 se introdujeron los Objetos y Particiones en Oracle 8
En 1999 Oracle 8i, introdujo Java y soporte para implementación en multicapas
En 2001 Oracle 9i, introdujo el Oracle RAC y XML
En 2004 Oracle 10g introdujo Grid Computing y el ASM
ORACLE Schema
Un esquema es una colección lógica de objetos
Un usuario es el dueño de un esquema, el cual tiene el mismo nombre que el usuario
Para efectos prácticos, un Esquema y un Usuario son equivalentes.
Database vs Instance
¿Qué es una base de datos ORACLE?
◦ Es el set de archivos físicos en donde se guarda la información tanto de las aplicaciones como la meta
data.

¿Qué es una instancia de ORACLE?


◦ Es el software (y la memoria) que ORACLE usa para manipular los datos en la base de datos

Una base de datos ORACLE puede ser abierta por más de una instancia de ORACLE
Una instancia de ORACLE solo puede abrir una base de datos ORACLE
Arquitectura - Conceptos Básicos
El servidor Oracle funciona en una arquitectura cliente – servidor
◦ Cliente
◦ El cliente corre los programas como por ejemplo, SQL*Plus, .NET, o algún otro programa que acceda a la información de la base de
datos e interactúe de alguna manera con alguna entrada.
◦ Servidor
◦ Corre el Software de Base de datos de Oracle y maneja todas las funciones de concurrencia y datos compartidos.
Arquitectura - Procesamiento Distribuido
Arquitectura - Bases de Datos
Distribuidas
Arquitectura
¿Cuáles son las ventajas de una arquitectura Cliente - Servidor?
◦ El cliente no hace ningún procesamiento, solo despliegue
◦ Los clientes no dependen de la localización física de los datos
◦ El servidor explota el paralelismo para dar el mejor rendimiento a los clientes
◦ Los clientes se pueden optimizar para despliegue y el servidor para procesamiento y almacenamiento
◦ En red se pueden usar clientes baratos para acceder a los datos
◦ El servidor puede ser escalable tanto horizontal como verticalmente
◦ La información es guardada en servidores haciendo más fácil manejar la concurrencia
Arquitectura - Multicapa
Arquitectura - Conexiones
Note que aunque el servidor utiliza una arquitectura cliente – servidor, estos podrían estar
ubicados en la misma maquina.
En general un usuario puede conectarse de muchas maneras al servidor usando un cliente, entre
estas están:
◦ Directamente en el servidor, por ejemplo usando SQL*Plus
◦ Desde una computadora personal, por ejemplo usando SQL*Plus
◦ Desde una computadora personal, usando un navegador
◦ Desde una computadora personal, usando alguna aplicación
Oracle Net Services
Es el suite de productos de ORACLE que permite la conectividad global en ambientes
heterogéneos
Funciona implementando un protocolo estándar para así poder transmitir los datos al servidor y
los resultados de vuelta a los clientes.
Oracle Net Listener
El Listener es un proceso en el servidor que oye las peticiones provenientes de los clientes y
maneja el trafico hacia la base de datos.
Cuando la base de datos inicia y en algunos otros momentos este, la base de datos contacta al
Listener para crear un camino de conexión hacia ella
Service Registration, es el que permite que el Listener determine si un servicio de base de datos
y sus Service Handlers están disponibles
Oracle Net Listener
El Service Handler es un proceso dedicado en el servidor (dispatcher) que actúa como punto de
conexión a la base de datos
Durante el Registro el LREG (Listener Registration) provee al listener con:
◦ El nombre de la instancia
◦ Los nombres de los servicios
◦ El tipo y dirección de los service handlers

Esto es lo que permite que el listener levante un service handler cuando llega una petición de un
cliente
Oracle Net Listener
Oracle Net Listener
1. Un cliente inicia una conexión

2. El listener determina cual es el service


handler adecuado y envía la petición a
este

3. El proceso en el cliente conecta


directamente con el service handler, el
listener ya no esta en la conversación
Conectando al Listener
Para poder conectar a un listener se ocupa la siguiente información:
◦ Nombre de la instancia
◦ Protocolo
◦ Nombre del servidor o dirección IP
◦ El puerto en el que escucha el listener (1521)
◦ El nombre para identificar la conexión (tnsname)
Service Names
Service Names
tnsnames.ora

ORABDII =
(DESCRIPTION =
(ADDRESS =
(PROTOCOL = TCP)
(HOST = localhost)(PORT = 1521)
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ORABDII)
)
)
Dedicated Server Processes
Shared Server Configuration
Reduce el número de procesos en el sistema
operativo
Un pequeño número de procesos en un
servidor Shared pueden hacer lo mismo que
muchos procesos en un servidor dedicado
Reduce el tamaño del PGA
Incrementa la escalabilidad y el número de
clientes que se pueden conectar
simultáneamente
Puede ser más rápido que un servidor
dedicado cuando el promedio de conexión y
desconexión es alto
Multitenant Architecture
Esta arquitectura permite crear un Contenedor
Principal (CDB)
◦ Este puede tener cero o más bases de creadas
por los usuarios (PDB, Pluggable DBs)

Una PDB es una colección portable que no


parece ser una CDB
Antes de ORACLE 12c, todas las bases de datos
no eran CDB
Contenedores
Los contenedores son de dos tipos:
◦ PDB
◦ Root Container

Cada CDB tiene los siguientes containers:


◦ Un Root, el cual se llama CDB$ROOT
◦ Una PDB Seed, la cual es el template con el que
se crean otras PDB, se llama PDB$SEED
◦ Cero o más PDBs
Contenedores
Beneficios de Multitenant Architecture

También podría gustarte