Oracle SLEEP
Version 21c

General Information
Library Note Morgan's Library Page Header
Which has the higher priority in your organization: Deploying a new database or securing the ones you already have? Looking for a website, and resources, dedicated solely to securing Oracle databases? Check out DBSecWorx.
How Oracle has four separate ways to induce a sleep into PL/SQL. They are: The USER_LOCK package is not part of the default installation. Follow the link at page bottom to install before running the demo.
 
Arguments set linesize 121
col package_name format a20
col argument_name format a17
col data_type format a14
col pls_type format a14

SELECT package_name, argument_name, data_type, data_length,
data_precision, pls_type
FROM all_arguments
WHERE object_name = 'SLEEP'
ORDER BY 1;
Precision set serveroutput on

DECLARE
 stime TIMESTAMP(9);
 etime TIMESTAMP(9);
BEGIN
  stime := SYSTIMESTAMP;
  dbms_backup_restore.sleep(0.01);
  etime := SYSTIMESTAMP;
  dbms_output.put_line(etime-stime);

  stime := SYSTIMESTAMP;
  dbms_drs.sleep(0.01);
  etime := SYSTIMESTAMP;
  dbms_output.put_line(etime-stime);

  stime := SYSTIMESTAMP;
  dbms_lock.sleep(0.01);
  etime := SYSTIMESTAMP;
  dbms_output.put_line(etime-stime);

  stime := SYSTIMESTAMP;
  user_lock.sleep(1);
  etime := SYSTIMESTAMP;
  dbms_output.put_line(etime-stime);
END;
/

DECLARE
 stime TIMESTAMP(9);
 etime TIMESTAMP(9);
BEGIN
  stime := SYSTIMESTAMP;
  dbms_backup_restore.sleep(1);
  etime := SYSTIMESTAMP;
  dbms_output.put_line(etime-stime);

  stime := SYSTIMESTAMP;
  dbms_drs.sleep(1);
  etime := SYSTIMESTAMP;
  dbms_output.put_line(etime-stime);

  stime := SYSTIMESTAMP;
  dbms_lock.sleep(1);
  etime := SYSTIMESTAMP;
  dbms_output.put_line(etime-stime);

  stime := SYSTIMESTAMP;
  user_lock.sleep(100);
  etime := SYSTIMESTAMP;
  dbms_output.put_line(etime-stime);
END;
/

Related Topics
DBMS_BACKUP_RESTORE
DBMS_DRS
DBMS_LOCK
DBMS_SESSION
USER_LOCK
What's New In 21c
What's New In 23c

Morgan's Library Page Footer
This site is maintained by Dan Morgan. Last Updated: This site is protected by copyright and trademark laws under U.S. and International law. © 1998-2023 Daniel A. Morgan All Rights Reserved
  DBSecWorx