Skip to Main Content

Oracle Database Discussions

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Why do we set soft limits for Oracle database ?

Erman ArslanJan 6 2015 — edited Jan 7 2015

I traced the system calls of oracle processes..

They all set their soft limits to be equal to their hard limits..

for example: sqlplus "/as sysdba"; startup    OR LOCAL=NO processes,  or background processes...

They all have their soft limits set to their hard limits values.

They do that upon starting up I think..

Here is the system calls used;

For example: Soft open files 39000, and hard open files 40000

An oracle process strace ->

getrlimit(RLIMIT_NOFILE, {rlim_cur=39000, rlim_max=40000}) = 0

setrlimit(RLIMIT_NOFILE, {rlim_cur=40000, rlim_max=40000}) = 0

so even if there is only a little difference in soft and hard limits, oracle processes set their limits to be equal as their hard limits.

Then why do we set those soft limits???

My quesses are :

1)there are some oracle processes which cant modify their soft limits , I mean there may be some oracle processes which cant increase their open file limits up to hard limit.. So, that's why oracle recommends a soft limit such as 16384 for soft limit of open files.

Or

2)Maybe there are some points in the code, which must not break.. The soft limits are there to guarantee these points to be executed without any problems..

What do you think?

Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Feb 4 2015
Added on Jan 6 2015
12 comments
2,948 views