Tecnología

Inicio

La función del sueño en Oracle

La función del sueño en Oracle


La función de apagado automático en Oracle es en realidad un procedimiento que puede incluir en una función en lugar de una función en sí. Confusión a menudo se produce debido a similitudes sorprendentes entre los dos, con la única diferencia real es que un procedimiento sigue las instrucciones que no siempre devuelven un valor, mientras que una función debe siempre termina con un valor de retorno. La adición de declaraciones PL / SQL que ponen una base de datos Oracle "a dormir" es una tarea administrativa común y dependiendo de su preferencia, los usuarios finales también pueden usar una opción de sueño.

Identificación

Poner una base de datos Oracle para el sueño significa exactamente lo que dice. Las declaraciones se escriben causan la base de datos de suspender las operaciones normales o dejar de trabajar, a veces con tan solo unas pocas centésimas de segundo. Por ejemplo, los usuarios finales pueden añadir un procedimiento de sueño para hacer una pausa en la base de datos antes de que se inserta la nueva información en una tabla. administradores de bases de datos pueden utilizar una función de apagado automático para contar la base de datos que esperar un período de tiempo específico antes de intentar volver a ejecutar una acción fallida, o para hacer una pausa en la base de datos mientras se realiza una copia de seguridad de rutina.

Proceso

Oracle le proporciona tres opciones si usted es un administrador y una opción si usted es un usuario final para la codificación y utilizando el procedimiento del sueño en PL / SQL. Los tres órdenes administrativas son dbms_backup_restore, dbms_drs y DBMS_LOCK y el comando de usuario final es user_lock. La opción dbms_backup_restore detiene la base de datos durante la copia de seguridad y restaurar los procedimientos, dbms_drs - o la programación de recursos distribuidos - puede suspender una sesión durante la optimización de recursos y ambos DBMS y user_lock son útiles para proporcionar el uso exclusivo de una máquina o un terminal específico por un tiempo limitado, la aplicación de una plazo por un read_lock y para aplicaciones de sincronización.

Sintaxis

Mientras que el comando real para cada uno difiere en función de la opción que elija, el formato de sintaxis general para la escritura de un procedimiento de sueño comienza creando el procedimiento utilizando la sentencia "CREATE PROCEDURE_sleep [(Sleeptime EN INTEGER)] ES". La parte inicial de la declaración crea el procedimiento y la información dentro de los corchetes identifica sus parámetros, que en este caso es el nombre del procedimiento, el identificador de IN que indica a Oracle el procedimiento también se puede utilizar dentro de una función y número entero que define el tipo de datos. Iniciar el procedimiento con una simple afirmación "BEGIN" y en la siguiente línea identificar la opción y sus parámetros, tales como SYS.DBMS_BACKUP_RESTORE.SLEEP (sleepTime_in_seconds = 5.01) antes de terminar el procedimiento con la instrucción END:

CREAR PROCEDURE_sleep [(sleepTime_in_minutes EN INTEGER)]
ES
EMPEZAR
SYS.DBMS_BACKUP_RESTORE.SLEEP (sleepTime_in_minutes = 15.01);
FIN;
/

consideraciones

Cuando se trata de la concesión de privilegios EXECUTE a los usuarios para el comando user_lock.sleep terminar, entienden que no sólo los usuarios finales tienen la capacidad de escribir un procedimiento sueño, sino también todos los procedimientos de bloqueo asociado con este comando. Además, el tamaño y la configuración de la base de datos de Oracle pueden impedir que la concesión de privilegios EXECUTE a todos los usuarios finales. Debido a esto, Oracle recomienda conceder derechos de bloqueo según las necesidades o papel dentro de la empresa.