Está en la página 1de 43

TI12010 - Taller de Bases de Datos

Unidad I Instalacin y Creacin de una Base de Datos


Prof. Vctor Valenzuela Ruz

Objetivos de la Unidad
1.

Reconocer los componentes de la arquitectura del SABDR Oracle segn


caractersticas.

2.

Utilizar el software de instalacin del motor del producto siguiendo los


procedimientos asociados a la metodologa de instalacin.

3.

Crear una base de datos utilizando el asistente (DBCA).

Oracle 10G
1.1 Conceptos Bsicos y Arquitectura

Objetivos de la Clase
Repasar la terminologa y componentes bsicos de un ambiente Oracle 10g
Comprender la Arquitectura de Oracle 10g

Conceptos Bsicos
La base de datos Oracle es un sistema de administracin de base de datos
relacionales (RDBMS). El modelo relacional (de un modo sencillo) consiste
en utilizar tablas bidimensionales para almacenar la informacin.
Consta de tres elementos bsicos:
Tablas
Conjunto de operadores para manipular esas tablas
Reglas de integridad
5

Conceptos Bsicos

Una base de datos relacional contiene varias tablas. Una tabla es la estructura bsica en un
RDBMS. Una tabla representa un concepto necesario de la vida real. (Por ejemplo, la tabla
empleados).

Tabla empleados:

Conceptos Bsicos
En la estructura bsica del modelo relacional se distinguen los siguientes
elementos:
Relacin: En el modelo relacional se representa mediante una tabla con m filas y n columnas. Como las tablas
son esencialmente relaciones, se utilizarn los trminos matemticos relacin y tupla, en lugar de los trminos
tabla y fila.
Atributos: Son las columnas de la tabla. Corresponden a las propiedades de las entidades Cada uno de estos
atributos puede tomar valores dentro de un rango determinado, que se llama dominio. Varios atributos
pueden compartir un nico dominio.
Dominio: Rango de valores aceptable para un atributo dado. Este rango depende exclusivamente del atributo
y va a condicionar los valores posibles dentro de cada celda de la tabla.
Tuplas: Es el nombre que recibe cada una de las filas de la tabla.

Cardinalidad de la relacin: es el nmero m de tuplas de la relacin.

Grado de la relacin: Es el nmero n de atributos que intervienen en la relacin.


7

Conceptos Bsicos
Restricciones de Integridad

Lenguaje SQL (Structured Query Language)

Es un lenguaje declarativo de acceso a bases de datos relacionales que permite

especificar un conjunto de operaciones sobre las mismas. Se caracteriza por el manejo

del lgebra relacional y el clculo relacional. Permite recuperar informacin de una base
de datos. Con SQL entre otras cosas podemos:
Consultar datos de una base de datos
Insertar, actualizar y borrar datos de una tabla
Crear, reemplazar, alterar, borrar objetos
Controlar el acceso a la base de datos y a sus objetos
Garantizar la consistencia e integridad de la base de datos
Otorgar y Revocar permisos.

Sentencias SQL

10

SQL para Acceder a la BD


La comunicacin con el servidor de base de datos se realiza usando SQL. Las sentencias
pueden ser introducidas por un usuario o ser ejecutadas por un programa. Estas sentencias
son procesadas y el resultado es devuelto al usuario.

11

Tareas de un DBA

Podemos considerar tareas del administrador de base de datos (DBA) las siguientes:
Instalar y actualizar el software de Oracle
Crear base de datos
Realizar las actualizacin de la base de datos y el software
Levantar y Parar la instancia de base de datos
Manejar las estructuras de almacenamiento de Oracle
Manejar los usuarios de Oracle
Manejar los esquemas
Realizar backups y recuperar la base de datos
Monitorizar la base de datos
Ajustar la instancia de base de datos (tunning)
12

Herramientas usadas por el DBA


Oracle Universal installer (Instalador de Oracle)
Database Configuration Assistant (Asistente para la configuracin de Oracle)
Database Upgrade Assistant (Actualizar base de datos)
Oracle Net Manager (Para configurar la red de Oracle)
Oracle Enterprise Manager (Para administrar la base de datos)
SQL* Plus and iSQL*PLUS ( Para realizar sentencias SQL contra la base de datos )
Recovery Manager (Para recuperar bases de datos)
Data Pump (Para realizar copias de seguridad, antiguo imp/exp)
SQL*Loader (Para realizar la carga de datos)
13

Oracle Database

Oracle es un sistema de gestin de base de datos objeto-relacional (o ORDBMS por el

acrnimo en ingls de Object-Relational Data Base Management System), desarrollado


por Oracle Corporation.

Se considera a Oracle como uno de los sistemas de bases de datos ms completos,


destacando:

soporte de transacciones,
estabilidad,
escalabilidad y
Soporte multiplataforma.
14

Base de Datos Oracle 10g:


g Significa Grid
Global Grid Forum (GGF)
Infraestructura de grid de Oracle:
Bajo costo

Grid de
almacenamiento

Grid de
base de datos

Automatic
Storage
Management

Real
Application
Clusters

Grid de
aplicacin

Control de
grids

Oracle
Streams

Enterprise
Manager
Grid Control

Alta calidad de servicio


Fcil de gestionar

15

Arquitectura de la Base de Datos Oracle


Un servidor de Oracle:
Es un sistema de gestin de bases de datos que proporciona un enfoque
abierto, completo e integrado a la gestin de informacin
Consta de una instancia Oracle y una base de datos Oracle

16

Instancias en Oracle
Instancia
1
S
E
R
V
I
D
O
R

DB
Log(s)

Instancia
2

DB

Log(s)

Instancia
3

DB

Log(s)

En un servidor fsico podemos tener mltiples instancias


17

Instancias en Oracle
Una instancia de Oracle comprende estructuras de memoria conocidas
como SGA (System Global Area) y los procesos background de Oracle.
La instancia de base de datos Oracle comprende tambin los datafiles,
redo log files y los control files.
Cada instancia de BD Oracle es un servicio de Windows.

18

Instancias en Oracle
Instancia 1
(SGA + Procs)

Database

Instancia 2
(SGA + Procs)

Database

Los datafiles son exclusivos de una instancia


19

Implementacin Bsica de una BD Oracle


Uno o ms datafiles

Uno o ms control files

Dos o ms online redo logs

Internamente la base de datos contiene


Mltiples esquemas de usuario

Dos o ms undo (Rollback) segments


Undo

El Servidor contiene como mnimo:


SGA (System Global Area)

El proceso SMON (System Monitor)


El proceso PMON (Process Monitor)
El Proceso DBWR
El proceso LGWR
Procesos de usuario con PGA asociado

Varios tablespaces
Tablas del Diccionario de datos
Objetos de usuario (tablas, ndices, etc.)

20

Estructuras de Bases de Datos


Estructuras de memoria

Instancia
rea Global del Sistema (SGA)

Estructuras de bases
de datos
- Memoria
- Proceso
- Almacenamiento

Estructuras de proceso
Procesos en segundo plano

Estructuras de
almacenamiento

Archivos de base de datos

21

Estructuras de Memoria de Oracle

Proceso de
servidor
1

PGA

Proceso de
servidor
2

PGA

Proceso en
segundo
plano

Estructuras de bases
de datos
> Memoria
Proceso
Almacenamiento

PGA

SGA
Pool compartido

Pool de Streams

Pool grande

Pool Java

Cach de
buffers de la
base de datos

Buffer de
redo log

22

Estructuras de Memoria de Oracle


Database buffer cache: Almacena temporalmente datos recuperados de
la base de datos
Redo log buffer: Almacena informacin redo (utilizada para
recuperaciones de instancia) hasta que se pueda escribir en los archivos
fsicos 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 recuperacin
Java pool: Utilizado por cdigo de Java y la Java Virtual Machine (JVM)
Streams pool: Utilizado por Oracle Streams
23

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 recuperacin hacia delante (roll-forward),
durante las recuperaciones de la BD.
El tamao del buffer redo log se fija por el parmetro LOG_BUFFER

24

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 ejecucin de la sentencia SQL.
Texto de la sentencia.
Lista de objetos referenciados.

Los pasos de procesamiento de cada peticin de anlisis 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.

Tamao determinado por SHARED POOL SIZE


25

Database Area Cache


Es el cach que almacena los bloques de datos ledos de los segmentos de
datos de la BD, tales como tablas, ndices y clusters.
Los bloques modificados se llaman bloques sucios.
El tamao de buffer cach se fija por el parmetro DB_BLOCK_BUFFERS del
archivo init.ora (posibles variaciones en 9i, 10g).
Administracin se hace mediante el algoritmo LRU (Least Recently Used).

26

Estructuras de Proceso
PGA

Proceso de
usuario

Instancia
SGA

Proceso
de
servidor

Estructuras de bases
de datos
Memoria
> Proceso
Almacenamiento

Procesos
en segundo plano

Proceso de usuario: Se inicia en el momento en que un usuario de base de datos


solicita una conexin al servidor de Oracle

Proceso de servidor: Conecta a la instancia de Oracle y se inicia cuando un usuario


establece una sesin

Procesos en segundo plano: Se inician al iniciar una instancia de Oracle


27

Gestin de Instancias de Oracle


SGA
Pool
compartido

Pool
de Streams

Pool grande

Pool Java

Cach de buffers
de la base de datos

Buffer de
redo log

Monitor
del sistema
(SMON)

Punto
de control
(CKPT)

Control de
procesos
(PMON)

Escritor
de la base
de datos
(DBWn)

Escritor
de log
(LGWR)

Archivos
de control
Archivos
de datos

Archivos
redo log

Archivos
archive log

Proceso
de archivado
(ARCn)
28

Proceso de Servidor y Cach de Buffers


de la Base de Datos
Proceso
de
servidor

SGA
Cach de buffers
de la base de datos

Buffers:
Asignados
Limpios
Libres o no utilizados

DBWn

Sucios
Archivos de datos

29

Estructura de Base de Datos Fsica


Estructuras de bases
de datos
Memoria
Proceso
> Almacenamiento

Archivos de control

Archivos de datos

Archivo de parmetros

Archivos de copia de
seguridad

Archivo de contraseas

Archivos redo log en lnea

Archivos archive log

Archivos log de alertas y de rastreo


30

Archivos ms comunes

CONTROL01.CTL, CONTROL02.CTL, CONTROL03.CTL


REDO01.LOG, REDO02.LOG, REDO03.LOG
SYSTEM01.DBF
TEMP01.DBF
TOOLS01.DBF
UNDOTBS01.DBF
USERS01.DBF
INDX01.DBF

31

Tablespaces y Archivos de Datos


Los tablespaces constan de uno o ms archivos de datos.
Los archivos de datos pertenecen a un solo tablespace.

Archivo de
datos 1

Archivo de
datos 2

Tablespace USERS
32

Tablespaces

Permite organizar en forma lgica las tablas dentro de la base de datos

Un tablespace puede tener uno o ms archivos (datafiles)

Una tabla esta contenida dentro de un solo tablespace pero puede residir fsicamente en

uno o ms archivos del mismo tablespace.

Tablespaces Importantes
System (contiene el diccionario de datos)
Temp (TEMP)
Rollback (UNDOTBS)
Tools (TOOLS)
33

Tablespaces SYSTEM y SYSAUX


Los tablespaces SYSTEM y SYSAUX son tablespaces obligatorios.
Se crean en el momento de la creacin de la base de datos.
Deben estar en lnea.
El tablespace SYSTEM se utiliza para la funcionalidad principal (por ejemplo, las
tablas del diccionario de datos).
El tablespace SYSAUX auxiliar se utiliza para los componentes adicionales de base
de datos (como el repositorio de Enterprise Manager).
34

Tablespaces
Se pueden ver los tablespaces definidos en nuestra BD con el siguiente
comando SQL:
SQL> select * from user_tablespaces; .

35

Segmentos, Extensiones y Bloques

Los segmentos existen en un tablespace.

Los segmentos estn formados por una recopilacin de extensiones.

Las extensiones son un conjunto de bloques de datos.

Los bloques de datos estn asignados a bloques de disco.

Segmento

Extensiones

Bloques
de datos

Bloques
de disco
36

Segmentos
Existen 5 tipos de segmentos:
datos: almacenan las tablas.
ndices: permiten un acceso rpido a los datos dependiendo de la cantidad de los
mismos (rboles B)
Rollback (undo): son objetos internos de la BD que permiten efectuar la restauracin
de las transacciones no validadas
temporales: son creados por Oracle para un uso temporal cuando debe realizar una
ordenacin que no le cabe en memoria
bootstrap: Se crea en SYSTEM y contiene definiciones del diccionario para sus tablas

37

Segmentos
Se pueden ver los SEGMENTOS definidos en nuestra BD con el comando
SQL siguiente:
SQL> select * from user_segments;

38

Ficheros
Cada espacio de tablas (tablespace) se compone de uno o ms ficheros en disco.
Un fichero puede pertenecer slo a un espacio de tablas (tablespace). Los
ficheros reciben un tamao fijo en el momento de su creacin, y cuando se
necesita ms espacio se deben aadir ms ficheros a espacio de tablas.
Dividir los objetos de la BD entre mltiples espacios de tablas permiten que los
objetos sean almacenados fsicamente en discos separados, dependiendo de
donde estn los ficheros sobre los que se asientan.

39

Estructuras de Bases de Datos Fsicas


y Lgicas
Lgica

Fsica

Base de datos

Esquema

Tablespace

Archivo
de datos

Segmento

Extensin

Bloque de
datos de Oracle

Bloque del
sistema operativo
40

Ejemplos del Curso: Esquema HR


REGIONS
REGION_ID (PK)
REGION_NAME

JOBS
COUNTRIES
COUNTRY_ID (PK)
COUNTRY_NAME
REGION_ID (FK)

JOB_ID (PK)
JOB_TITLE
MIN_SALARY
MAX_SALARY

LOCATIONS

EMPLOYEES

LOCATION_ID (PK)
STREET_ADDRESS
POSTAL_CODE
CITY
STATE_PROVINCE
COUNTRY_ID (FK)

EMPLOYEE_ID (PK)
FIRST_NAME
LAST_NAME
EMAIL
PHONE_NUMBER
HIRE_DATE
JOB_ID (FK)
SALARY
COMMISION_PCT
MANAGER_ID (FK)
DEPARTMENT_ID (FK)

DEPARTMENTS
DEPARTMENT_ID (PK)
DEPARTMENT_NAME
MANAGER_ID
LOCATION_ID (FK)

JOB_HISTORY
EMPLOYEE_ID (PK)
START_DATE (PK)
END_DATE
JOB_ID (FK)
DEPARTMENT_ID (FK)

41

Estructuras Internas de una


Base de Datos Oracle

Tablas y Columnas
Usuarios
ndices
Vistas
Procedimientos
Funciones
Paquetes
Triggers
Sinnimos

Restricciones de Tablas
Esquemas
Clusters
Secuencias
Privilegios y Roles

Segmentos, Extensiones y Bloques


Segmento de Rollback

42

Arquitectura de Base de Datos:


Resumen de Componentes Estructurales
Estructuras de memoria:
rea Global del Sistema (SGA): Cach de buffers de la base de datos, buffer de redo y diversos pools
rea Global de Programa (PGA)

Estructuras de proceso:
Proceso de usuario y proceso del servidor
Procesos en segundo plano: SMON, PMON, DBWn, CKPT, LGWR, ARCn, etc.

Estructuras de almacenamiento:
Lgicas: Base de datos, esquema, tablespace, segmento, extensin y bloque Oracle
Fsicas: Archivos para datos, parmetros, redo y bloque del sistema operativo
43

También podría gustarte