Trabajando con los datos del UNDO
La primera vista que vamos a ver es la de DBA_ROLLBACK_SEGS. En videos anteriores habiamos dicho que en versiones más antiguas de Oracle teníamos los ROLLBACK SEGMENTS, mientras en las versiones más modernas de Oracle, estos ROLLBACKS SEGMENTS han sido cambiados por los UNDO SEGMENTS, lo cual nos permite una gestión automática de estos segmentos, pues bien, estos ROLLBACKS SEGMENTES en realidad no desaparecieron del todo, Oracle, los utiliza en su funcionamiento interno.
En esta vista, podemos encontrar todos los segmentos de ROLLBACK, en que TABLESPACE se generaron esos segmentos, el número de segmentos, las extensiones, etc… Vamos ahora, a ejecutar el comando que nos permite mostrar los elementos de esta vista, escribimos:
- SELECT SEGMENT_NAME, TABLESPACE_NAME, BLOCK_ID FROM DBA_ROLLBACK_SEGS
Podemos ver que los nombres de los segmentos comienzan con un guion bajo. Aquí tenemos la TABLESPACE donde se generó el segmento correspondiente, por ejemplo, vemos los generados en la TABLESPACE UNDOTBS1, y debajo, los que se generaron en la TABLESPACE UNDOTBS2. Y por último a la derecha, tenemos el identificador del bloque.
Mediante la información proporcionada por esta vista, podemos ver además, si la cantidad de segmentos utilizados para la gestión del UNDO va aumentando o disminuyendo, dependiendo de la cantidad de segmentos que tengamos aquí.
Veamos ahora otra de las vistas que nos devuelve información de la gestión del UNDO por parte de Oracle, la vista V$UNDOSTAT. Para ello escribimos:
- SELECT BEGIN_TIME, END_TIME, UNDOTSN, UNDOBLKS, TXNCOUNT, MAXQUERYID FROM V$UNDOSTAT
En esta vista podemos encontrar algunas estadísticas de uso del UNDO, por ejemplo, el intervalo de tiempo en que hace una especie de resumen del uso de los tablespace del UNDO, el número de bloques que se han producido, el número de transacciónes, la última QUERY que se ha ejecutado, etc.
Podemos observar que nos muestra el intervalo de tiempo de las estadísticas correspondientes al registro. Un identificador para la tablespace del UNDO que estamos utilizando, la cantidad de bloques generados, la cantidad de transacciónes, que puede parecer un número demasiado grande, ya que apenas hemos hecho transacciónes, pero hay que recordar, que Oracle, en su funcionamiento interno, realiza transacciónes, pues bien, éstas también están contabilizadas aquí. Y aquí al final, tenemos una especie de ID que identifica la última QUERY que hayamos ejecutado.
Veamos ahora otra de las vista de Oracle sobre la gestión del UNDO. La vista V$ROLLSTAT, que
datos undo