Skip to main content

Unix System Kernel Parameters

a.    db1 – concurrent users + processes = 410
b.    db2 – concurrents users + processes = 50
c.    db3 – concurrents users + processes = 50

The above three databases are going to be housed on one server.

What is the best way to calculate the kernel parameters based on the above information ? 
Is there a formula for each of the kernel parameters? I see the below values in the 
preinstallation documentation but they do not specify the formula? Can you please help me 
with the formula?

SHMMAX 4294967295 
SHMMIN 1 
SHMMNI 100 
SHMSEG 10 
SEMMNS 200 
SEMMNI 70 
SEMMSL Equal to the value of the PROCESSESinitialization parameter.




SHMMAX = The maximum size(in bytes) of a single shared memory segment.


SHMMIN = The minimum size(in bytes) of a single shared memory segment. The above settings let the max be bigger then we wil ever use and the min much smaller. They are sufficient for pretty much all systems.


SHMMNI = The number of shared memory identifiers.


SHMSEG = The maximum number of shared memory segments that can be attached by a process. The above settings should also be sufficient.


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 (The PROCESSES parameter in the init.ora file).


SEMMSL Set to 10 plus the largest initsid.ora PROCESSES parameter of an Oracle database on the system. The PROCESSES parameter can be found in each initsid.ora file, loc ORACLE_HOME/dbs directory. The default value of PROCESSES for the 8.1.5 prebuilt database is 50. SEMMNS Set to the sum of the PROCESSES parameter for each Oracle database the largest one, plus 2 times the largest PROCESSES value, plus 10 number of Oracle databases. For example, consider a system that has three Oracle instances with the PROCESSES parameter in their initsid.ora files set to the following


values: ORACLE_SID=A, PROCESSES=100 ORACLE_SID=B, PROCESSES=100 ORACLE_SID=C, PROCESSES=200 The value of SEMMNS is calculated as follows: SEMMNS = ((A=100) + (B=100)) + ((C=200) * 2) + ((# of instances=3) * 10) = 630

Comments

Popular posts from this blog

Hard dependency with ip address Oracle RAC Cluster.

Command error out due to hard dependency with ip address [-Node1]/app/grid/oracle/product/11.2.0/grid/bin>./crsctl relocate resource RDBMS_DB -n Node2 CRS-2527: Unable to start 'RDBMS_DB' because it has a 'hard' dependency on 'sDB' CRS-2525: All instances of the resource 'sDB' are already running; relocate is not allowed because the force option was not specified CRS-4000: Command Relocate failed, or completed with errors. [-Node1]/app/grid/oracle/product/11.2.0/grid/bin>./crsctl relocate resource sDB  -n Node2 CRS-2529: Unable to act on 'DB' because that would require stopping or relocating 'LISTENER_DB', but the force option was not specified CRS-4000: Command Relocate failed, or completed with errors. [-Node1]/app/grid/oracle/product/11.2.0/grid/bin>./crsctl relocate resource LISTENER_DB  -n Node2 CRS-2527: Unable to start 'LISTENER_DB' because it has a 'hard' dependency on 'sD...

19C NID ( Rename Database)

 [oracle@localhost ~]$ nid DBNEWID: Release 19.0.0.0.0 - Production on Thu Dec 23 00:05:36 2021 Copyright (c) 1982, 2019, Oracle and/or its affiliates.  All rights reserved. Keyword     Description                    (Default) ---------------------------------------------------- TARGET      Username/Password              (NONE) DBNAME      New database name              (NONE) LOGFILE     Output Log                     (NONE) REVERT      Revert failed change           NO SETNAME     Set a new database name only   NO APPEND      Append to output log           NO HELP        Displays these messages    ...

ORA-01017/ORA-28000 with AUDIT_TRAIL

With default profile in Oracle 11g, accounts are automatically locked 1 day ( PASSWORD_LOCK_TIME ) after 10 failed login attempt ( FAILED_LOGIN_ATTEMPTS ): SQL > SET lines 200 SQL > SET pages 200 SQL > SELECT * FROM dba_profiles WHERE PROFILE = 'DEFAULT' ORDER BY resource_name; PROFILE                         RESOURCE_NAME                      RESOURCE LIMIT ------------------------------ -------------------------------- -------- ---------------------------------------- DEFAULT                         COMPOSITE_LIMIT                 ...