Oracle DB で SQL ファイルをスクリプトとして実行した時に Sleep・Wait 処理を挟む
Oracle DB の操作中、Sleep・Wait 的な処理を挟めることが分かったのでやってみた。
先に、対象の環境で DBMS_LOCK
権限を付与しておく。
SYS/SYSDBA@my_oracle AS SYSDBA
GRANT EXECUTE ON DBMS_LOCK TO my_db;
次に、SQL スクリプト中で DBMS_LOCK.SLEEP()
を使う。引数は秒単位の数値を入れる。
SET TIMING ON
SELECT * FROM my_table FOR UPDATE;
-- 5秒停止 : Sleep (Wait) 処理
EXECUTE DBMS_LOCK.SLEEP(5);
COMMIT;
コレで途中に5秒一時停止してから後続の処理に進める。