Oracle RAC 10g - maximum number of session exceeded

Dear experts,
Good morning ,
I need your help please
I have oracle 10g RAC database installed on HP UNIX with 2 nodes
I have the following parameters values :
processes = 600 on node 1 & node 2
sessions = 665 on node 1 & node 2
and always reach the maximum number of sessions
I need to increase the number of sessions to 1000
what is the steps. And how I can confirm that my HP-UNIX server will handle 1000 session on each node
Thank you
node1-sessions.png
node2-sessions.png
Ziad AbuqasemAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Alex [***Alex140181***]Software DeveloperCommented:
Here is a quite good "guide" about setting these parameters correctly:

https://community.oracle.com/thread/2212062?tstart=0

Beware that sessions, transactions, processes and OS paramaters go hand in hand with each other ;-)

Setting them can be done via:
alter system set sessions=<number> scope=spfile;
alter system set processes=<number> scope=spfile;
alter system set transactions=<number> scope=spfile;

Open in new window


You need to bounce the database after you made your changes.
slightwv (䄆 Netminder) Commented:
Sessions and transactions are derived from processes.  I would unset them and let oracle use the derived values unless you have a good business reason to override what Oracle does.

>>And how I can confirm that my HP-UNIX server will handle 1000 session on each node

Look at the memory used by one session and multiply it by what you think the number of concurrent connections will be.

You will have to monitor CPU and disk usage over time to get a good idea about the workloads.
sdstuberCommented:
>> And how I can confirm that my HP-UNIX server will handle 1000 session on each node

After running for a few days with representative load, check the advisor views.

select * from dba_views where view_name like '%ADVICE'
Your Guide to Achieving IT Business Success

The IT Service Excellence Tool Kit has best practices to keep your clients happy and business booming. Inside, you’ll find everything you need to increase client satisfaction and retention, become more competitive, and increase your overall success.

johnsoneSenior Oracle DBACommented:
You are going to have to look at the semaphore kernel parameters as well.  I didn't see that in the link that was posted.  Unless something has changed and Oracle does something special (like it does with memory segments), you are going to need enough semaphores to support 1000 sessions.  It is likely the parameters can already handle that, but you need to check.
Ziad AbuqasemAuthor Commented:
Thanks alot experts for your comments
this is the semaphore kernel parameters:
semaem                            16384  Default
semmni                             4200  4200
semmns                             8400  8400
semmnu                             4196  (nproc-4)
semmsl                             2048  Default         Immed
semume                              100  Default
semvmx                            32767  Default
shlib_debug_enable                    0  Default         Immed
shmmax                       8589934592  8589934592      Immed
shmmni                              512  512             Immed
shmseg                              300  Default         Immed

can you check it.
I dont have experience in kernel parameters.
Also what is the best way to change the parameters
Change processes parameter only or change processes and sessions and transaction all.
johnsoneSenior Oracle DBACommented:
In terms of what Oracle tends to care about, the only semaphore parameters that you need to look at are semmsl, semmni and semmns.

The shlib_debug_enable, shmmax, shmmni and shmseg parameters are not semaphore related.

Assuming that you have one database running on the system and no other processes on the system use semaphores, then the settings of those parameters should be fine for a setting of 1000 processes.

Again, I don't know if Oracle has added logic like they have with memory segments that can grab multiple sets if the parameters are set too low.  I haven't tried it.  I try to set the parameters higher than I need them so there is only one set of semaphores and one memory segment per database.

As for how to set them, check with your system administrator.  They should know how to get that done.  I believe that changing semaphore parameters would require a reboot, but I'm not sure.

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Oracle Database

From novice to tech pro — start learning today.