Vous êtes sur la page 1sur 2

CONCURRENCIA EN ORACLE

La ejecucin concurrente de varias transacciones debe garantizar que producirn el mismo resultado que las mismas en serie. En general, las BD multi-usuarios utilizan bloqueos en el control de concurrencia. Niveles de bloqueo Bloqueo e!clusivo. No permite que un recurso sea compartido. La primera transaccin que lo bloquea es la "nica que puede alterarlo. Bloqueo compartido. #ermite que un recurso sea compartido. $uc%as transacciones pueden adquirir este tipo de bloqueo sobre el mismo recurso. &racle utiliza adems multiversin para permitir el acceso concurrente a los datos. Control de concurrencia multiversin &racle automticamente proporciona consistencia de lectura datos que una consulta ve son de un mismo punto en el tiempo 'consistencia de lectura a nivel de sentencia(. )ambi*n puede proporcionar consistencia de lectura a todos las consultas de una transaccin 'consistencia a nivel de transaccin(. +,mo &racle utiliza la in.ormacin e!istente en el segmento de anulacin 'datos antiguos(. ,uando una consulta comienza se le asigna un n"mero '/,N(. Datos le0dos por una consulta tienen un /,N ms peque1o. Bloques con /,N ms alto 'ms reciente( son reconstruidos con la in.ormacin contenida en el segmento de anulacin. &racle proporciona consistencia de lectura a dos niveles Nivel de sentencia &racle garantiza que los datos devueltos por una consulta son consistentes con respecto al tiempo en que empez la consulta. &racle observa el /,N 's2stem c%ange number( cuando la consulta entra en ejecucin. /olo los datos aceptados antes de dic%o /,N sern utilizados. /egmentos de anulacin se utilizan para buscar versiones anteriores de los datos. Nivel de transaccin Datos vistos por todas las consultas de una transaccin son consistentes con respecto a un punto en el tiempo. /e debe indicar que la transaccin es Read-Only. /i las transacciones son de solo lectura, se act"a como en el caso anterior. /i e!isten otro tipo de consultas 'modi.icar, borrar, insertar3( se deben utilizar bloqueos. &racle proporciona tres niveles de aislamiento

Referencia: http://www.google.com.bo/url?sa=t&rct=j&q=&esrc=s&source=web&cd=10& ed=0!"o#$j%&&url=http'(%')$ ')$informatica.u .es')$iiguia')$)000')$*+)')$arquitectura.doc&ei=,-u&./ fp01234%.!us5e!#&usg=%$#j!6$$u722.8wme,!u.597h#325..gtg

read-committed Nivel de aislamiento por de.ecto. ,ada consulta de una transaccin solo ve los datos que .ueron con.irmados antes de que la consulta comenzara. /e producen lecturas no reproducibles. serializable transactions /olamente se ven los cambios realizados por transacciones con.irmadas 4 cambios e.ectuados por ella misma. read-onl2 transacciones de solo lectura ven datos con.irmados antes de empezar 2 no permiten modi.icaciones de los datos.

#ara seleccionar uno de estos comandos al comienzo de una transaccin /E) )56N/6,)7&N 7/&L6)7&N LE8EL 5E6D ,&$$7))ED9 /E) )56N/6,)7&N 7/&L6)7&N LE8EL /E576L7:6BLE9 /E) )56N/6,)7&N 7/&L6)7&N LE8EL 5E6D &NL;9 #ara establecer un nivel de aislamiento para el conjunto de transacciones siguientes 6L)E5 /E//7&N /E) 7/&L6)7&N<LE8EL /E576L7:6BLE9 6L)E5 /E//7&N /E) 7/&L6)7&N<LE8EL 5E6D ,&$$7))ED9 Eleccin de un nivel de aislamiento los dos niveles siguientes proporcionan un alto grado de concurrencia mediante la combinacin de multiversin 2 bloqueos. read-committed Nivel por de.ecto. 6propiado para la ma2or0a de las aplicaciones. 6plicaciones donde el 0ndice de llegada de transacciones es alto. /i es poco probable que se ejecute una misma consulta dos veces serializable 6decuado cuando es poco problable que dos transacciones concurrente modi.iquen las mismas .ilas. ,uando las transacciones de larga duracin son principalmente de solo lectura. No aparecen lecturas no reproducibles. Bloqueos en Oracle Bloqueos son los mecanismos que utiliza &racle para evitar que dos transacciones accedan al mismo recurso. 6utomticamente &racle obtiene los bloqueos necesarios cuando ejecuta alguna sentencia en /=L. &56,LE utiliza el nivel menos restrictivo guindose por las siguientes reglas &peraciones de lectura no esperan a las de escritura sobre los mismos datos. &peraciones de escritura no esperan a las de lectura sobre los mismos datos. &peraciones de escritura solamente esperan a otras operaciones de escritura que intentan modi.icar la misma tupla. /e utilizan bloqueos a nivel de .ila una transaccin espera cuando intenta modi.icar una .ila modi.icada por una transaccin no con.irmada. &56,LE no escalona los bloqueos. 7nterbloqueos ocurren cuando dos o ms usuarios estn esperando datos bloqueados por los otros. &racle automticamente detecta situaciones de interbloqueo 2 los resuelve abortando una de las transacciones. /e detectan mediante gra.os de esperas.

Referencia: http://www.google.com.bo/url?sa=t&rct=j&q=&esrc=s&source=web&cd=10& ed=0!"o#$j%&&url=http'(%')$ ')$informatica.u .es')$iiguia')$)000')$*+)')$arquitectura.doc&ei=,-u&./ fp01234%.!us5e!#&usg=%$#j!6$$u722.8wme,!u.597h#325..gtg

Vous aimerez peut-être aussi