Wednesday, January 25, 2017

ORA-29702: error occurred in Cluster Group Service operation

ORA-29702: error occurred in Cluster Group Service operation


If you are working on Solaris and having Oracle database 10g or above, you might face ORA-29702 issue after reboot of your server or starting up the database.

Your database is not running on RAC but still oracle assuming it to be RAC instance.



Very simple solution to overcome this situation is to re-link oracle libraries.

Step 1. Shutdown the database completely if no-mount or any other state.

Step 2. Relink with RAC OFF :


Run following two commands one by one.(Refer below screen shots for the same.)

$ make -f ins_rdbms.mk rac_off
$ make -f ins_rdbms.mk ioracle




Step 3. Startup the database

Now start your database normally.




That's it.. Database will be started normally without any error.



Thanks & Regards,
Chandan Tanwani
Oracle Performance Tuning Certified Expert

Thursday, January 12, 2017

init.ora Parameter vs Kernel Parameter

init.ora Parameter vs Kernel Parameter


Recently I came across performance degradation after changing of DB parameter. Many times we change database init.ora parameter, at the same time we should also monitor kernel parameter as well. This is because few of memory and process parameter are directly effecting to our OS.

DB Memory and process parameters are directly linked with following kernel parameters, let's have look on below table,

**Below comparison is taken from oracle Docs



Init.ora Parameter
Kernel Parameter
db_block_buffers
shmmax, shmall
db_files (maxdatafiles)
nfile, maxfiles
large_pool_size
shmmax, shmall
log_buffer
shmmax, shmall
Processes
nproc, semmsl, semmns
shared_pool_size
shmmax, shmall



Common Kernel Parameter Definitions

Following Kernel Parameters tend to be generic across most Unix/Linux platforms. However, their names may be different in flavors of Unix/Linux. Check OS document for exact name.

maxfiles - Soft file limit per process.
maxuprc - Maximum number of simultaneous user processes per userid.
nfile - Maximum number of simultaneously open files systemwide at any given time.
nproc - Maximum number of processes that can exist simultaneously in the system.
shmall - This parameter sets the total amount of shared memory pages that can be used system wide. Hence, shmall should always be at least ceil(shmmax/page_size).
shmmax - The maximum size(in bytes) of a single shared memory segment.
shmmin - The minimum size(in bytes) of a single shared memory segment.
shmmni - The number of shared memory identifiers.
shmseg - The maximum number of shared memory segments that can be attached by a process.
semmns - The number of semaphores in the system.
semmni - The number of semaphore set identifiers in the system; determines the number of semaphore sets that can be created at any one time.
semmsl - The maximum number of sempahores that can be in one semaphore set. It should be same size as maximum number of Oracle processes.




Thanks & Regards,
Chandan Tanwani
Oracle Performance Tuning Certified Expert