Académique Documents
Professionnel Documents
Culture Documents
A. Transacciones
ORACLE utiliza el nivel menos restrictivo guiándose por las siguientes reglas:
· Operaciones de lectura no esperan a las de escritura sobre los mismos datos.
· Operaciones de escritura no esperan a las de lectura sobre los mismos datos.
· Operaciones de escritura solamente esperan a otras operaciones de escritura
que intentan modificar la misma tupla.
Oracle posee dos tipos de bloqueos. El bloqueo Exclusivo se encarga de
bloquear un recurso y no permitir ningún tipo de acceso a él; esto es útil cuando se
realizan cambios DDL o DML que afecten la estructura o los valores de un
registro. El otro tipo de bloqueo es el Compartido, que permite un acceso de sólo
lectura al recurso en disputa. Estos bloqueos no son compatibles entre sí. Si un
grupo de consultas posee un bloqueo compartido sobre un recurso y una
transacción quiere modificar ese recurso, esta debe esperar a que terminen su
ejecución todas las consultas, en caso contrario, si una transacción posee un
bloqueo exclusivo sobre un recurso, todas las transacciones que deseen ese
recurso deben esperar a que termine la transacción inicial. Los bloqueos sobre un
recurso tienen la misma duración que la transacción que posee el bloqueo.
Además de los bloqueos Exclusivos y Compartidos, Oracle implementa bloqueos
DDL y DML que hacen uso de estos conceptos.
Al realizar un bloqueo DDL, se previene el acceso a los objetos que van a ser
modificados en su estructura. Oracle uiliza bloqueo Compartido si las
modificaciones no son destructivas y bloqueo Exclusivo en caso contrario.
Para realizar bloqueos DML se escoge siempre el tipo de bloqueo más bajo
posible. El bloqueo más bajo es el TX (bloqueo por filas), que garantiza un mayor
grado de concurrencia al permitir acceso a las demás filas de una misma tabla.
Cuando este bloqueo no es posible debido a la magnitud de los cambios de la
transacción, se procede a realizar un TM (bloqueo por tabla).Existen varios tipos
de TM, entre ellos:
X (Exclusivo): Consiste en bloquear toda la tabla, impidiendo la ejecución de
sentencias DML sobre ella.
S (Compartido): Se marca la tabla como “Sólo Lectura”. Varias transacciones
pueden adquirir este bloqueo sobre una misma tabla.
RS (Filas Compartidas): Este bloqueo se utiliza para indicar que se va a
realizar en un futuro cercano alguna modificación a las filas de esta tabla.
RX (Filas Exclusivas): Con este bloqueo se indica que ya se realizaron
modificaciones INSERT, UPDATE o DELETE a las filas de esta tabla.
SRX (Filas Compartidas Exclusivas): Sólo una transacción puede obtener este
bloqueo, ya que permite prohibirle a todas las demás transacciones la
modificación de la fila, pero se permite la lectura.
Oracle también realiza bloqueos totales de sus objetos principales, tales como
Logs, Diccionario de Datos y Segmentos de los Tablespaces para asegurar que
ningún usuario manipule objetos vitales para el funcionamiento correcto de la BD.
B. Seguridad
C. Vistas
1.
FORCE: Crea la vista sin importar que la tabla base exista o no.
WITH CHECK OPTION: Especifica que solamente las filas accesibles a la
vista pueden ser insertadas o actualizadas.
CONSTRAINT: Nombre asignado a la restricción CHECK OPTION.
WITH READ ONLY: Asegura que ninguna operación DML pueda realizarse
sobre esta vista.
Al borrar una vista no perderá los datos, porque la vista está basada en
tablas subyacentes de la B.D.
Únicamente el creador o un usuario con el privilegio DROP ANY VIEW
puede eliminar una vista.
2.
♦ WITH CHECK OPTION. Hace que sólo las filas que se muestran en la vista
puedan ser añadidas (INSERT) o modificadas (UPDATE). La restricción que sigue
a esta sección es el nombre que se le da a esta restricción de tipo CHECK
OPTION.
♦ WITH READ ONLY. Hace que la vista sea de sólo lectura. Permite grabar un
nombre para esta restricción.
Lo bueno de las vistas es que tras su creación se utilizan como si fueran una tabla.
D. Modularidad Paquetes
1.
E. Cursores