Unidad4 Operacion y Mantenibilidad.pdf

Embed Size (px)

Citation preview

  • 5/26/2018 Unidad4 Operacion y Mantenibilidad.pdf

    1/29

    Operacin y

    mantenibilidadUNIDAD 4

  • 5/26/2018 Unidad4 Operacion y Mantenibilidad.pdf

    2/29

    OBJETIVOS

    Crear bitcoras de operacin para el diagnstico delrendimiento del DBMS.

    Crear y mantener ndices.

  • 5/26/2018 Unidad4 Operacion y Mantenibilidad.pdf

    3/29

    BITCORAS DE TRABAJO DEL

    DBMS

  • 5/26/2018 Unidad4 Operacion y Mantenibilidad.pdf

    4/29

    BITCORA

    Herramienta que permite registrar, analizar, detectar y

    notificar eventos que sucedan en un momentodeterminado.

    Es una estructura usada para grabar las modificaciones de

    la base de datos.

  • 5/26/2018 Unidad4 Operacion y Mantenibilidad.pdf

    5/29

    IMPORTANCIA DE UNA BITCORA

    Recuperar informacin ante incidentes

    Deteccin de comportamiento inusual

    Informacin para resolver problemas

    Evidencia Legal

    Computo Forense

  • 5/26/2018 Unidad4 Operacion y Mantenibilidad.pdf

    6/29

    TIPOS DE BITCORAS

    Alertas Archivo alert_orcl.log

    Transacciones Redo: bitcora de toda transaccin. La operacin

    ROLLBACK est basada en el uso de una bitcora.

    ARCHIVELOG

    Auditorias (seguimiento de intentos de inicio de sesin, accesos aobjetos y acciones de la base de datos)

    DISPARADORES

    http://localhost/var/www/apps/ORACLE/diag/rdbms/orcl/orcl/trace/alert_orcl.loghttp://localhost/var/www/apps/ORACLE/diag/rdbms/orcl/orcl/trace/alert_orcl.log
  • 5/26/2018 Unidad4 Operacion y Mantenibilidad.pdf

    7/29

    FUNCIONES ESPECFICAS DE LAS

    BITCORAS

    Las bitcoras graban las modificaciones de la base dedatos en registros. Cada registro de la bitcora escribe unanica escritura de base de datos y tiene las siguientescaractersticas:

    Nombre de la Transaccin

    Valor antiguo

    Valor nuevo

  • 5/26/2018 Unidad4 Operacion y Mantenibilidad.pdf

    8/29

    DISPARADOR TRIGGERBITACORA

  • 5/26/2018 Unidad4 Operacion y Mantenibilidad.pdf

    9/29

    Disparador/ Trigger

    Un disparador (trigger) es un procedimiento que se ejecuta enrespuesta a un evento INSERT, DELETE o UPDATE sobrefilas de una tabla.

    Ej. Al aumentar el sueldo de un empleado, que se aumenteautomticamente el total de gastos de la empresa.

    La accin disparada por un evento se especifica mediante unasecuencia de sentencias SQL.

  • 5/26/2018 Unidad4 Operacion y Mantenibilidad.pdf

    10/29

    Aplicaciones de un Disparador/ Trigger

    Se obliga a el cumplimiento de las reglas comerciales quedebe cumplir una BD en cada transaccin.

    Realizar cambios en la base de datos de forma transparenteal usuario.

    Generar automticamente valores de columnas en base a unvalor proporcionado por una sentencia INSERT UPDATE.

    Sincronizar el mantenimiento de tablas duplicadas queestn localizadas en nodos distintos de una base de datosdistribuida.

  • 5/26/2018 Unidad4 Operacion y Mantenibilidad.pdf

    11/29

    Desventajas de un Disparador/ Trigger

    Crean complejidad en la planeacin lgica de la BD

    Las reglas ocultas hacen que programas aparentementesencillos generen una enorme cantidad de actividad

  • 5/26/2018 Unidad4 Operacion y Mantenibilidad.pdf

    12/29

    1 Data Manipulation Language2 Data Definition Language

    1

    2

  • 5/26/2018 Unidad4 Operacion y Mantenibilidad.pdf

    13/29

    DEFINICION DE LOS TRIGGERS

    CREATE OR REPLACE TRIGGER1. Comando: Se especifica el comando SQL que dispara elTrigger (Delete, Insert Update), y la tabla asociada.

    Se puede especificar cundo se dispara el Trigger:BEFORE, antes de ejecutar el comando.AFTER, despus de ejecutar el comando.

    2. Restriccin: Se define la condicin que tiene que verificar

    cada fila de la tabla para que se ejecute la accin del trigger

    3. Accin: Se define mediante comandos y sentencias SQL latarea especfica que realiza el Trigger.

  • 5/26/2018 Unidad4 Operacion y Mantenibilidad.pdf

    14/29

    Expresiones

    :OLD y :NEW Prefijos para referirse al valor nuevo y alantiguo de una columna de una fila de la tabla.

    UPDATE Valor antes de ser modificado (:OLD) Valor despus de la modificacin (:NEW)

    INSERT Podemos referenciar slo el valor nuevo (:NEW)

    DELETE Podemos referenciar slo el valor antiguo (:OLD)

    Ej. :NEW.salario > (:OLD.salario*1.25)Compara si el salario ha aumentado en ms del 25% de salarioantiguo

  • 5/26/2018 Unidad4 Operacion y Mantenibilidad.pdf

    15/29

    Estado de triggers

    TRIGGER habilitado ALTER TRIGGER nombre_trigger ENABLE; ALTER TABLE nombre_tabla ENABLE ALL TRIGGERS;

    TRIGGER deshabilitado ALTER TRIGGER nombre_trigger DISABLE; ALTER TABLE nombre_tabla DISABLE ALL

    TRIGGERS;

    Es conveniente desactivar los triggers sobre una tablacuando se hace una carga masiva de datos.

    CUANDO SE CREAN ESTN ACTIVOS.

  • 5/26/2018 Unidad4 Operacion y Mantenibilidad.pdf

    16/29

    Borrado de triggers

    DROP TRIGGER nombre_trigger;

    Documentacin de triggersSe pueden consultar las vistas:

    USER_TRIGGERS ALL_TRIGGERS DBA_TRIGGERS

    SELECT TRIGGER_NAME , STATUS FROMUSER_TRIGGERS;

  • 5/26/2018 Unidad4 Operacion y Mantenibilidad.pdf

    17/29

    OTRAS FUNCIONES

    Ver errores en la sintaxis show errors trigger nombre_disparador;

    Ver el cuerpo de un disparador SELECT TRIGGER_BODY FROM USER_TRIGGERS

    WHERE TRIGGER_NAME=nombre_disparador;

    Ver la descripcin de un disparador SELECT DESCRIPTION FROM USER_TRIGGERS

    WHERE TRIGGER_NAME= nombre_disparador;

  • 5/26/2018 Unidad4 Operacion y Mantenibilidad.pdf

    18/29

    GRANULARIDAD DEL EVENTO

    FOR EACH ROW. El disparador es a nivel de fila. Elcuerpo del disparador se debe aplicar fila a fila a la tablaafectada.

    WHEN condicin (slo para disparadores a nivel de fila) Operadores relacionales: < >= = Operadores lgicos AND, OR, NOT

    FOR EACH STATEMENT. El disparador es a nivel deorden. El cuerpo del disparador se debe aplicar a toda latabla a la vez.

  • 5/26/2018 Unidad4 Operacion y Mantenibilidad.pdf

    19/29

    FUNCIONES DEL CUERPO DEL DISPARADOR

    CREATE OR REPLACE TRIGGER ejemploBEFORE INSERT OR UPDATE OR DELETE ON tablaBEGIN

    IF DELETING THEN

    Acciones asociadas al borradoELSIF INSERTING THEN

    Acciones asociadas a la insercinELSE

    Acciones asociadas a la modificacin

    END IF;END ejemplo;/

    EVENTO

    CONDICIN

    ACCIN

  • 5/26/2018 Unidad4 Operacion y Mantenibilidad.pdf

    20/29

    FUNCIONES DEL CUERPO DEL DISPARADOR

    RAISE_ERROR_APPLICATION (nro_error, mensaje);

    [-20000 y -20999] Error definido por el usuario

    CREATE OR REPLACE TRIGGER ejemploBEFORE DELETE ON tablaFOR EACH ROWBEGIN

    IF tabla.columna= valor_no_borrable THEN

    RAISE_APPLICATION_ERROR(-20000,La fila no sepuedeborrar);END IF;

    END;

  • 5/26/2018 Unidad4 Operacion y Mantenibilidad.pdf

    21/29

    DECLARACIN DE VARIABLES

    Dentro de un disparador se pueden declarar variables que seutilizarn dentro del cuerpo del mismo.

    CREATE...BEFORE...[FOR EACH ROW ...]

    DECLARENombre CONSTANT NUMBER:=valor;

    nombre TIPO;

    BEGIN

    ...

  • 5/26/2018 Unidad4 Operacion y Mantenibilidad.pdf

    22/29

    EJEMPLO

    CREATE OR REPLACE TRIGGER jefes

    BEFOREINSERT ON empresa.empleados

    FOR EACH ROW

    DECLARE

    supervisa INTEGER;

    BEGIN

    SELECT count(*) INTO supervisa FROM empresa.empleadosWHERE jefe = :new.jefe;

    IF supervisa > 4 THEN

    raise_application_error (-20600,:new.jefe||'no se puede supervisar masde 5');

    END IF;

    END;

    /

  • 5/26/2018 Unidad4 Operacion y Mantenibilidad.pdf

    23/29

    RECUPERACIN (ROLLBACK)

  • 5/26/2018 Unidad4 Operacion y Mantenibilidad.pdf

    24/29

    ROLLBACK

    Es una operacin que devuelve a la base de datos a algnestado previo.

    Los Rollbacks son importantes para la integridad de laBD, ya que significan que la BD puede ser restaurada auna copia limpia incluso despus de que se han realizadooperaciones errneas.

    Son cruciales para la recuperacin de cadas de unservidor de base de datos.

  • 5/26/2018 Unidad4 Operacion y Mantenibilidad.pdf

    25/29

    PERMANENCIA (COMMIT)Marca el final de una transaccin

    correcta, implcita o explcita.

  • 5/26/2018 Unidad4 Operacion y Mantenibilidad.pdf

    26/29

    COMMIT Una sentencia COMMIT en SQL finaliza una transaccin

    de base de datos dentro de un sistema gestor de base dedatos relacional (RDBMS).

    Pone visibles todos los cambios a otros usuarios.

    El formato general es emitir una sentencia BEGINWORK, una o ms sentencias SQL, y entonces lasentencia COMMIT.

    Alternativamente, una sentencia ROLLBACK se puedeemitir, la cual deshace todo el trabajo realizado desde quese emiti BEGIN WORK.

  • 5/26/2018 Unidad4 Operacion y Mantenibilidad.pdf

    27/29

    DEFINICIN DE LOS MODOS DE

    OPERACIN DE UN DBMS.(ALTA, BAJA, RECOVERY)

  • 5/26/2018 Unidad4 Operacion y Mantenibilidad.pdf

    28/29

    Referencias Base de Datos Oracle 10g Taller de Administracin I Volumen I Gua del Alumno Edicin 3.0

    Oracle 11g Curso Prctico Teaching Soft Group Alfaomega Ra-Ma

    http://www.oracle.com http://docs.oracle.com/cd/B10501_01/appdev.920/a96624/

    07_errs.htm

    http://www.oracle.com/http://docs.oracle.com/cd/B10501_01/appdev.920/a96624/07_errs.htmhttp://docs.oracle.com/cd/B10501_01/appdev.920/a96624/07_errs.htmhttp://docs.oracle.com/cd/B10501_01/appdev.920/a96624/07_errs.htmhttp://docs.oracle.com/cd/B10501_01/appdev.920/a96624/07_errs.htmhttp://www.oracle.com/http://www.oracle.com/
  • 5/26/2018 Unidad4 Operacion y Mantenibilidad.pdf

    29/29

    Operacin y

    mantenibilidadUNIDAD 4