taller de base de datos Unidad

47
TI12010 - Taller de Bases de Datos Unidad I Unidad I Unidad I Unidad I – – Instalación y Creación de una Base de Datos Instalación y Creación de una Base de Datos Instalación y Creación de una Base de Datos Instalación y Creación de una Base de Datos Prof. Víctor Valenzuela Ruz

description

taller de base de datos oracle

Transcript of taller de base de datos Unidad

  • TI12010 - Taller de Bases de Datos

    Unidad I Unidad I Unidad I Unidad I Instalacin y Creacin de una Base de DatosInstalacin y Creacin de una Base de DatosInstalacin y Creacin de una Base de DatosInstalacin 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).

    2

  • Oracle 10GConceptos Bsicos y Arquitectura

    3

  • Objetivos de la Clase

    Repasar la terminologa y componentes bsicos de un ambiente Oracle 10g

    Comprender la Arquitectura de Oracle 10g

    4

  • 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:

    6

  • 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 tablasson esencialmente relaciones, se utilizarn los trminos matemticos relacin y tupla, en lugar de los trminostabla y fila.

    Atributos: Son las columnas de la tabla. Corresponden a las propiedades de las entidades Cada uno de estosatributos puede tomar valores dentro de un rango determinado, que se llama dominio. Varios atributospueden compartir un nico dominio.

    Dominio: Rango de valores aceptable para un atributo dado. Este rango depende exclusivamente del atributoy 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

  • 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.8

  • Sentencias SQL

    9

  • 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.

    10

  • 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)

    11

  • 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)

    12

  • 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.

    13

  • Base de Datos Oracle 10g:g Significa Grid

    Global Grid Forum (GGF)

    Infraestructura de grid de Oracle:

    Bajo costo

    Alta calidad de servicio

    Fcil de gestionar

    AutomaticStorage

    Management

    RealApplication

    Clusters

    OracleStreams

    EnterpriseManager

    Grid Control

    Grid dealmacenamiento

    Grid debase de datos

    Grid deaplicacin

    Control degrids

    14

  • Grid (slo Notas)

    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

    En un servidor fsico podemos tener mltiples instancias

    17

    DB

    DB

    DB

    Instancia 1

    Instancia2

    Instancia 3

    Log(s)

    Log(s)

    Log(s)SERVIDOR

  • Instancias en Oracle

    18

    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.

  • Instancias en Oracle

    Los datafiles son exclusivos de una instancia

    19

    Instancia 1

    (SGA + Procs)

    Instancia 2

    (SGA + Procs)

    DatabaseDatabase

  • 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

    Varios tablespaces

    Tablas del Diccionario de datos

    Objetos de usuario (tablas, ndices, etc.)

    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

    20

  • Estructuras de almacenamiento

    Estructuras de memoria

    Estructuras de proceso

    Instancia

    rea Global del Sistema (SGA)

    Procesos en segundo plano

    Archivos de base de datos

    Estructuras de bases de datos- Memoria- Proceso- Almacenamiento

    Estructuras de Bases de Datos

    21

  • Pool JavaCach de

    buffers de la base de datos

    Buffer deredo log

    Pool compartido Pool grande

    SGA

    Pool de Streams

    Proceso deservidor

    1PGA

    Proceso deservidor

    2PGA

    Proceso en segundo

    planoPGA

    Estructuras de bases de datos> Memoria

    ProcesoAlmacenamiento

    Estructuras de Memoria de Oracle

    22

  • Estructuras de Memoria de Oracle

    Database buffer cache: Almacena temporalmente datos recuperados dela base de datos

    Redo log buffer: Almacena informacin redo (utilizada pararecuperaciones de instancia) hasta que se pueda escribir en los archivosfsicos de redo en el disco.

    Shared pool: Almacenas varias estructuras que pueden ser compartidasentre los usuarios

    Large pool: Es un rea opcional que proporciona segmentos grandes dememoria 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 dedatos 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 delarchivo init.ora (posibles variaciones en 9i, 10g).

    Administracin se hace mediante el algoritmo LRU (Least Recently Used).

    26

  • Estructuras de Memoria de Oracle(slo Notas)

    27

  • 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

    InstanciaSGA

    Procesosen segundo plano

    Procesode

    servidor

    PGA

    Proceso de usuario

    Estructuras de bases de datos

    Memoria > Proceso

    Almacenamiento

    Estructuras de Proceso

    28

  • Monitordel sistema

    (SMON)

    Escritorde la base de datos(DBWn)

    Escritor de log

    (LGWR)

    Control deprocesos(PMON)

    Proceso de archivado

    (ARCn)

    SGA

    Pool Java

    Pool compartido Pool grande

    Pool de Streams

    Cach de buffersde la base de datos

    Buffer deredo log

    Punto de control

    (CKPT)Archivos

    de controlArchivosde datos

    Archivosredo log

    Archivosarchive log

    Gestin de Instancias de Oracle

    29

  • Buffers:

    Asignados

    Limpios

    Libres o no utilizados

    SuciosDBWn

    Procesode

    servidor

    SGA

    Cach de buffersde la base de datos

    Archivos de datos

    Proceso de Servidor y Cach de Buffers de la Base de Datos

    30

  • Archivos redo log en lnea

    Archivo de contraseas

    Archivo de parmetros Archivos archive log

    Archivos de control Archivos de datos

    Archivos log de alertas y de rastreo

    Archivos de copia de seguridad

    Estructuras de bases de datos

    Memoria Proceso

    > Almacenamiento

    Estructura de Base de Datos Fsica

    31

  • Estructura de Base de Datos Fsica(slo Notas)

    32

  • 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

    33

  • Los tablespaces constan de uno o ms archivos de datos.

    Los archivos de datos pertenecen a un solo tablespace.

    Tablespace USERS

    Archivo de datos 1

    Archivo de datos 2

    Tablespaces y Archivos de Datos

    34

  • 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)

    35

  • 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).

    36

    Tablespaces SYSTEM y SYSAUX

  • Tablespaces

    Se pueden ver los tablespaces definidos en nuestra BD con el siguiente

    comando SQL:

    SQL> select * from user_tablespaces; .

    37

  • 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

    38

    Segmentos, Extensiones y Bloques

  • Segmentos

    Existen 5 tipos de segmentos:

    datos: almacenan las tablas.

    ndices: permiten un acceso rpido a los datos dependiendo de la cantidad de losmismos (rboles B)

    Rollback (undo): son objetos internos de la BD que permiten efectuar la restauracinde las transacciones no validadas

    temporales: son creados por Oracle para un uso temporal cuando debe realizar unaordenacin que no le cabe en memoria

    bootstrap: Se crea en SYSTEM y contiene definiciones del diccionario para sus tablas

    39

  • Segmentos

    Se pueden ver los SEGMENTOS definidos en nuestra BD con el comando

    SQL siguiente:

    SQL> select * from user_segments;

    40

  • 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.

    41

  • Base de datos

    Lgica Fsica

    Tablespace Archivo de datos

    Bloque del sistema operativo

    Segmento

    Extensin

    Bloque de datos de Oracle

    Esquema

    42

    Estructuras de Bases de Datos Fsicas y Lgicas

  • Estructuras de Bases de Datos(slo Notas)

    43

  • REGIONSREGION_ID (PK)REGION_NAME

    COUNTRIESCOUNTRY_ID (PK)COUNTRY_NAMEREGION_ID (FK)

    LOCATIONSLOCATION_ID (PK)STREET_ADDRESSPOSTAL_CODECITYSTATE_PROVINCECOUNTRY_ID (FK)

    DEPARTMENTSDEPARTMENT_ID (PK)DEPARTMENT_NAMEMANAGER_IDLOCATION_ID (FK)

    JOBSJOB_ID (PK)JOB_TITLEMIN_SALARYMAX_SALARY

    EMPLOYEESEMPLOYEE_ID (PK)FIRST_NAMELAST_NAMEEMAILPHONE_NUMBERHIRE_DATEJOB_ID (FK)SALARYCOMMISION_PCTMANAGER_ID (FK)DEPARTMENT_ID (FK)

    JOB_HISTORYEMPLOYEE_ID (PK)START_DATE (PK)END_DATEJOB_ID (FK)DEPARTMENT_ID (FK)

    REGIONS

    COUNTRIES

    LOCATIONS

    DEPARTMENTS

    JOBS

    EMPLOYEES

    JOB_HISTORY

    44

    Ejemplos del Curso: Esquema HR

  • Estructuras Internas de unaBase 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

    45

  • 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

    46

  • 47