Subject : Solaris & Oracle ¿¡¼ SHARED MEMORY REQUIREMENT
----------------------------------------------------------------------------
OracleÀº Unix¿¡¼ Process¿Í SGA(System Global Area) Áï Oracle dbms resource
¿µ¿ª°£ÀÇ CommunicationÀ» À§ÇØ shared memory¿Í semaphoresÀ» »ç¿ëÇÑ´Ù.
Oracle instance°¡ ¿Ã¶ó¿Ã ¶§, Áï Dbms EngineÀÌ StartµÉ ¶§ Main Memory»óÀÇ
ƯÁ¤ ¿µ¿ªÀ» DbmsÀÇ Æ¯Á¤ ¿µ¿ªÀ¸·Î È°´çÇÑ´Ù. ¸¸¾à ƯÁ¤¿µ¿ª Áï Shared Memory°¡
Dbms°¡ ¿ä±¸ÇÏ´Â SGA ¿µ¿ªº¸´Ù Àû´Ù¸é Dbms EngineÀÌ ¿Ã¶ó°¥ ¶§ shared memory ¶Ç´Â
semaphores °ü·ÃµÈ Error°¡ ¹ß»ýÇÏ¸é¼ FailÀÌ ³¯ °ÍÀÌ´Ù.
´ÙÀ½Àº ÀÛÀº ¿ë·®ÀÇ Áï Axil320 µî°ú °°Àº Desktop Model µî±Þ ±âÁ¾¿¡¼ÀÇ
shared memory¿Í semaphoresÀÇ recommendÇÏ´Â Size¿Í SettingÀÇ ¿¹¸¦ µé¾î º¸¾Ò´Ù.
ÇÏÁö¸¸ ÇÊ¿äÇÏ´Ù¸é Oracle Engineer ÇùÁ¶ÇÏ¿¡ Dbms init fileÀÇ SGA¿µ¿ª Áï °¢Á¾
Segment ¿Í Buffer Size µî Oracle¿¡ °ü·ÃµÈ Info°¡ ÇÊ¿äÇÏ´Ù.
Solution Description:
=====================
SGA´Â System shared memory ³»¿¡ Â÷ÁöÇÑ´Ù. ±×·¯¹Ç·Î ÀüüÀÇ SGA¿¡ ÁÖ¼ÒÇÒ´çÀ»
À§Çؼ´Â Shared Memory°¡ °¢°¢ÀÇ Oracle Process¿¡ À¯È¿ÇÏ¿©¾ß ÇÑ´Ù.
´ÙÀ½Àº Shared Memory ¿Í Semaphore°ü·ÃµÈ 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.
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
(The PROCESSES parameter in the init.ora file).
Recommended Semaphore and Shared Memory Parameters
Operating System Shared Memory Parameters Semaphore
---------------- ------------------------ ---------
Sun OS SHMSIZE = 32768 SEMMNS = 200
SHMMNI = 50 SEMMNI = 50
Solaris SHMMAX = 8388608 SEMMNS = 200
SHMSEG = 20 SEMMSL = 50
SHMMNI=100 SEMMNI = 70
Setting the Shared Memory and Semaphore Parameters
shared memory ¿Í semaphore parameter´Â ´ç½ÅÀÇ Kernel Configuration file Áï
/etc/system file¿¡¼ Á¤ÀÇÇÏ°í SizingÇÒ ¼ö ÀÖ´Ù.
´ÙÀ½°ú °°ÀÌ ÇöÀçÀÇ Parameter °ªÀ» È®ÀÎ ÇÒ ¼ö ÀÖ´Ù.
% sysdef | more
Example, using Solaris 2.3/2.4 parameters and commands:
--------------------------------------------------------
/* Oracle Dbms Shutdown */
1. Log into SQLDBA and type:
SQLDBA> shutdown
SQLDBA> exit
/* Shared Memory & Semaphore Parameter Á¤ÀÇ */
2. Log in as the superuser (root) and:
# cd /etc/system
3. Add the following lines to the /etc/system file:
set shmsys:shminfo_shmmax=8388608
set shmsys:shminfo_shmmin=1
set shmsys:shminfo_shmmni=100
set shmsys:shminfo_shmseg=20
set semsys:seminfo_semmns=200
set semsys:seminfo_semmni=70
/* Reconfigurate Reboot */
4. Reconfigure the kernel:
# touch /reconfigure
5. Reboot the machine:
#init 6
/* Dbms Startup */
6. Log into SQLDBA and type:
SQLDBA> startup
SQLDBA> exit
Oracle SGAÀÇ Size´Â SystemÀÇ Shared Memory ¹× SemaphoreÀÇ Size¿¡ Á¦Çѵǰí
SGA°ü·Ã DbmsÀÇ °ü·Ã Parameter´Â OracleÀÇ init.ora file¿¡¼ Á¤Àǵǰí
±×°ÍÀº System °ú Oracle ¸ðµÎ Performance¿¡ ¿µ¾çÀ» ÁØ´Ù.
----------------------------------------------------------------------------
Revision History
ÀÛ¼ºÀÏÀÚ : 97.03.10
ÀÛ¼ºÀÚ : À̹ÎÈ£
¼öÁ¤ÀÏÀÚ :
¼öÁ¤ÀÚ :