Gestión del sistema Lección 10. Gestión de la concurrencia de datos

1. Proporcione una descripción completa del mecanismo de bloqueo de la base de datos de Oracle.

Bloqueo:
Puede evitar que varias sesiones cambien los mismos datos al mismo tiempo. Se
adquiere automáticamente (filas, bloques, tablas) (objetos, bases de datos, esquemas) en el nivel más bajo posible de la declaración especificada.
Mecanismo de bloqueo:
(Proporciona) Procesamiento simultáneo de datos avanzado (capacidad):

  • Utilice bloqueos de nivel de fila al realizar inserciones, actualizaciones y eliminaciones
  • La consulta no requiere ningún bloqueo.
    Gestión automática de colas. Los bloqueos
    se mantienen hasta el final de la transacción (mediante operaciones COMMIT o ROLLBACK)

2. ¿Por qué una transacción adquiere un bloqueo de tabla compartida al mismo tiempo que adquiere un bloqueo de fila exclusivo?

Al modificar la base de datos, lea los datos del bloque a la memoria, envíelos después de la modificación y escríbalos en el archivo de datos mediante el proceso de escritura de la base de datos.
Evite que los usuarios modifiquen los datos de la fila de la tabla mientras otros administradores eliminan la tabla.

3. Cuando se produce un conflicto de bloqueo, cómo resolverlo, proporcione el comando SQL correspondiente.

El primer paso es averiguar la
instrucción SQL de ID de sesión (ID de sesión)

SELECT sid, serial#, username FROM v$session
    WHERE sid IN (SELECT blocking_session FROM v$session);

v $ sesión Sesión actual
block_session Cualquier sesión que tenga un bloqueo El
segundo paso para resolver conflictos de bloqueo
ALTER SYSTEM KILL SESSION'SID, SERIAL # 'INMEDIATE;

A. La sesión que tiene el candado se envía o se revierte (se libera)
B. La sesión que tiene el candado se termina (en caso de emergencia)

4. ¿Cómo se produjo el punto muerto y cómo solucionarlo?

La transacción T1 está esperando a T2 y T2 está esperando a T1. Las dos transacciones nunca pueden finalizar.
Dos o más sesiones están esperando datos que han sido bloqueados por la otra sesión.

ORA-00060
Interbloqueo detectado mientras espera la
solución de recursos :
completamente automático, elimine una de las transacciones

5. El bloqueo de fila de la base de datos de Oracle es esencialmente un bloqueo en el bloque de datos ¿Es correcta esta declaración?

Incorrecto Los
datos de la tabla relacional se almacenan línea por línea en el bloque y la pieza de la fila está
bloqueada.

6. Preguntas del examen OCP:

ABE

Bloqueo TM (bloqueo a nivel de tabla) Bloqueo
TX (bloqueo transaccional o bloqueo a nivel de fila)
tipo de bloqueo:
bloqueo exclusivo (bloqueo exclusivo, es decir, bloqueo X) (bloqueo de escritura) Solo la transacción T puede leer y modificar el objeto de datos A, no otras transacciones En el
bloqueo compartido (bloqueo compartido, bloqueo S) del objeto de datos A (bloqueo de lectura), la transacción T puede leer el objeto de datos A pero no puede modificar A, otras transacciones solo pueden agregar bloqueo S a A, pero no bloqueo S

Mecanismo de bloqueo
de la base de datos Oracle-database

Supongo que te gusta

Origin blog.csdn.net/hezuijiudexiaobai/article/details/108777826
Recomendado
Clasificación