Logo Studenta

U01_Introducción

¡Este material tiene más páginas!

Vista previa del material en texto

UNIVERSIDAD NACIONAL DE JUJUY 
FACULTAD DE INGENIERIA 
ANALISTA PROGRAMADOR UNIVERSITARIO 
Cátedra: BASE DE DATOS II 
 
Profesor Adjunto:  Ms. Ing. Héctor P. Liberatori  1/12 
 
 
UNIDAD 1 
INTRODUCCIÓN 
1.1.	OBJETIVOS	
 Explicar la arquitectura de la base de datos Oracle 10g. 
 Significado de Grid. 
 Estructura física. 
 Estructura Lógica. 
 Conocer los productos y servicios ORACLE 
 Estructura de la base de datos física. 
 Estructura de la base de datos lógica. 
1.2.	PRODUCTOS	Y	SERVICIOS	ORACLE	
Los principales productos y servicios de Oracle son los siguientes (Figura 1.1): 
 Bases de datos Oracle: la base de datos Oracle es la primera base de datos diseñada para Enterprise Grid 
Computing (el modo más flexible y rentable de gestionar información y aplicaciones). 
 Oracle  Application  Server:  el  servidor  certificado  para  plataforma  Java  2  Enterprise  Edition  (J2EE)  de 
Oracle integra todo lo necesario para desarrollar y desplegar aplicaciones basadas en Web. El servidor de 
aplicaciones despliega portales de comercio electrónico, servicios Web y aplicaciones transaccionales que 
incluyen aplicaciones basadas en PL/SQL, en Oracle Forms y en J2EE. 
 Aplicaciones  Oracle:  Oracle  E‐Business  Suite  es  un  juego  completo  de  aplicaciones  de  negocio  para 
gestionar y automatizar los procesos de la organización. 
 Oracle Collaboration Suite: Oracle Collaboration Suite es un sistema integrado único para todos los datos 
de  comunicaciones  de  la  organización:  voz,  correo  electrónico,  fax,  dispositivo móvil,  información  de 
agenda y archivos. 
 Oracle  Developer  Suite:  Oracle  Development  Suite  es  un  completo  entorno  integrado  que  combina 
herramientas de desarrollo de aplicaciones y de análisis de negocios. 
 Servicios Oracle: los servicios como Oracle Consulting y Oracle University proporcionan los conocimientos 
necesarios para realizar proyectos Oracle. 
 
Figura 1.1: Productos y Servicios Oracle 
1.3.	BASE	DE	DATOS	ORACLE	10g	GRID	COMPUTING	
Grid Computing es una nueva tecnología que produce un entorno mas resistente a fallos y de bajo costo para 
sistemas  de  información.  Con  Grid  Computing módulos  independientes  de  hardware  y  software  pueden 
conectarse y reorganizarse bajo demanda siguiendo los cambios que el negocio necesite (Figura 1.2). 
 
UNIVERSIDAD NACIONAL DE JUJUY 
FACULTAD DE INGENIERIA 
ANALISTA PROGRAMADOR UNIVERSITARIO 
Cátedra: BASE DE DATOS II 
 
Profesor Adjunto:  Ms. Ing. Héctor P. Liberatori  2/12 
 
 
Global Grid Forum  (GGF) es un organismo que desarrolla estándares para Grid Computing. Está compuesto 
por un juego de comités y grupos de trabajo que se centran en diversos aspectos de Grid Computing. 
Los comités y grupos de trabajo están compuestos por participantes procedentes del mundo académico, de 
la  comunidad  investigadora  y  (cada  vez más)  de  compañías  comerciales.  En  el  sitio Web  de  GGF  puede 
ampliar esta información (http://www.gridforum.org). 
Oracle ha creado el software de infraestructura de Grid Computing que equilibra todos los tipos de cargas de 
trabajo en todos  los servidores y permite que todos ellos se puedan gestionar como un sistema completo. 
Grid Computing puede lograr el mismo nivel elevado de fiabilidad que la computación de mainframe ya que 
todos sus componentes están en cluster. 
Aunque, a diferencia de  los mainframes y  los grandes servidores de multiproceso simétrico (SMP) de UNIX, 
los  grid  pueden  incorporar  tecnologías  de  sistemas  abiertos,  como  los  procesadores  Intel  y  el  sistema 
operativo Linux, con un costo muy bajo. 
La tecnología de Grid Computing de Oracle incluye: 
 Automatic  Storage Management:  distribuye  los  datos  de  bases  de  datos  por  todos  los  discos,  crea  y 
mantiene un grid de almacenamiento y proporciona el rendimiento de entrada/salida (E/S) más elevado 
con los mínimos costos de gestión. Conforme se agregan o borran discos, ASM vuelve a distribuir los datos 
de manera  automática;  por  lo  que  no  es  necesario  disponer  de  un  gestor  de  volúmenes  lógicos  para 
gestionar  el  sistema  de  archivos.  La  duplicación  opcional  aumenta  la  disponibilidad  de  los  datos  y  es 
posible agregar o borrar discos en línea. 
 Oracle Real Application Clusters: ejecuta y escala todas  las cargas de trabajo de aplicación en un cluster 
de servidores y ofrece las siguientes funciones: 
 Clusterware  integrado:  incluye  la  funcionalidad para  la  conectividad de cluster, mensajes y bloqueo, 
control  de  cluster  y  recuperación.  Está disponible  en  todas  las  plataformas que  soporta  la base  de 
datos Oracle 10g. 
 Gestión  automática  de  cargas  de  trabajo:  se  pueden  definir  reglas  para  asignar  automáticamente 
recursos de procesamiento a cada servicio durante  las operaciones normales y en respuesta a  fallos. 
Estas  reglas se pueden modificar de manera dinámica para satisfacer  las cambiantes necesidades de 
negocio.  Esta  asignación  dinámica  de  recursos  dentro  de un  grid  de  base  de  datos  es  exclusiva  de 
Oracle RAC. 
 Notificación automática de eventos a  la capa media: cuando cambia una configuración de cluster,  la 
capa  media  puede  adaptarse  inmediatamente  a  la  operación  de  failover  de  instancias  o  a  la 
disponibilidad de una instancia nueva. Esto permite a los usuarios finales seguir trabajando cuando se 
produce un failover de  instancias sin  los retrasos que normalmente provocan  los timeouts de red. En 
caso de disponibilidad de instancia nueva, la capa media puede iniciar inmediatamente las conexiones 
de equilibrio de carga en esa  instancia. Los controladores de Java Database Connectivity (JDBC) de  la 
base de datos Oracle 10g disponen de la funcionalidad “Fast Connection Failover” que se puede activar 
automáticamente para manejar estos eventos. 
 Oracle  Streams:  proporciona  un  marco  unificado  para  compartir  información,  combinar  la  cola  de 
mensajes,  replicar  datos,  notificar  eventos,  cargar  el  almacén  de  datos  y  publicar  y  suscribir  la 
funcionalidad en una tecnología única. Oracle Streams puede mantener sincronizadas dos o más copias de 
origen  de  datos  cuando  se  apliquen  actualizaciones  en  cualquiera  de  los  sitios.  Puede,  de  manera 
automática,  capturar  los  cambios  en  las bases de datos, propagar  esos  cambios  a  los nodos  suscritos, 
aplicarlos y detectar y  resolver  los conflictos de actualización de datos. Las aplicaciones pueden utilizar 
directamente Oracle Streams como una  función de cola de mensajes o  flujo de  trabajo, permitiendo  la 
comunicación entre las aplicaciones del grid. 
 Enterprise Manager Grid Control: gestiona las operaciones de todo el grid que incluyen la gestión de toda 
la  pila  de  software,  el  provisionamiento  de  usuarios,  la  clonación  de  bases  de  datos  y  la  gestión  de 
parches. Puede controlar el rendimiento de todas las aplicaciones desde el punto de vista de sus usuarios 
 
UNIVERSIDAD NACIONAL DE JUJUY 
FACULTAD DE INGENIERIA 
ANALISTA PROGRAMADOR UNIVERSITARIO 
Cátedra: BASE DE DATOS II 
 
Profesor Adjunto:  Ms. Ing. Héctor P. Liberatori  3/12 
 
 
finales. Grid Control  considera  la disponibilidad y el  rendimiento de  la  infraestructura de grid  como un 
todo  unificado  en  lugar  de  como  unidades  de  almacenamiento,  bases  de  datos  y  servidores  de 
aplicaciones  aislados.  Los  nodos  de  hardware,  bases  de  datos  y  servidores  de  aplicaciones  se  pueden 
agrupar en entidades lógicas únicas y se puede gestionar un grupo de destinos como una sola unidad. En 
esta asignatura, se utiliza la Consola de Base de Datos de Enterprise Manager para gestionar las bases de 
datos de una en una. 
 
Figura 1.2: Grid Computing 
1.4.	ARQUITECTURA	DE	LA	BASE	DE	DATOS	
El servidor de Oracle es la clave para la gestión de información. Normalmente, tiene que gestionar de manera 
fiable una gran cantidadde datos en un entorno de varios usuarios, para que numerosos usuarios puedan 
acceder de manera simultánea a los mismos datos. 
Todo esto se debe  realizar al mismo  tiempo que se ofrece un alto  rendimiento. Así mismo, un servidor de 
Oracle  tiene que  impedir el acceso no autorizado y proporcionar  soluciones eficaces para  la  recuperación 
ante fallos. 
Un servidor de Oracle consta de: 
 Un sistema de gestión de base de datos que proporciona un enfoque abierto, completo e  integrado a  la 
gestión de la información. 
 Una instancia Oracle (parte lógica) y una base de datos (parte física). 
1.4.1.	Estructuras	de	bases	de	datos	
Cada base de datos Oracle en ejecución está asociada a una instancia de Oracle. Cuando una base de datos se 
inicia  en  un  servidor  de  bases  de  datos,  el  software  de  Oracle  asigna  un  área  de memoria  compartida 
denominada  Área  Global  del  Sistema  (SGA)  e  inicia  varios  procesos  en  segundo  plano  de  Oracle.  Esta 
combinación de SGA y los procesos de Oracle se denomina instancia de Oracle. 
Después  de  iniciar  una  instancia,  el  software  de Oracle  la  asocia  a  una  base  de  datos  concreta.  Esto  se 
denomina montaje de  la base de datos. La base de datos está ahora  lista para su apertura,  lo que  la hace 
accesible a los usuarios autorizados (Figura 1.3). Varias instancias se pueden ejecutar simultáneamente en la 
misma computadora, accediendo cada una de ellas a su propia base de datos física. 
La  arquitectura  de  la  base  de  datos  Oracle  se  puede  ver  como  varios  componentes  estructurales 
interrelacionados.  Una  base  de  datos Oracle  utiliza  procesos  y  estructuras  de memoria  para  gestionar  y 
acceder a la base de datos. 
Todas  las estructuras de memoria existen en  la memoria principal de  las computadoras que constituyen el 
servidor de la base de datos. Los procesos son trabajos que funcionan en la memoria de estas computadoras. 
 
UNIVERSIDAD NACIONAL DE JUJUY 
FACULTAD DE INGENIERIA 
ANALISTA PROGRAMADOR UNIVERSITARIO 
Cátedra: BASE DE DATOS II 
 
Profesor Adjunto:  Ms. Ing. Héctor P. Liberatori  4/12 
 
 
Un proceso se define como “thread de control” o mecanismo de un sistema operativo que puede realizar una 
serie de pasos. 
 
Figura 1.3: Estructuras de la Base de Datos 
1.4.2.	Estructuras	de	Memoria	de	Oracle	
Las estructuras de memoria básicas asociadas a una instancia de Oracle incluyen (figura 1.4): 
 Área Global del Sistema (SGA): compartida por todos los procesos de servidor y en segundo plano. 
 Área Global de Programa (PGA): privada para cada proceso de servidor y en segundo plano. Existe una 
PGA por cada proceso.  
La SGA es un área de memoria que  contiene datos e  información de  control para  la  instancia,  incluye  las 
siguientes estructuras de datos: 
 Caché de buffers de  la base de datos: almacena en caché  los bloques de datos que se  recuperan de  la 
base de datos. 
 Buffer  de  redo  log:  almacena  en  caché  la  información  de  redo  (utilizada  para  la  recuperación  de 
instancias) hasta que se pueda escribir en los archivos redo log físicos almacenados en el disco. 
 Pool compartido: almacena en caché las distintas construcciones que se pueden compartir entre usuarios. 
 Pool grande: es un área opcional que proporciona grandes asignaciones de memoria para determinados 
procesos grandes, como operaciones de recuperación y copia de seguridad de Oracle y procesos de E/S 
del servidor. 
 Pool  Java:  se utiliza para  todos  los códigos y datos  Java específicos de  la  sesión dentro de  Java Virtual 
Machine (JVM). 
 Pool de Streams: utilizado por Oracle Streams. 
Al iniciar la instancia con Enterprise Manager o SQL*Plus, aparece la cantidad de memoria asignada a SGA. 
Un Área Global de Programa (PGA) es una región de la memoria que contiene datos e información de control 
para cada proceso de servidor. Un proceso de servidor de Oracle se ocupa de las solicitudes de un cliente. 
Cada proceso de  servidor  tiene  su propia PGA creada al  iniciar el proceso de servidor. El acceso a PGA es 
exclusivo para dicho proceso de servidor y se  lee y escribe sólo mediante código de Oracle que actúa en su 
nombre. 
Con  la  infraestructura  de  SGA  dinámica,  se  le  puede  cambiar  su  tamaño  a  el  caché  de  buffers,  el  pool 
compartido, el pool grande, el pool Java y el pool de Streams de la base de datos; sin cerrar la instancia. 
La base de datos Oracle  utiliza  los parámetros de  inicialización  para  crear  y  configurar  las  estructuras de 
memoria. Por ejemplo, el parámetro SGA_TARGET especifica la cantidad total de espacio disponible en SGA. 
Si define SGA_TARGET en 0, se desactivará la gestión automática de memoria compartida. 
 
UNIVERSIDAD NACIONAL DE JUJUY 
FACULTAD DE INGENIERIA 
ANALISTA PROGRAMADOR UNIVERSITARIO 
Cátedra: BASE DE DATOS II 
 
Profesor Adjunto:  Ms. Ing. Héctor P. Liberatori  5/12 
 
 
 
Figura 1.4: Estructuras de Memoria de Oracle 
1.4.3.	Estructuras	de	Proceso	
Al  llamar a un programa de aplicación o herramienta de Oracle,  como Enterprise Manager, el  servidor de 
Oracle crea un proceso de servidor para ejecutar los comandos que emita la aplicación. 
El  servidor  de  Oracle  también  crea  un  juego  de  procesos  en  segundo  plano  para  una  instancia,  que 
interactúan entre sí y con el sistema operativo para gestionar  las estructuras de memoria, realizar una E/S 
asíncrona  para  escribir  datos  en  disco  y  llevar  a  cabo  otras  tareas  necesarias  (Figura  1.5).  El  que  estén 
presentes unos procesos en segundo plano u otros depende de  las  funciones que se estén utilizando en  la 
base de datos. 
 
Figura 1.5: Estructura de Proceso 
1.4.4.	Gestión	de	Instancias	Oracle	
Un  servidor  de  bases  de  datos Oracle  consta  de  una base  de  datos Oracle  y  una  instancia  de Oracle.  La 
instancia  está  formada por  estructuras de memoria  conocidas  como Área Global del  Sistema  (SGA)  y por 
procesos  en  segundo  plano  que  manejan  gran  parte  del  trabajo  en  segundo  plano  relacionado  con  la 
ejecución de una instancia. Los procesos en segundo plano más comunes son los siguientes (Figura 1.6): 
 Monitor del sistema (SMON): realiza la recuperación de fallos cuando la instancia se inicia después de un 
fallo. 
 Control de procesos (PMON): realiza la limpieza de procesos cuando falla un proceso de usuario. 
 Escritor de  la base de datos (DBWn): escribe bloques modificados de  la caché de buffers de  la base de 
datos en los archivos de datos del disco. 
 
UNIVERSIDAD NACIONAL DE JUJUY 
FACULTAD DE INGENIERIA 
ANALISTA PROGRAMADOR UNIVERSITARIO 
Cátedra: BASE DE DATOS II 
 
Profesor Adjunto:  Ms. Ing. Héctor P. Liberatori  6/12 
 
 
 Punto  de  control  (CKPT):  actualiza  todos  los  archivos  de  datos  y de  control  de  la  base  de  datos para 
indicar el punto de control más reciente. 
 Escritor de log (LGWR): escribe las entradas de redo log en el disco. 
 Proceso de archivado (ARCn): copia los archivos redo log en un almacenamiento de archivado cuando se 
produce un cambio de log. 
 
Figura 1.6: Gestión de Instancias Oracle 
1.4.5.	Proceso	de	Servidor	y	Caché	de	Buffers	de	la	Base	de	Datos	
Cuando se procesa una consulta, el proceso del servidor de Oracle busca en la caché de buffers de la base de 
datos cualquier bloque que necesita. Si no encuentra el bloque en la caché de buffers de la base de datos, el 
proceso de servidor lee el bloque del archivo de datos y coloca una copia en esa caché. 
Debido a que es posible que solicitudes posteriores del mismo bloque encuentren el bloque en memoria, las 
solicitudes no requerirán lecturas físicas. El servidor de Oracle utiliza el algoritmo de uso menos reciente para 
dejar obsoletos los buffers a los que no se ha accedido últimamente y crear espacio para los nuevos bloques 
en la caché de buffers de la base de datos (Figura 1.6). 
Los buffers de la caché de buffers pueden tener uno delos siguientes cuatro estados: 
 Asignado: se evita que varias sesiones escriban en el mismo bloque al mismo tiempo. Las demás sesiones 
esperan para acceder al bloque. 
 Limpio: el buffer ahora no está asignado y es candidato para quedarse obsoleto inmediatamente si no se 
vuelve  a hacer  referencia  al  contenido  actual  (bloque de datos). El  contenido está  sincronizado  con el 
contenido  de  los  bloques  almacenado  en  el  disco  o  el  buffer  contiene  una  instantánea  de  lectura 
consistente (CR) de un bloque. 
 Libre  o  no  utilizado:  el  buffer  está  vacío  porque  la  instancia  se  acaba  de  iniciar.  Este  estado  es muy 
parecido al estado limpio, salvo que el buffer no se ha utilizado. 
 Sucio: el buffer ya no está libre, pero el contenido (bloque de datos) ha cambiado y se debe vaciar en el 
disco con el proceso en segundo plano DBWn, antes de que se quede obsoleto. 
 
UNIVERSIDAD NACIONAL DE JUJUY 
FACULTAD DE INGENIERIA 
ANALISTA PROGRAMADOR UNIVERSITARIO 
Cátedra: BASE DE DATOS II 
 
Profesor Adjunto:  Ms. Ing. Héctor P. Liberatori  7/12 
 
 
 
Figura 1.7: Proceso de Servidor y Caché de Buffers de la Base de Datos 
1.4.6.	Estructura	de	la	Base	de	Datos	Física	
Los archivos que constituyen una base de datos Oracle (Figura 1.8) están organizados del siguiente modo: 
 Archivos  de  control:  contienen  datos  sobre  la  propia  base  de  datos  (es  decir,  información  sobre  la 
estructura de  la base de datos  física). Estos archivos son críticos para  la base de datos. Sin ellos, no se 
pueden abrir los archivos de datos para acceder a los datos que contiene la base de datos. 
 Archivos de datos: contienen los datos de aplicación o de usuario de la base de datos. 
 Archivos redo log en línea: permiten la recuperación de instancias de la base de datos. Si la base de datos 
falla y no pierde archivos de datos,  la  instancia puede recuperar  la base de datos con  la  información de 
dichos archivos. 
Los siguientes archivos adicionales son importantes para la correcta ejecución de la base de datos: 
 Archivo de parámetros: se utiliza para definir el modo de configurar la instancia cuando se inicie. 
 Archivo de contraseñas: permite a los usuarios conectarse a la base de datos de forma remota y realizar 
tareas administrativas. 
 Archivos de  copia de  seguridad:  se utilizan para  la  recuperación de  la base de datos. Normalmente  se 
restaura  un  archivo  de  copia  de  seguridad  cuando  un  fallo  del medio  físico  o un  error del usuario ha 
dañado o suprimido el archivo original. 
 Archivos archive  log:  contienen un historial en  curso de  los  cambios de datos  (redo) generados por  la 
instancia. Mediante estos archivos y una copia de seguridad de la base de datos se datos, puede recuperar 
un  archivo  de  datos  perdido.  Es  decir,  los  archive  logs permiten  la  recuperación de  archivos de  datos 
restaurados. 
 Archivos de rastreo: cada proceso de servidor y en segundo plano puede escribir en un archivo de rastreo 
asociado. Cuando un proceso detecta un error interno, vuelca información sobre el error en su archivo de 
rastreo. Parte de la información escrita en un archivo de rastreo va destinada al administrador de la base 
de datos, mientras que otra información es para los Servicios de Soporte Oracle. 
 Archivos log de alertas: son archivos de rastreo especiales. También se conocen como logs de alertas. El 
log  de  alertas  de  una  base  de  datos  es  un  log  cronológico  de mensajes  y  errores. Oracle  recomienda 
revisar estos archivos. 
 
Figura 1.8: Estructura de Base de Datos Física 
 
UNIVERSIDAD NACIONAL DE JUJUY 
FACULTAD DE INGENIERIA 
ANALISTA PROGRAMADOR UNIVERSITARIO 
Cátedra: BASE DE DATOS II 
 
Profesor Adjunto:  Ms. Ing. Héctor P. Liberatori  8/12 
 
 
1.4.7.	Tablespaces	y	Archivos	de	Datos	
Una  base  de  datos  se  divide  en  unidades  lógicas  de  almacenamiento  denominadas  tablespaces,  que  se 
pueden utilizar para agrupar estructuras  lógicas relacionadas. Cada base de datos está dividida  lógicamente 
en uno o más tablespaces. Se crean explícitamente uno o más archivos de datos para cada tablespace con el 
fin de almacenar físicamente los datos de todas las estructuras lógicas de un tablespace (Figura 1.9). 
También pueden crear  tablespaces de archivo grande, que  son  tablespaces con un único archivo de datos 
aunque de  gran  tamaño  (hasta  4 mil millones de bloques de datos).  Los  tablespaces de  archivo pequeño 
tradicionales (utilizados por defecto) pueden contener varios archivos de datos, pero los archivos no pueden 
ser tan grandes. 
 
Figura 1.9: Tablespaces y Archivos de Datos 
1.4.8.	Tablespaces	System	y	Sysaux	
Cada base de datos Oracle contiene un tablespace SYSTEM y un tablespace SYSAUX  (Figura 1.10). Se crean 
automáticamente  al mismo  tiempo  que  la  base  de  datos.  El  valor  por  defecto  del  sistema  es  crear  un 
tablespace de archivo pequeño. También se pueden crear tablespaces de archivo grande, lo que permite a la 
base de datos Oracle gestionar archivos de enorme tamaño (de hasta 8 exabytes). 
Un tablespace puede estar en línea (accesible) o fuera de línea (no accesible). El tablespace SYSTEM siempre 
está en  línea cuando  la base de datos está abierta. Almacena tablas que soportan  la funcionalidad principal 
de la base de datos como, por ejemplo, las tablas del diccionario de datos. 
El  tablespace  SYSAUX  es  un  tablespace  auxiliar  del  tablespace  SYSTEM.  El  tablespace  SYSAUX  almacena 
componentes  de  base  de  datos  y  debe  estar  en  línea  para  el  correcto  funcionamiento  de  todos  los 
componentes de base de datos. 
 
Figura 1.10: Tablespaces System y Sysaux 
 
UNIVERSIDAD NACIONAL DE JUJUY 
FACULTAD DE INGENIERIA 
ANALISTA PROGRAMADOR UNIVERSITARIO 
Cátedra: BASE DE DATOS II 
 
Profesor Adjunto:  Ms. Ing. Héctor P. Liberatori  9/12 
 
 
1.4.9.	Segmentos,	Extensiones	y	Bloques	
Los objetos de base de datos, como tablas e índices, se almacenan en los tablespaces como segmentos. Cada 
segmento  contiene  una o más  extensiones. Una  extensión  consta  de  bloques  de  datos  contiguos,  lo  que 
significa que cada extensión sólo puede existir en un archivo de datos. Los bloques de datos son  la unidad 
más pequeña de E/S de la base de datos. 
Cuando  la base de datos  solicita un  juego de bloques de datos del  sistema operativo, éste  lo asigna a un 
sistema  de  archivos  real  o  bloque  de  disco  en  el  dispositivo  de  almacenamiento.  Por  este motivo,  no  es 
necesario conocer la dirección física de los datos de la base de datos. Esto también indica que un archivo de 
datos se puede segmentar o duplicar en varios discos. 
El tamaño del bloque de datos se puede definir en el momento de la creación de la base de datos. El tamaño 
por defecto de 8 KB es adecuado para la mayoría de las bases de datos. Si la base de datos da soporte a una 
aplicación de almacén de datos con tablas e índices grandes, un tamaño de bloque mayor puede ser útil. 
Si  la  base  de  datos  da  soporte  a  una  aplicación  transaccional  en  la  que  la  lectura  y  escritura  se  realizan 
aleatoriamente,  puede  ser  útil  especificar  un  tamaño  de  bloque  menor.  El  tamaño  de  bloque  máximo 
depende del sistema operativo El tamaño de bloque mínimo de Oracle es de 2 KB y se utiliza pocas veces (si 
se llegara a utilizar). Se pueden tener tablespaces con distintos tamaños de bloque asignados. 
 
Figura 1.11: Segmentos, Extensiones y Bloques 
1.4.10.	Estructuras	de	Bases	de	Datos	Físicas	y	Lógicas	
Una base de datos Oracle es una recopilación de datos que se trata como una unidad. El objetivo general de 
una base de datos es almacenar y recuperar  la  información relacionada. La base de datos tiene estructuras 
lógicas y físicas. 
 Tablespaces:  una  base  de  datos  se  divide  en  unidades  lógicas  de  almacenamiento  denominadas 
tablespaces, que agrupan estructuras  lógicas  relacionadas. Por ejemplo,los  tablespaces  suelen agrupar 
todos los objetos de una aplicación para simplificar algunas operaciones administrativas. Puede tener un 
tablespace para los datos de la aplicación y otro adicional para los índices de la aplicación. 
 Bases de Datos, Tablespaces y Archivos de Datos:  la relación entre  las bases de datos,  los tablespaces y 
los archivos de datos se ilustra en la Figura 1.12. Cada base de datos está dividida de manera lógica en uno 
o más tablespaces. Se crean explícitamente uno o más archivos de datos para cada tablespace con el fin 
de almacenar  físicamente  los datos de  todas  las estructuras  lógicas de un  tablespace. Si  se  trata de un 
tablespace TEMPORARY, en lugar de un archivo de datos, el tablespace tendrá un archivo temporal. 
 Esquemas: un esquema es una recopilación de objetos de base de datos propiedad de un usuario de  la 
misma. Los objetos de esquema son estructuras lógicas que hacen referencia directa a datos de la base de 
datos.  Los  objetos  de  esquema  incluyen  estructuras  como,  por  ejemplo,  tablas,  vistas,  secuencias, 
 
UNIVERSIDAD NACIONAL DE JUJUY 
FACULTAD DE INGENIERIA 
ANALISTA PROGRAMADOR UNIVERSITARIO 
Cátedra: BASE DE DATOS II 
 
Profesor Adjunto:  Ms. Ing. Héctor P. Liberatori  10/12 
 
 
procedimientos  almacenados,  sinónimos,  índices,  clusters  y  enlaces  de  base  de  datos.  En  general,  los 
objetos de esquema incluyen todo lo que la aplicación cree en la base de datos. 
 Bloques  de  Datos:  al  nivel más  detallado  de  granularidad,  los  datos  de  una  base  de  datos Oracle  se 
almacenan  en bloques de datos. Un bloque de datos  corresponde  a un número  concreto de bytes de 
espacio de  la base de datos  física en el disco.  Se especifica un  tamaño del bloque de datos para  cada 
tablespace cuando se crea. Una base de datos utiliza y asigna espacio libre de la base de datos en bloques 
de datos Oracle. 
 Extensiones:  al  nivel  siguiente  del  espacio  de  la  base  de  datos  lógica  se  denomina  extensión.  Una 
extensión es un número específico de bloques de datos  contiguos  (obtenidos en una única asignación) 
que se utilizan para almacenar un tipo determinado de información. 
 Segmentos:  al  nivel  de  almacenamiento  de  la  base  de  datos  lógica  por  encima  de  una  extensión  se 
denomina  segmento.  Un  segmento  es  un  juego  de  extensiones  asignadas  para  una  determinada 
estructura lógica. Por ejemplo, los diferentes tipos de segmentos incluyen: 
 Segmentos de datos: cada tabla no de cluster y no organizada por índices tiene un segmento de datos. 
Todos los datos de la tabla se almacenan en las extensiones de su segmento de datos. Para una tabla 
particionada, cada partición tiene un segmento de datos. Cada cluster tiene un segmento de datos. Los 
datos de cada tabla del cluster se almacenan en el segmento de datos del cluster. 
 Segmentos de índice: cada índice tiene un segmento de índice que almacena todos sus datos. Para un 
índice particionado, cada partición tiene un segmento de índice. 
 Segmentos de deshacer: el administrador de la base de datos crea un tablespace UNDO para 
almacenar temporalmente información de deshacer. La información de un segmento de deshacer se 
utiliza para generar información de base de datos de lectura consistente, y durante la recuperación de 
la base de datos, para realizar una operación de rollback de las transacciones sin confirmar para los 
usuarios. 
 Segmentos temporales: la base de datos Oracle crea segmentos temporales cuando una sentencia SQL 
necesita un área de trabajo temporal para terminar la ejecución. Cuando la sentencia termina la 
ejecución, las extensiones del segmento temporal vuelven a la instancia para un uso futuro. 
Especifique un tablespace temporal por defecto para cada usuario o un tablespace temporal por 
defecto que se utilice en toda la base de datos. 
La base de datos Oracle asigna el espacio dinámicamente. Cuando las extensiones existentes de un segmento 
están  completas,  se  agregan  extensiones  adicionales. Debido  a que  las  extensiones  se  asignan  según  sea 
necesario, las extensiones de un segmento pueden o no ser contiguas en el disco 
 
Figura 1.12: Estructuras de Bases de Datos Físicas y Lógicas 
 
UNIVERSIDAD NACIONAL DE JUJUY 
FACULTAD DE INGENIERIA 
ANALISTA PROGRAMADOR UNIVERSITARIO 
Cátedra: BASE DE DATOS II 
 
Profesor Adjunto:  Ms. Ing. Héctor P. Liberatori  11/12 
 
 
1.4.11.	Ejemplo	del	Esquema	del	usuario	HR	
Los ejemplos utilizados en este apunte pertenecen una aplicación de recursos humanos (HR), que se puede 
crear como parte de la base de datos inicial (Figura 1.13). 
A continuación, se muestran algunas reglas principales de negocio de la aplicación HR: 
 Cada departamento puede ser el empleador de uno o más empleados. Cada empleado se puede asignar 
a un único departamento. 
 Cada  puesto  debe  ser  para  uno  o más  empleados.  Cada  empleado  debe  estar  asignado  a  un  único 
puesto simultáneamente. 
 Cuando un empleado cambia su departamento o puesto, un registro de  la tabla JOB_HISTORY registra 
las fechas de inicio y de finalización de las asignaciones pasadas. 
 Los registros de JOB_HISTORY se identifican mediante una clave primaria compuesta (PK): las columnas 
EMPLOYEE_ID y START_DATE. 
Notación: PK = Clave primaria, FK = Clave ajena. 
Las  líneas  sólidas  representan  las  restricciones  obligatorias  de  clave  ajena  y  las  líneas  discontinuas  las 
opcionales. 
La  tabla  EMPLOYEES  también  tiene  una  restricción  de  clave  ajena  consigo  misma.  Ésta  es  una 
implementación de  la regla de negocio: Cada empleado  informa directamente a un único superior. La clave 
ajena es opcional porque el empleado de nivel superior no informa a otro empleado. 
 
Figura 1.13: Ejemplo del Esquema del usuario HR 
1.4.12.	Arquitectura	de	la	Base	de	Datos:	Resumen	
En esta unidad se ha estudiado a un alto nivel, sobre los componentes estructurales de la Base de 
Datos Oracle: estructuras de memoria, de proceso y de almacenamiento (Figura 1.14). 
 
UNIVERSIDAD NACIONAL DE JUJUY 
FACULTAD DE INGENIERIA 
ANALISTA PROGRAMADOR UNIVERSITARIO 
Cátedra: BASE DE DATOS II 
 
Profesor Adjunto:  Ms. Ing. Héctor P. Liberatori  12/12 
 
 
 
Figura 1.14: Arquitectura de la Base de Datos: Resumen

Continuar navegando