Primera Practica Oracle

download Primera Practica Oracle

of 35

Transcript of Primera Practica Oracle

  • 7/31/2019 Primera Practica Oracle

    1/35

    Base de Datos II (Oracle)

    JUAN ALEJANDRO ROSALES CORONEL

    Estructuras de Bases de DatosQU ES UNA INSTANCIA DE BASE DE DATOS ORACLE?

    INICIA

    MEMORIA

    BASEDE

    DATOS

    SERVIDORDE BASE

    DE DATOS

    ASIGNA

    DISCO DURO

    rea Global del Sistema (SGA)

    Procesos en segundoplano

    INSTANCIA

  • 7/31/2019 Primera Practica Oracle

    2/35

    Base de Datos II (Oracle)

    JUAN ALEJANDRO ROSALES CORONEL

    Cada base de datos Oracle en ejecucin 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 combinacin de SGA y los procesos de

    Oracle se denomina instancia de Oracle.

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

    Varias instancias se pueden ejecutar simultneamente en la misma

    computadora, accediendo cada una de ellas a su propia base de datos

    fsica.

    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. Un proceso se define como thread de

    control o mecanismo de un sistema operativo que puede realizar una serie

    de pasos.

  • 7/31/2019 Primera Practica Oracle

    3/35

    Base de Datos II (Oracle)

    JUAN ALEJANDRO ROSALES CORONEL

    Estructuras de Memoriade Oracle

    Estructuras de Memoria de Oracle

    Las estructuras de memoria bsicas asociadas a una instancia de Oracle

    incluyen:

    rea Global del Sistema (SGA):Compartida por todos los procesosde 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.

    SGA es un rea de memoria que contiene datos e informacin de control

    para la instancia.

    Pool compartido Pool de Streams Pool grande

    Pool JavaCach de

    buffers de labase de datos

    Buffer deredo log

    Proceso deservidor

    1 PGAProceso de

    servidor2 PGA

    Proceso ensegundo

    plano PGA

    SGA

  • 7/31/2019 Primera Practica Oracle

    4/35

    Base de Datos II (Oracle)

    JUAN ALEJANDRO ROSALES CORONEL

    SGA 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 informacin de redo (utilizada

    para la recuperacin de instancias) hasta que se pueda escribir en los

    archivos redo log fsicos 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

    recuperacin y copia de seguridad de Oracle y procesos de E/S del

    servidor.

    Pool Java:Se utiliza para todos los cdigos y datos Java especficos de

    la sesin dentro de Java Virtual Machine (JVM).

    Pool de Streams:Utilizado por Oracle Streams.

  • 7/31/2019 Primera Practica Oracle

    5/35

    Base de Datos II (Oracle)

    JUAN ALEJANDRO ROSALES CORONEL

    Estructuras de Proceso

    Estructuras de Proceso

    Al llamar a un programa de aplicacin o herramienta de Oracle, como

    Enterprise Manager, el servidor de Oracle crea un proceso de servidor

    para ejecutar los comandos que emita la aplicacin. El servidor de Oracle

    tambin crea un juego de procesos en segundo plano para una instancia

    que interactan entre s y con el sistema operativo para gestionar lasestructuras de memoria, realizar una E/S asncrona para escribir datos en

    disco y llevar a cabo otras tareas necesarias. El que estn presentes unos

    procesos en segundo plano u otros depende de las funciones que se estn

    utilizando en la base de datos.

  • 7/31/2019 Primera Practica Oracle

    6/35

    Base de Datos II (Oracle)

    JUAN ALEJANDRO ROSALES CORONEL

    Gestin de Instancias de Oracle

    Un servidor de bases de datos Oracle consta de una base de datos Oracle

    y una instancia de Oracle. Una instancia de Oracle 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 ejecucin de una instancia. Los procesos

    en segundo plano ms comunes son los siguientes:

    Monitor del sistema (SMON): Realiza la recuperacin de fallos

    cuando la instancia se inicia despus de un fallo.

    Control de procesos (PMON): Realiza la limpieza de procesos

    cuando falla un proceso de usuario.

  • 7/31/2019 Primera Practica Oracle

    7/35

    Base de Datos II (Oracle)

    JUAN ALEJANDRO ROSALES CORONEL

    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.

    Punto de control (CKPT):Actualiza todos los archivos de datos y de

    control de la base de datos para indicar el punto de control ms

    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.

  • 7/31/2019 Primera Practica Oracle

    8/35

    Base de Datos II (Oracle)

    JUAN ALEJANDRO ROSALES CORONEL

    Proceso de Servidor y Cach de Buffers de la Base deDatos

    Cuando se procesa una consulta, el proceso del servidor de Oracle busca en

    la cach de buffers de la basede datoscualquier bloque que necesita. Si

    no encuentra el bloque en la cach de buffers de la base de datos, el

    proceso de servidorlee el bloque del archivo de datos y coloca una copia

    en esa cach. Puesto que es posible que solicitudes posteriores del mismo

    bloque encuentren el bloque en memoria, las solicitudes no requerirn

    lecturas fsicas. 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.

  • 7/31/2019 Primera Practica Oracle

    9/35

    Base de Datos II (Oracle)

    JUAN ALEJANDRO ROSALES CORONEL

    Los buffers de la cach de buffers pueden tener uno de los siguientes cuatro

    estados:

    Asignado: Se evita que varias sesiones escriban en el mismo bloque al

    mismo tiempo.

    Las dems 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 instantnea de lectura

    consistente (CR) de un bloque.

    Libre o no utilizado: El buffer est vaco 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 asignado pero el contenido (bloque de datos)

    ha cambiado y se debe vaciar en el disco con DBWnantes de que se

    quede obsoleto.

  • 7/31/2019 Primera Practica Oracle

    10/35

    Base de Datos II (Oracle)

    JUAN ALEJANDRO ROSALES CORONEL

    Estructura de Base de Datos Fsica

    Los archivos que constituyen una base de datos Oracle estn organizados

    del siguiente modo:

    Archivos de control:Contienen datos sobre la propia base de datos (es

    decir, informacin sobre la estructura de la base de datos fsica). Estos

    archivos son crticos 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 aplicacin o de usuario de la

    base de datos.

    Archivos redo log en lnea:Permiten la recuperacin de instancias de la

    base de datos. Si la base de datos falla y no pierde archivos de datos, la

  • 7/31/2019 Primera Practica Oracle

    11/35

    Base de Datos II (Oracle)

    JUAN ALEJANDRO ROSALES CORONEL

    instancia puede recuperar la base de datos con la informacin de dichos

    archivos.

    Los siguientes archivos adicionales son importantes para la correcta

    ejecucin de la base de datos:

    Archivo de parmetros:Se utiliza para definir el modo de configurar la

    instancia cuando se inicie.

    Archivo de contraseas: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 recuperacin de la

    base de datos.

    Normalmente restaura un archivo de copia de seguridad cuando un fallo

    del medio fsico o un error del usuario ha daado 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 puede recuperar un archivo de

    datos perdido. Es decir, los archive logs permiten la recuperacin 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 informacin sobre el error en su archivo de

    rastreo. Parte de la informacin escrita en un archivo de rastreo va

    destinada al administrador de la base de datos, mientras que otra

    informacin es para los Servicios de Soporte Oracle.

    Archivos log de alertas: Son archivos de rastreo especiales. Tambin se

    conocen como logs de alertas. El log de alertas de una base de datos es

    un log cronolgico de mensajes y errores. Oracle recomienda revisar

    estos archivos.

  • 7/31/2019 Primera Practica Oracle

    12/35

    Base de Datos II (Oracle)

    JUAN ALEJANDRO ROSALES CORONEL

    Tablespaces y Archivos de Datos

    Una base de datos se divide en unidades lgicas de almacenamiento

    denominadas tablespaces, que se pueden utilizar para agrupar estructuras

    lgicas relacionadas. Cada base de datos est dividida lgicamente en uno oms tablespaces. Se crean explcitamente uno o ms archivos de datos

    para cada tablespace con el fin de almacenar fsicamente los datos de todas

    las estructuras lgicas de un tablespace.

    Nota: Tambin pueden crear tablespaces de archivo grande, que son

    tablespaces con un nico archivo de datos aunque de gran tamao (hasta 4

    mil millones de bloques de datos). Los tablespaces de archivo pequeo

  • 7/31/2019 Primera Practica Oracle

    13/35

    Base de Datos II (Oracle)

    JUAN ALEJANDRO ROSALES CORONEL

    tradicionales (utilizados por defecto) pueden contener varios archivos de

    datos, pero los archivos no pueden ser tan grandes.

    Tablespaces y Archivos de Datos

    Las bases de datos, tablespaces y archivos de datos estn

    estrechamente relacionados pero presentan importantes diferencias:

    Una base de datos Oracle consta de una o ms unidades lgicas de

    almacenamiento denominadas tablespaces, que en conjunto almacenan

    todos los datos de la base de datos.

    Cada tablespace de una base de datos Oracle se compone de uno o ms

    archivos denominados archivos de datos, que son estructuras fsicas que

  • 7/31/2019 Primera Practica Oracle

    14/35

    Base de Datos II (Oracle)

    JUAN ALEJANDRO ROSALES CORONEL

    se ajustan al sistema operativo en el que se est ejecutando el software

    de Oracle.

    Los datos de una base de datos se almacenan en conjunto en los archivos

    de datos que constituyen cada tablespace de la base de datos. Por

    ejemplo, la base de datos Oracle ms simple tendra dos tablespaces (los

    tablespaces obligatorios SYSTEM y SYSAUX), cada uno de ellos con un

    archivo de datos. Otra base de datos puede tener tres tablespaces,

    compuestos cada uno por dos archivos de datos (un total de seis archivos

    de datos).

    Una nica base de datos puede tener hasta 65.534 archivos de datos.

    CREAR TABLESPACE:

    - TBS_CLASE_DATA

    - TBS_CLASE_INDEX

    -

  • 7/31/2019 Primera Practica Oracle

    15/35

    Base de Datos II (Oracle)

    JUAN ALEJANDRO ROSALES CORONEL

    CREANDO TABLESPACE TBS_CLASE_DATA

    Y le agregamos los archivos de datos:

    - DF_CLASE_DATA_001.DBF

    - DF_CLASE_DATA_002.DBF

  • 7/31/2019 Primera Practica Oracle

    16/35

  • 7/31/2019 Primera Practica Oracle

    17/35

    Base de Datos II (Oracle)

    JUAN ALEJANDRO ROSALES CORONEL

  • 7/31/2019 Primera Practica Oracle

    18/35

    Base de Datos II (Oracle)

    JUAN ALEJANDRO ROSALES CORONEL

  • 7/31/2019 Primera Practica Oracle

    19/35

    Base de Datos II (Oracle)

    JUAN ALEJANDRO ROSALES CORONEL

    De la misma manera procedemos a crear el Tablespace

    TBS_CLASE_INDEX

    Y le agregamos los archivos de datos:- DF_CLASE_INDEX_001.DBF

  • 7/31/2019 Primera Practica Oracle

    20/35

    Base de Datos II (Oracle)

    JUAN ALEJANDRO ROSALES CORONEL

    Cierre de una Instancia de Base de Datos Oracle

  • 7/31/2019 Primera Practica Oracle

    21/35

    Base de Datos II (Oracle)

    JUAN ALEJANDRO ROSALES CORONEL

    Modos de Cierre (Apagado Base de Datos)

    Modo de cierre:

    A= ABORT

    I = IMMEDIATE

    T = TRANSACTIONAL

    N = NORMAL

    Opciones de SHUTDOWN

    SHUTDOWN NORMAL

    El modo de cierre por defecto es normal. El cierre normal de la base de datoscontina con las condiciones siguientes:

    No se pueden realizar nuevas conexiones.

    El servidor de Oracle espera a que todos los usuarios se desconecten

    antes de completar el cierre.

    Los buffers de la base de datos y de redo se escriben en disco.

    Los procesos en segundo plano se terminan y el SGA se elimina de lamemoria.

  • 7/31/2019 Primera Practica Oracle

    22/35

    Base de Datos II (Oracle)

    JUAN ALEJANDRO ROSALES CORONEL

    El servidor de Oracle cierra y desmonta la base de datos antes de cerrar

    la instancia.

    El siguiente inicio no necesita recuperacin de instancias.

    SHUTDOWN TRANSACTIONAL

    Un cierre transaccional impide que los clientes pierdan los datos, incluyendo

    los resultados de su actividad actual. El cierre transaccional de la base de

    datos contina con las condiciones siguientes:

    Ningn cliente puede iniciar una nueva transaccin en esta instancia en

    particular.

    Un cliente se desconecta cuando el cliente finaliza la transaccin en

    curso.

    Cuando han finalizado todas las transacciones, se produce

    inmediatamente un cierre.

    El siguiente inicio no necesita recuperacin de instancias.

    SHUTDOWN IMMEDIATE

    El cierre inmediato de la base de datos contina con las condiciones

    siguientes:

    Las sentencias SQL actuales que est procesando la base de datos

    Oracle no se completan.

    El servidor de Oracle no espera a que se desconecten los usuarios que

    estn conectados actualmente a la base de datos.

    El servidor de Oracle realiza un rollback de transacciones activas y

    desconecta todos los usuarios conectados.

    El servidor de Oracle cierra y desmonta la base de datos antes de cerrarla instancia.

  • 7/31/2019 Primera Practica Oracle

    23/35

    Base de Datos II (Oracle)

    JUAN ALEJANDRO ROSALES CORONEL

    El siguiente inicio no necesita recuperacin de instancias.

    SHUTDOWN ABORT

    Si las opciones de cierre NORMAL e IMMEDIATE no funcionan, puede

    abortar la instancia de base de datos actual. El aborto de una instancia

    contina con las condiciones siguientes:

    Las sentencias SQL actuales que est procesando el servidor de Oracle

    se terminan inmediatamente.

    El servidor de Oracle no espera a que se desconecten los usuarios que

    estn conectados actualmente a la base de datos.

    Los buffers de la base de datos y de redo no se escriben en disco.

    No se realiza un rollback de las transacciones sin confirmar.

    La instancia se termina sin cerrar los archivos.

    La base de datos no se cierra ni se desmonta.

    El siguiente inicio necesita la recuperacin de instancias, lo que se

    produce automticamente.

    Nota: No se recomienda realizar una copia de seguridad de una base de

    datos con estado inconsistente.

  • 7/31/2019 Primera Practica Oracle

    24/35

    Base de Datos II (Oracle)

    JUAN ALEJANDRO ROSALES CORONEL

    Estados de Inicio de una Base de Datos Oracle

    1. ARRANCAR

    2. MONTAR

    3. ABRIR

    3. PARAR, FINALIZAR

    2. DESMONTAR

    1. CERRAR

    1. ARRANCAR

    2. MONTAR

  • 7/31/2019 Primera Practica Oracle

    25/35

    Base de Datos II (Oracle)

    JUAN ALEJANDRO ROSALES CORONEL

    3. ABRIR

    PARA CAMBIAR AL ESTADO DE MONTAR O ABRIR UNABASE DE DATOS ORACLE

    PREVIAMENTE INICIADA COMO NOMOUNT

    CAMBIANDO A ESTADO MOUNT

    CAMBIANDO A ESTADO ABRIR

  • 7/31/2019 Primera Practica Oracle

    26/35

    Base de Datos II (Oracle)

    JUAN ALEJANDRO ROSALES CORONEL

    Cmo funciona el modo ARCHIVELOG en

    OracleOracle escribe en los archivos de registros de reconstruccin en lnea (redolog online) de manera cclica, cuando los usuarios realizan modificaciones en

    la base de datos, Oracle guarda todas las transacciones que se van

    realizando en estos archivos de redo log online. Empieza a escribir en el

    primer archivo de redo log online, cuando se llena pasa al segundo, y as

    sucesivamente hasta llegar al ltimo archivo de redo log online, cuando llenael ltimo inicia un proceso en segundo plano llamado LGWR(Log Writer)

    para sobreescribir los contenidos del primer archivo de redo log online y

    volver a empezar. Cuando Oracle se ejecuta en modo ARCHIVELOG el

    proceso en segundo plano llamado ARCH hace una copia de cada archivo

    de redo log online una vez que el proceso LGWR termina de escribir en l,

    guarda dicha copia en los archivos dereconstruccin fuera de lnea (redo log

    offline) en disco:

  • 7/31/2019 Primera Practica Oracle

    27/35

    Base de Datos II (Oracle)

    JUAN ALEJANDRO ROSALES CORONEL

  • 7/31/2019 Primera Practica Oracle

    28/35

    Base de Datos II (Oracle)

    JUAN ALEJANDRO ROSALES CORONEL

    Activar el modo ARCHIVELOG en Oracle 11g R2

    Antes hay que comprobar el estado de ARCHIVELOG:

    Hay dos maneras:

    1. Ejecutando la siguiente comando Oracle:

    2. Tambin podremos comprobar el estado de ARCHIVELOG

    ejecutando la siguiente consulta SQL:

  • 7/31/2019 Primera Practica Oracle

    29/35

    Base de Datos II (Oracle)

    JUAN ALEJANDRO ROSALES CORONEL

    Tras asegurarnos de que la base de datos no est en modo

    ARCHIVELOG, como hemos indicado anteriormente, ahora

    ejecutaremos el siguiente comando para indicar la carpeta dedestino de los redo log offline:

    alter system set

    log_archive_dest_1='location=C:archive_log_offline' scope=spfile;

  • 7/31/2019 Primera Practica Oracle

    30/35

    Base de Datos II (Oracle)

    JUAN ALEJANDRO ROSALES CORONEL

    Pasos para Activar el modo ARCHIVELOG

    1. Primero bajar la base de datos mato la instancia y todo lo

    dems:

    2. Iniciamos la base de datos en modo MOUNTcon el comando:

    3. Ejecutamos el siguiente comando para indicar a Oracle que la

    base de datos se iniciar a partir de ahora en modo

    ARCHIVELOG:

    4.Abriremos la base de datos con el comando:

  • 7/31/2019 Primera Practica Oracle

    31/35

    Base de Datos II (Oracle)

    JUAN ALEJANDRO ROSALES CORONEL

    A partir de ahora nuestra base de datos ya estar en modo

    ARCHIVELOG. Podremos comprobarlo (como ya hemos indicado)

    con el comando:

    Y la sentencia SQL:

  • 7/31/2019 Primera Practica Oracle

    32/35

    Base de Datos II (Oracle)

    JUAN ALEJANDRO ROSALES CORONEL

    Pasos para Desactivar el modo ARCHIVELOG en Oracle

    11g R2

    1. Primero bajar la base de datos mato la instancia y todo lo

    dems:

    2. Iniciamos la base de datos en modo MOUNTcon el comando:

    3. Ejecutamos el siguiente comando para indicar a Oracle que la

    base de datos se iniciar a partir de ahora en modo

    NOARCHIVELOG:

  • 7/31/2019 Primera Practica Oracle

    33/35

    Base de Datos II (Oracle)

    JUAN ALEJANDRO ROSALES CORONEL

    4.Abriremos la base de datos con el comando:

    A partir de ahora nuestra base de datos ya no estar en modo

    ARCHIVELOG. Podremos comprobarlo (como ya hemos indicado)

    con el comando:

    Y la sentencia SQL:

  • 7/31/2019 Primera Practica Oracle

    34/35

    Base de Datos II (Oracle)

    JUAN ALEJANDRO ROSALES CORONEL

    ACTIVAR Y DESARTICAR ARCHIVELOG CON EL ENTERPRISE

    MANAGER

  • 7/31/2019 Primera Practica Oracle

    35/35

    Base de Datos II (Oracle)