Professional Documents
Culture Documents
Escuela de Ingeniera
Tablespace de Undo
Objetivos
2
Instituto Profesional DuocUC
Escuela de Ingeniera
Undo Data
User
Undo Data
Oracle almacena los viejos valores (undo data) cuando un proceso modifica datos en una
base de datos. Almacena los datos existentes antes que sean modificados. Capturar undo
data permite a los usuarios modificar sus MINDS (roll back). Undo tambin soporta lecturas
consistentes y flashback queries.
Lecturas consistentes. Si se inicia una consulta, ningn cambio bajo las tablas bajo la
consulta, afecta los resultados de la misma. Oracle provee resultados consistentes con los
datos cada vez que se inicia una consulta. Para que una lectura consistente sea exitosa, la
informacin original debe an existir como informacin de undo. Mientras la informacin de
undo es retenida, Oracle puede reconstruir datos a una consulta satisfactoria de lectura
consistente.
Flashback queries fue instroducido en Oracle 9i. Permite al usuario ver como una tabla lucia
en un instante de tiempo. Dependiendo que tan atrs en el tiempo sea la consulta,
dependera el xito o no del flashback querie.
Undo data es usado tambin para recuperar transacciones fallidas. Una transaccin fallida
ocurre cuando una sesin de usuario finaliza anormalmente (errores de red o fallas en la
mquina cliente) antes que el usuario decida realizar una transaccin de commit o rollback.
Transacciones fallidas pueden suceder cuando hay un crash de la instancia.
3
Undo Data (continuacin)
En el caso que una transaccin falle, Oracle almacena todos los cambios realizados
por el usuario, recuperando los datos originales.
Informacin de Undo es retenida para todas las transacciones al menos hasta que la
ltima transaccin finaliza por:
Usuarios cambien su MIND (rolls back)
Usuarios finalizan una transaccin(commits)
Trmino anormal de sesiones de usuarios (rolls back)
Trmino normal de sesiones de usuarios con un exit (commits)
La informacin de Undo puede ser retenida dependiendo de la cantidad de actividad
en la base de datos y de la configuracin de la misma.
El monitoreo de un tablespace de undo es diferente al de otros tablespaces. El DBA
debe tener la certeza que dispone de suficiente espacio de undo para satisfacer todo
tipo de transacciones de usuarios. Existen mtodos para calcular la cantidad
adecuada de espacio de undo.
4
Instituto Profesional DuocUC
Escuela de Ingeniera
Nueva
Imagen
Undo segment
5
Instituto Profesional DuocUC
Escuela de Ingeniera
6
Instituto Profesional DuocUC
Escuela de Ingeniera
Monitoreando Undo
DBA
Monitoreando Undo
La mayoria del tiempo undo es administrado automaticamente por la instancia con una
pequea intervencin por parte del DBA. Algunas cosas que pueden requerir intervencin
del administrador incluyen:
Insuficiente espacio para undo
Usuarios reciben el mensaje de error ORA-01555 snapshot too old
La informacin de undo siempre es retenida hasta que finaliza la transaccin. Esto significa
que si una cantidad extremadamente grande de datos son borrados o modificados
(operaciones de insert consume mucho menos espacio de undo porque la imagien original
del dato insertado es un valor nulo) sin confirmaciones (commit) periodicas de los cambios,
el tablespace de undo lo suficientemente grande para contener los datos originales. Suponga
un caso donde una table de 50 GB tiene que borrar todas las filas con el comando:
SQL> DELETE FROM reallybigtable;
El tablespace de undo podra requerir hacer espacio para los 50 GB originales de
informacin solo en caso que le usuario que ekl usuario que dio origen a la sentencia
deseara deshacerla a traves de un rollback. Cuando el tablespace de undo es sobrecedido,
el usuario recibe un mensaje de error: ORA-01650: unable to extend rollback segment
7
Monitoreando Undo (continuacin)
Otro psoible problema que el administrador puede encontrar con la informacin de
undo ocurre cuando una consulta necesita acceder informacin que ya ha sido
sobreescrita en undo. Esto puede suceder en la ejecucin de largas consultas de
flashback. Cuando una consulta necesita un snapshot (foto) de datos de cierto
instante de tiempo en el pasado y la reconstruccin del snapshot requiere data de
undo que no existe, la consulta retorna el siguiente error:
ORA-01555: snapshot too old
8
Instituto Profesional DuocUC
Escuela de Ingeniera
Administrando Undo
La Administration de undo debe incluir prevenir:
Errores de espacio en tablespace de Undo
Dimensione adecuadamente el tablespace de undo
Asegure grandes transacciones con commit periodicos
Errores de Snapshot too old
Configure un apropiado intervalo de retencin de undo
Dimensione adecuadamente el tablespace de undo
Considere garantizar retencin de undo
UNDO_MANAGEMENT=AUTO
UNDO_TABLESPACE=UNDOTBS1
DBA
Administrando Undo
Oracle 10g recomienda usar adminsitracin automtica de undo, configurando el
parmetro de inicializacin UNDO_MANAGEMENT dejandolo en AUTO. La
administracin manual es soportada para compatibilidad de versiones anteriores,
pero requiere de una gran intervencin del DBA.
Con administracin automtica de undo, el DBA administra undo a nivel de
tablespace. Para controlar el tablespace de undo, una instancia use el parmetro de
inicializacin UNDO_TABLESPACE. Despus de haber seleccionado el tablespace
de undo, el administrador necesita solamente proveer el espacio necesario y
configurar el intervalo de retencin de undo.
Con la administracin manual el DBA debe considerar:
Dimensionar segmentos incluyendo el mximo de extents y su tamao
Identificar y eliminar las transacciones bloqueadas
Crear suficientes segmentos de rollback (en modo manual los segmentos de
undo son conocidos como segmentos de rollback o rollback segments) para
manejar transacciones
Seleccionar un tablespace para conteneer los segmentos de rollback (el
tablespace solo es usado con administracin automtica de undo)
9
Instituto Profesional DuocUC
Escuela de Ingeniera
UNDO_RETENTION=0
DBA
10
Configurando Retencin de Undo (Continuacin)
La informacin de undo esta dividad en 3 categorias:
Uncommitted undo information: Soporta transacciones en ejecucin y es
requerido si un usuario desae hacer un rollback o si la transaccin falla.
Uncommitted undo information nunca es sobrescrita.
Committed undo information: No es requerida para apoyar la transaccin en
ejecucin, pero es necesaria para satisfacer el intervalo de retencin de undo.
Tambin es conocida como informacin de undo no vencida. La informacin de
undo confirmada es retenida tanto como sea posible sin que una transaccin
activa falle por carencia de espacio.
Expired undo information: No es necesaria para apoyar transacciones en
ejecucin. Es sobreescrita cuando se requiere espacio por una transaccin
activa.
11
Instituto Profesional DuocUC
Escuela de Ingeniera
12
Instituto Profesional DuocUC
Escuela de Ingeniera
Tamao Actual
del
Tablespace
Rango de
Consumo de Undo
13
Instituto Profesional DuocUC
Escuela de Ingeniera
14
Instituto Profesional DuocUC
Escuela de Ingeniera
Fin de la Leccin