Función del sueño en ORACLE

Necesito ejecutar una consulta SQL en ORACLE, lleva una cierta cantidad de tiempo. Entonces escribí esta función:

CREATE OR REPLACE FUNCTION MYSCHEMA.TEST_SLEEP
(
TIME_  IN  NUMBER
)
RETURN INTEGER IS
 BEGIN
   DBMS_LOCK.sleep(seconds => TIME_);
RETURN 1;
 EXCEPTION
   WHEN OTHERS THEN
   RAISE;
   RETURN 1;
END TEST_SLEEP;

y llamo de esta manera

SELECT TEST_SLEEP(10.5) FROM DUAL

pero para trabajar necesito establecer la concesión deDBMS_LOCK al dueño del procedimiento.

Cómo puedo reescribir esta función sin usar elDBMS_LOCK.sleep ¿función?

Respuestas a la pregunta(10)

Su respuesta a la pregunta