Way to success...

--"Running Away From Any PROBLEM Only Increases The DISTANCE From The SOLUTION"--.....--"Your Thoughts Create Your FUTURE"--.....--"EXCELLENCE is not ACT but a HABIT"--.....--"EXPECT nothing and APPRECIATE everything"--.....

Monday, November 7, 2016

Oracle Database Startup Hangs or taking long time On Solaris SPARC Operating System


Issue:

Seeing slow SGA allocation on database startup (even in startup nomount taking long time appears hung/hang)

Alert Log stuck at "DISM Started" Line as shown below:



TRUSS output shows startup nomount is sleeping... looping and Err#11 EAGAIN at semtimedop  and sleeping... at pollsys

When truss ( truss -o connect.out -f sqlplus / as sysdba ) the startup or shutdown, or truss the SQL*Plus connection, they all will show spinning on the same semtimedop command.



This is OS level issues.


Cause:

The underlying problem in this specific case was an OS Bug.

If DISM is enabled in a Local Domain / Local Zone configuration the SGA is put into a memory segment which is larger than the actual size of the SGA.



Solution #1:

Disable the use of DISM by the database on Oracle Solaris in one of two ways:

1.Unset the SGA_MAX_SIZE / MEMORY_MAX_TARGET / MEMORY_TARGET parameters.
2.Ensure SGA_MAX_SIZE is set to the same value as SGA_TARGET parameter or equal to the sum of all SGA components in the instance.



Solution #2:

Need to check with OS admin to determine the underlying cause of the semtimedop call failure.

Please apply official patch 150400-02 or later at OS Level.

Workaround is available by setting the following in /etc/system:

set disable_ism_large_pages=0x74

A reboot is required to make the change effective.



1 comment:

  1. Thanks a lot for the post, this solved my issue..

    ReplyDelete