0 calificaciones0% encontró este documento útil (0 votos)
82 vistas3 páginas
Este documento presenta dos ejemplos de bloqueos de tablas en MySQL y Oracle. En MySQL, se bloqueó la tabla "cliente" para lectura, lo que generó un error al intentar consultarla. En Oracle, se bloqueó la tabla "categorías" de forma exclusiva, impidiendo que otras transacciones inserten registros hasta que se confirma el bloqueo. Ambos ejemplos demuestran cómo los bloqueos de tablas previenen el acceso concurrente a datos.
Este documento presenta dos ejemplos de bloqueos de tablas en MySQL y Oracle. En MySQL, se bloqueó la tabla "cliente" para lectura, lo que generó un error al intentar consultarla. En Oracle, se bloqueó la tabla "categorías" de forma exclusiva, impidiendo que otras transacciones inserten registros hasta que se confirma el bloqueo. Ambos ejemplos demuestran cómo los bloqueos de tablas previenen el acceso concurrente a datos.
Este documento presenta dos ejemplos de bloqueos de tablas en MySQL y Oracle. En MySQL, se bloqueó la tabla "cliente" para lectura, lo que generó un error al intentar consultarla. En Oracle, se bloqueó la tabla "categorías" de forma exclusiva, impidiendo que otras transacciones inserten registros hasta que se confirma el bloqueo. Ambos ejemplos demuestran cómo los bloqueos de tablas previenen el acceso concurrente a datos.
-----------------------------------------------------------CODIGO---------------------------------------------------------mysql> lock table cliente c read;
Query OK, 0 rows affected (0.06 sec) mysql> select * from cliente; ERROR 1100 (HY000): Table 'cliente' was not locked with LOCK TABLES mysql> select * from c; ERROR 1100 (HY000): Table 'c' was not locked with LOCK TABLES mysql> ----------------------------------------------------------DESCRIPCION------------------------------------------------EN ESTE MANEJADOR SE UTILIZO UN BLOQUEO DE LECTURA EN LA TABLA CLIENTE CON LA INSTRUCCION LOCK TABLE CLIENTE C READ LA CUAL FUNCIONO PARA BLOQUEAR CUALQUIER TIPO DE CONSULTA A LA TABLA CLIENTE CON EL COMANDO SELECT, AL RALIZAR LA CONSULAT EN EL EJEMPLO NOS GENERO UN ERROR DE LECTURA EL CUAL NOS COMPROBO QUE LA TABLA SE ENCUENTRA BLOQUEADA.
Enter password: Connected. SQL> LOCK TABLE CATEGORIAS IN EXCLUSIVE MODE; Table(s) Locked. ----------------------------SQL> COMMIT; Commit complete. -----------------------VENTANA 1------------SQL> INSERT INTO CATEGORIAS VALUES (9,VINOS); ----------------------------SQL> INSERT INTO CATEGORIAS VALUES (9,VINOS); 1 row created. ------------------------------------------------DESCRIPCION---------------------------------------------En el manejador Oracle se utiliz un bloqueo exclusivo a la tabla categoras el cual funciona de una manera que cualquier transaccin que intenta insertar un fila en la tabla bloqueada debe esperar encolada, hasta que la transaccin que ha bloqueado la tabla termine. Esto se mostro en la ventana 1 la cual intento insertar un registro con idcategoria=9 pero el bloqueo no dejo realizar dicha accion hast que se finalizo este bloqueo en la ventana 2 con un commit;