We need sleep function many a times in our code, may be for application logic or even sometimes for monitoring purpose. We always had this available with sleep() function that resides within DBMS_LOCK ==> DBMS_LOCK.SLEEP
This was always a big security risk as granting access to DBMS_LOCK will make a way to get access to other functions/procedures within which is not always necessary.
So from 18C, Oracle comes with SLEEP function within a publicly granted package ==> DBMS_SESSION.SLEEP.
From 18C DBMS_LOCK.SLEEP is deprecated, but it is still present for backwards compatibility.
I would suggest, whoever is planning to upgrade their databases to 19C in near future, should upgrade their PL/SQL codes to use DBMS_SESSION.SLEEP instead of DBMS_LOCK.SLEEP. Also one should make sure to revoke any grants to the DBMS_LOCK package where they were intended to give access to only SLEEP procedure.
References:
ER 23557076 : PUBLIC SLEEP FUNCTION
Hope u will find this post very useful. 🙂
Cheers
Regards,
Categories: Uncategorized
Like!! I blog quite often and I genuinely thank you for your information. The article has truly peaked my interest.
I really like and appreciate your blog post.
I really like and appreciate your blog post.
I used to be able to find good info from your blog posts.
Hello! Someone inside my Myspace group shared this site around so I
came to look it over. I’m definitely enjoying the details.
I’m book-marking and are tweeting this to my
followers! Outstanding blog and outstanding design.
I like this post, enjoyed this one thankyou for putting up.
I love looking through an article that will make people think. Also, many thanks for allowing for me to comment!
Keep this going please, great job!
Great post. I am going to be experiencing a few of these issues
too..
Wonderful site. Lots of helpful information here.
I am sending it to several buddies ans additionally sharing in delicious.
And of course, thank you for your sweat!