• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Datos UNDO en Oracle
 

Datos UNDO en Oracle

on

  • 1,202 views

Gestión de los datos de UNDO en Oracle 11g R2

Gestión de los datos de UNDO en Oracle 11g R2

Statistics

Views

Total Views
1,202
Views on SlideShare
1,202
Embed Views
0

Actions

Likes
1
Downloads
1
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Datos UNDO en Oracle Datos UNDO en Oracle Presentation Transcript

    • ADMINISTRACIÓN DE ORACLE 11G Gestión de los datos de UNDO 1Carmen Soler Chorro - http://www.linkedin.com/in/casoch
    • INTRODUCCIÓN  Cuando ejecutamos operaciones DML:  Se escriben los datos en los segmentos de los tablespaces persistentes.  Y una versión anterior de estos datos se escribe en los tablespaces de UNDO (deshacer).  El objetivo es ver cómo se pueden gestionar estos datos de UNDO. 2Carmen Soler Chorro - http://www.linkedin.com/in/casoch
    • INTRODUCCIÓN  La utilidad de tener 1 tablespace de UNDO es asegurar las propiedades básicas de debe tener una base de datos: ACID  ATOMICIDAD  Asegura que una operación no se queda a medias. O se hace toda o no se hace.  CONSISTENCIA  Ninguna de las operaciones romperá las reglas de integridad de la base de datos.  AISLAMIENTO  Asegura que una operación no puede afectar a otra. Si dos usuarios atacan a los mismos datos, se asegura que las operaciones no interferirán.  DURABILIDAD  Una vez validada una operación, se conservará aunque falle el sistema. 3Carmen Soler Chorro - http://www.linkedin.com/in/casoch
    • VISIÓN GENERAL  Los datos de UNDO guardan la información que podría servir para revertir los efectos de las sentencias DML.  Los procesos de servidor mandan hacer una copia de los datos antes de empezar su transacción.  Al tener datos anteriores podemos ejecutar flashback queries.  Las flashback queries permiten consultar datos de copias anteriores de la base de datos. 4Carmen Soler Chorro - http://www.linkedin.com/in/casoch
    • VISIÓN GENERAL 5Carmen Soler Chorro - http://www.linkedin.com/in/casoch
    • IDENTIFICAR LOS SEGMENTOS DE UNDO 6Carmen Soler Chorro - http://www.linkedin.com/in/casoch
    • IDENTIFICAR LOS SEGMENTOS DE UNDO  Los segmentos de UNDO se identifican como TYPE2 UNDO.  Los Rollback Segments se utilizaban en versiones anteriores de Oracle como algo parecido a los TYPE2 UNDO. Ya no se utilizan pero se mantienen por retrocompatibilidad.  Aun así, desde Oracle se puede escoger trabajar con segmentos de UNDO o segmentos de ROLLBACK.  Han acabado ganando los segmentos de UNDO porque son mucho más fáciles de gestionar.  Sólo pueden existir en tablespaces de tipo UNDO. Aunque podría ocurrir que no hubiera un tablespace de UNDO en nuestra configuración de Oracle. 7Carmen Soler Chorro - http://www.linkedin.com/in/casoch
    • TALLER 1 Uso de los datos de UNDO. Carmen Soler Chorro - http://www.linkedin.com/in/casoch 8
    • GENERACIÓN DE DATOS DE UNDO  Al iniciarse una transacción, Oracle le asigna un segmento de UNDO.  Si la transacción necesitara más espacio de lo que cabe en ese segmento, Oracle le asignará otro automáticamente.  Es posible que más de una transacción comparta el mismo segmento de UNDO. 9Carmen Soler Chorro - http://www.linkedin.com/in/casoch
    • TIPOLOGÍA DE DATOS DE UNDO  Los datos de UNDO se pueden agrupar en varios niveles:  Active UNDO  Guardan datos de transacciones que se están ejecutando en este momento.  Expired UNDO  Datos de transacciones ya validadas.  Oracle no tiene la obligación de almacenarlas. Sobre todo las más antiguas.  Unexpired UNDO  También son datos de transacciones ya validadas, pero no pueden sobrescribirse porque hay operaciones anteriores a la modificación que, que deben utilizar los datos antiguos. 10Carmen Soler Chorro - http://www.linkedin.com/in/casoch
    • TRANSACCIONES ACTIVAS 11Carmen Soler Chorro - http://www.linkedin.com/in/casoch
    • TRANSACCIONES ACTIVAS  La primera consulta es para ver qué transacciones están a medias.  Podemos ver el segment_id del segmento de undo que se le ha asignado.  Y los bloques que lleva usados dentro de ese segmento de undo.  La segunda consulta es para ver el tamaño actual de los segmentos de UNDO.  La vista V$ROLLSTAT se puede relacionar con DBA_ROLLBACK_SEGS a través del campo usn. 12Carmen Soler Chorro - http://www.linkedin.com/in/casoch
    • TALLER 2 Trabajar con transacciones y Flashback Query. Carmen Soler Chorro - http://www.linkedin.com/in/casoch 13
    • GESTIÓN DE UNDO  La característica más importante de los segmentos de undo, es que se gestionan automáticamente.  A pesar de eso, el DBA puede ajustar determinados límites en función del volumen y la actividad de la base de datos.  Para dimensionarlo, hemos de tener en cuenta:  Que todas las transacciones que se prevé que haya tengan espacio.  Que además puedan almacenarse los unexpired.  Que además puedan guardarse los históricos que consideremos necesarios.  Si no podemos asegurar los dos primeros puntos, Oracle nos dará un error. 14Carmen Soler Chorro - http://www.linkedin.com/in/casoch
    • PARÁMETROS PARA LA GESTIÓN DE UNDO  Existen 3 parámetros para gestionar UNDO:  UNDO_MANAGEMENT, UNDO_TABLESPACE, UNDO_RETENTION  UNDO_MANAGEMENT  Valores: AUTO (default) y MANUAL.  Usaremos MANUAL cuando queramos trabajar con ROLLBACK SEGMENTS.  Oracle recomienda utilizar AUTO.  Si utilizamos AUTO, tenemos que tener definido el UNDO_TABLESPACE.  Es un parámetro estático. 15Carmen Soler Chorro - http://www.linkedin.com/in/casoch
    • PARÁMETROS PARA LA GESTIÓN DE UNDO  UNDO_TABLESPACE  Marca cuál es el nombre del UNDO tablespace que debe utilizar la base de datos.  UNDO_RETENTION  Se indica en segundos.  Es el tiempo que se tienen que mantener los datos unexpired en el tablespace de undo.  Por si acaso una transacción durara mucho tiempo.  Si no indicamos nada o lo ponemos a cero, trata de mantener los datos el máximo tiempo posible 16Carmen Soler Chorro - http://www.linkedin.com/in/casoch
    • TALLER 3 Dimensionar y monitorizar el tablespace de UNDO. Carmen Soler Chorro - http://www.linkedin.com/in/casoch 17
    • TALLER 4 Ejemplo de ejecución de una Flashback Query. Carmen Soler Chorro - http://www.linkedin.com/in/casoch 18
    • TALLER 5 Gestión de tablespaces de UNDO. Carmen Soler Chorro - http://www.linkedin.com/in/casoch 19