°øÀ¯ Ç® ³»¿ë
°øÀ¯ Ç®Àº 2°³ÀÇ ¸ÞÀÎ ±¸Á¶¿Í  Á¦3ÀÇ ±¸Á¶¸¦ Æ÷ÇÔÇÏ°í ÀÖ½À´Ï´Ù:

°øÀ¯ ±Û·Î¹ú ¿µ¿ª Æ©´×
µ¥ÀÌÅÍ µñ¼Å³Ê¸® ij½¬ ¶Ç´Â ¶óÀ̺귯¸® ij½¬ »ó¿¡¼­ÀÇ Ä³½¬ ½ÇÆÐ(cache miss)´Â µ¥ÀÌÅͺ£À̽º ¹öÆÛ Ä³½¬ »ó¿¡¼­ÀÇ ½ÇÆк¸´Ù ÈξÀ ºñ¿ëÀÌ ¸¹ÀÌ µì´Ï´Ù. ij½¬ ½ÇÆÐ ½Ã, °øÀ¯ Ç® Æ©´×ÀÌ ¿ì¼±µË´Ï´Ù.
°øÀ¯ Ç®À» Æ©´×ÇÒ ¶§, ¿À¶óŬ ¾Ë°í¸®ÁòÀÌ ¸Þ¸ð¸®¿¡¼­ ¶óÀ̺귯¸® ij½¬ µ¥ÀÌÅÍ º¸´Ù µñ¼Å³Ê¸® µ¥ÀÌÅ͸¦ Á» ´õ ¿À·¡ À¯ÁöÇÏ°í Àֱ⠶§¹®¿¡, DBA´Â ÁÖ·Î ¶óÀ̺귯¸® ij½¬¿¡ °ü½ÉÀÌ ÀÖÀ» °ÍÀÔ´Ï´Ù. µû¶ó¼­, ¼ö¿ëÇÒ ¼ö Àִ ij½¬ ÀûÁßÀ²·Î ¶óÀ̺귯¸® ij½¬¸¦ Æ©´×ÇÔÀ¸·Î½á, µ¥ÀÌÅÍ µñ¼Å³Ê¸® ij½¬ ÀûÁß·ü ¶ÇÇÑ ¼ö¿ëÇÒ ¼ö ÀÖ°Ô µË´Ï´Ù.°øÀ¯ Ç®ÀÌ ³Ê¹« ÀÛÀ» °æ¿ì, ¼­¹ö´Â ÀÚ¿øÀ» Àü¿ëÇÏ¿© ÇÑÁ¤µÈ °ø°£À» °ü¸®ÇØ¾ß ÇÕ´Ï´Ù. À̶§, CPU ÀÚ¿øÀÇ ¼Ò¸ð·Î °æÇÕÀÌ ¹ß»ýÇÕ´Ï´Ù.

°øÀ¯ Ç®ÀÇ Å©±â
°øÀ¯ Ç®ÀÇ Å©±â¸¦ init.ora ÆĶó¹ÌÅÍ SHARED_POOL_SIZE·Î ¼³Á¤ÇÕ´Ï´Ù. µðÆúÆ®´Â 3,500,000 ¹ÙÀÌÆ®ÀÔ´Ï´Ù.

¶óÀ̺귯¸® ij½¬
¶óÀ̺귯¸® ij½¬´Â °øÀ¯ SQL°ú PL/SQL ¿µ¿ª(PL/SQL ºí·Ï°ú SQL ¹®ÀÇ ¿ÏÀü ±¸¹®ºÐ¼®µÈ Ç¥½Ã ¶Ç´Â ÄÄÆÄÀÏµÈ Ç¥½Ã)À» Æ÷ÇÔÇÕ´Ï´Ù:

PL/SQL ºí·Ï¿¡´Â ´ÙÀ½ÀÌ Æ÷ÇԵǾî ÀÖ½À´Ï´Ù:

µ¥ÀÌÅÍ µñ¼Å³Ê¸® ij½¬
µ¥ÀÌÅÍ µñ¼Å³Ê¸® ij½¬´Â ¸Þ¸ð¸® ³»¿¡ µñ¼Å³Ê¸® °´Ã¼ÀÇ Á¤ÀǸ¦ º¸°üÇÕ´Ï´Ù

SQL °ú PL/SQL ÀúÀåÀå¼Ò
¿À¶óŬ ¼­¹ö´Â SQL¹®°ú PL/SQL ºí·ÏÀ» ÀúÀåÇϱâ À§ÇØ ¶óÀ̺귯¸® ij½¬¸¦ »ç¿ëÇÕ´Ï´Ù. ij½¬¸¦ °ü¸®ÇÏ´Â µ¥¿¡´Â LRU(Least Recently Used, ÃÖ±ÙÃÖÀú»ç¿ëºóµµ) ¾Ë°í¸®ÁòÀÌ »ç¿ëµË´Ï´Ù.

»ç¿ëÀÚ°¡ ÀÌ¹Ì Ä³½¬¿¡ Á¸ÀçÇÏ´Â ¹®ÀåÀ» ½ÇÇà½Ãų °æ¿ì, ¿À¶óŬ ¼­¹ö´Â ¹®ÀåÀÇ ±¸¹®À» ÀçºÐ¼®ÇÏÁö ¾Ê°í ij½¬¿¡ ÀúÀåµÈ ¹öÀüÀ» »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.

¹®ÀåÀÌ ÀÌ¹Ì Ä³½¬¿¡ ÀúÀåµÇ¾î Àִ°¡¸¦ ã±â À§ÇÏ¿©, ¿À¶óŬ ¼­¹ö´Â ´ÙÀ½À» ¼öÇàÇÕ´Ï´Ù:

  1. ASCII ÅؽºÆ®ÀÇ ¼öÄ¡·Î ¹®ÀåÀ» ÁÙÀÓ
  2. ÀÌ ¼öÄ¡¿¡ Çؽà ÇÔ¼ö »ç¿ë

ù¹ø° Æ©´× ¸ñÇ¥
±¸¹®ºÐ¼®À» ÃÖ¼Ò·Î À¯ÁöÇÏ¿© ½ÇÆи¦ °¨¼Ò½Ãŵ´Ï´Ù:

µÎ ¹ø° Æ©´× ¸ñÇ¥
´ÙÀ½À» ÅëÇØ ´ÜÆíÈ­¸¦ ÇÇÇϽʽÿÀ:

3°³ÀÇ Å°¿öµå
V$LIBRARYCACHE ³»ÀÇ °¢ ÇàÀº ¶óÀ̺귯¸® ij½¬¿¡¼­ À¯ÁöµÇ´Â ÇÑ À¯ÇüÀÇ Ç׸ñ¿¡ ´ëÇÑ Åë°è¸¦ Æ÷ÇÔÇÕ´Ï´Ù. °¢ Çà¿¡ ÀÇÇØ ¼³¸íµÈ Ç׸ñÀº NAMESPACE ¿­ÀÇ °ª¿¡ ÀÇÇØ ±¸º°µË´Ï´Ù. ´ÙÀ½ÀÇ NAMESPACE °ªÀ» °¡Áø Å×À̺íÀÇ ÇàÀº SQL ¹®°ú PL/SQL ºí·Ï¿¡ ´ëÇÑ ¶óÀ̺귯¸® ij½¬ È°µ¿À» ¹Ý¿µÇÕ´Ï´Ù:

SQL AREA, TABLE/PROCEDURE, BODY, TRIGGER

±âŸÀÇ NAMESPACE °ªÀ» °¡Áø ÇàÀº ¿À¶óŬÀÌ Á¾¼Ó¼º À¯Áö¸¦ À§ÇØ »ç¿ëÇÏ´Â °´Ã¼ Á¤ÀÇ¿¡ ´ëÇÑ ¶óÀ̺귯¸® ij½¬ È°µ¿À» ¹Ý¿µÇÕ´Ï´Ù:

INDEX, CLUSTER, OBJECT, PIPE

NAMESPACE¿Í °ü·ÃµÈ 3°³ÀÇ Å°¿öµå´Â ´ÙÀ½°ú °°½À´Ï´Ù.

ºäÀÇ ¼³¸í

Ä¿¼­°¡ °øÀ¯µÇ°í Àִ°¡?

ÁÖÀÇ: OEM Áø´Ü ÆÑ ¾ÖÇø®ÄÉÀ̼Ç:
Performance Manager -> Memory -> ¶óÀ̺귯¸® ij½¬ »ó¼¼ ³»¿ª(Library Cache Details)

ÁÖÀÇ: OEM Áø´Ü ÆÑ ¾ÖÇø®ÄÉÀ̼Ç:
Performance Manager -> Memory -> SQL ¿µ¿ª(SQL AREA)

Àç·Îµå ´ë ÇÉ ºñÀ² °è»ê ¹æ¹ý

ÁÖÀÇ: OEM Áø´Ü ÆÑ ¾ÖÇø®ÄÉÀ̼Ç:
Performance Manager -> Memory -> Library Cache Hit %

¹«È¿°¡ ¹ß»ýÇÒ ¶§
½ºÅ°¸¶ °´Ã¼°¡ SQL ¹®¿¡¼­ ÂüÁ¶µÇ°í ±× °´Ã¼°¡ ³ªÁß¿¡ ¾î¶°ÇÑ ¹æ¹ýÀ¸·Îµç ¼öÁ¤µÉ °æ¿ì, °øÀ¯ SQL ¿µ¿ªÀº ¹«È¿·Î µÇ°í(¹«È¿·Î Ç¥½ÃµÊ) ¹®ÀåÀº ´ÙÀ½¿¡ ½ÇÇàµÉ ¶§ ±¸¹®ÀÌ ÀçºÐ¼®µÇ¾î, Àç·ÎµåµË´Ï´Ù.

¿¹: Å×À̺í, ½ÃÄö½º, µ¿ÀǾî, ¶Ç´Â ºä´Â Àç»ý¼ºµÇ°Å³ª º¯°æµÇ°Å³ª »èÁ¦µÇ¾î, ¾Æ´Ï¸é, ÇÁ·Î½ÃÀú ¶Ç´Â ÆÐÅ°Áö »ç¾çÀÌ ÀçÄÄÆÄÀϵǸé, ¸ðµç Á¾¼Ó °øÀ¯ SQL ¿µ¿ªÀÌ ¹«È¿·Î µË´Ï´Ù.

ÁÖÀÇ: OEM Áø´Ü ÆÑ ¾ÖÇø®ÄÉÀ̼Ç:
Performance Manager -> Memory -> Library Cache Details

¾ÖÇø®ÄÉÀÌ¼Ç Å×½ºÆ®
±âÁ¸ ¾ÖÇø®ÄÉÀ̼ǿ¡ ´ëÇØ, Å×½ºÆ®¸¦ ¼³Á¤ÇÏ°í µ¿ÀûÀÎ ºä¸¦ »ç¿ëÇÏ¿©, »ç¿ëµÇ´Â ¸Þ¸ð¸® ¾çÀ» ã¾Æ¾ß ÇÕ´Ï´Ù. SHARED_POOL_SIZE¸¦ ¸Å¿ì Å« °ªÀ¸·Î ¼³Á¤(ÇÊ¿äÇÏ¸é ´Ù¸¥ ±¸Á¶¸¦ Èñ»ýÇؼ­¶óµµ)ÇÑ ´ÙÀ½, ¾ÖÇø®ÄÉÀ̼ÇÀ» ½ÇÇà½ÃÅ°½Ê½Ã¿À.

»ç¿ëµÈ °øÀ¯°¡´ÉÇÑ ¸Þ¸ð¸® °è»ê

¾ÖÇø®ÄÉÀ̼ÇÀº À§ÀÇ ¼ö¸¦ ÃÑÇÕÇÑ °Í ¸¸Å­ÀÇ ¶óÀ̺귯¸® ij½¬ ÀÌ¿Ü¿¡, µ¿ÀûÀÎ SQLÀ» À§ÇÑ ¾à°£ÀÇ ¿©À¯°¡ ÀÖ´Â °ÍÀÌ ÀÌ»óÀûÀÔ´Ï´Ù.


°øÀ¯ Ç®¿¡ °ø°£À» ¿¹¾àÇÏ´Â ÀÌÀ¯

DBA´Â PL/SQL ÄÄÆÄÀÏ°ú Æ®¸®°Å ÄÄÆÄÀÏ °°Àº ÀÛ¾÷ÀÌ ¼öÇàµÇ´Â µ¿¾È ´ë¿ë·® ¸Þ¸ð¸® ÇÒ´çÀ» ¸¸Á·½ÃÅ°±â À§ÇØ °øÀ¯ Ç® ³»¿¡ ¸Þ¸ð¸®¸¦ ¿¹¾àÇÒ ¼ö ÀÖ½À´Ï´Ù. Å©±â°¡ ´õ ÀÛÀº °´Ã¼µéÀº ¿¹¾àµÈ ¸ñ·ÏÀ»  ´ÜÆíÈ­ÇÏÁö ¾Ê±â ¶§¹®¿¡, ¿¹¾àµÈ ¸ñ·ÏÀÌ Å« ¿¬¼Ó ¸Þ¸ð¸® ºÎºÐÀ» Â÷ÁöÇϵµ·Ï º¸ÀåÇϴµ¥ µµ¿òÀÌ µË´Ï´Ù. ¿¹¾à ¸ñ·ÏÀ¸·ÎºÎÅÍ ÇÒ´çµÈ ¸Þ¸ð¸®°¡ ºñ¿öÁö¸é, ¿¹¾à ¸ñ·ÏÀ¸·Î ¹ÝȯµË´Ï´Ù.

ÃʱâÈ­ ÆĶó¹ÌÅÍ
¿¹¾à ¸ñ·ÏÀ¸·ÎºÎÅÍ ÇÒ´çµÉ ¼ö ÀÖ´Â °´Ã¼ÀÇ ÃÖ¼Ò Å©±â´Â ¹°·Ð ¿¹¾à ¸ñ·ÏÀÇ Å©±â´Â ´ÙÀ½ 2°³ÀÇ ÃʱâÈ­ ÆĶó¹ÌÅÍ¿¡ ÀÇÇØ Á¦¾îµË´Ï´Ù:

  • SHARED_POOL_RESERVED_SIZE: ´ë±Ô¸ð ÇÒ´çÀ» À§ÇØ ¿¹¾àµÈ SHARED_POOL_SIZEÀÇ ¾ç Á¦¾î (Ãʱ⠰ªÀ» SHARED_POOL_SIZEÀÇ 10%·Î ¼³Á¤).
  • SHARED_POOL_RESERVED_MIN_ALLOC: ¿¹¾àµÈ ¸Þ¸ð¸®¿¡ ´ëÇÑ ÇÒ´ç Á¦¾î (¿¹¾à ¸ñ·ÏÀ» »ý¼ºÇϱâ À§ÇØ, SHARED_POOL_RESERVED_SIZE´Â SHARED_POOL_RESERVED_MIN_ALLOC º¸´Ù Ä¿¾ß ÇÕ´Ï´Ù. ÃæºÐÇÑ Å©±âÀÇ ¸Þ¸ð¸® ºÎºÐÀÌ °øÀ¯ Ç®ÀÇ ¿¹¾à ¸ñ·Ï¿¡¼­ ¹ß°ßµÇÁö ¾ÊÀ» °æ¿ì, SHARED_POOL_RESERVED_MIN_ALLOC º¸´Ù Å« ÇÒ´ç ¸¸ÀÌ ¿¹¾à ¸ñ·ÏÀÇ °ø°£À» ÇÒ´çÇÒ ¼ö ÀÖ½À´Ï´Ù. ´ëºÎºÐÀÇ °æ¿ì, µðÆúÆ® °ªÀÌ Àû´çÇÕ´Ï´Ù.)

V$SHARED_POOL_RESERVED ºä
ÀÌ ºä´Â °øÀ¯ Ç® ³»ÀÇ ¿¹¾à Ç®°ú °ø°£À» Æ©´×Çϴµ¥ µµ¿òÀÌ µË´Ï´Ù.
ÀÌ ºäÀÇ ÇàµéÀº SHARED_POOL_RESERVED_SIZE ÆĶó¹ÌÅÍ°¡ À¯È¿ÇÑ °ªÀ¸·Î ¼³Á¤µÈ °æ¿ì¿¡¸¸ À¯È¿ÇÕ´Ï´Ù.
   SQL> desc V$SHARED_POOL_RESERVED
   Name                        Null?    Type
   --------------------------- -------  -------
   FREE_SPACE                           NUMBER
   AVG_FREE_SIZE                        NUMBER
   FREE_COUNT                           NUMBER
   MAX_FREE_SIZE                        NUMBER
   USED_SPACE                           NUMBER
   AVG_USED_SPACE                       NUMBER
   USED_COUNT                           NUMBER
   MAX_USED_SIZE                        NUMBER
   REQUESTS                             NUMBER
   REQUEST_MISSES                       NUMBER
   LAST_MISS_SIZE                       NUMBER     
   MAX_MISS_SIZE                        NUMBER

¿©±â¿¡¼­:

FREE_SPACE

¿¹¾à ¸ñ·Ï ³»ÀÇ ÃÑ ¿©À¯ °ø°£

AVG_FREE_SIZE

¿¹¾à ¸ñ·Ï »ó¿¡¼­ ¿©À¯ ¸Þ¸ð¸®ÀÇ Æò±Õ Å©±â

MAX_FREE_SIZE

¿¹¾à ¸ñ·Ï »ó¿¡¼­ ¸Þ¸ð¸®ÀÇ °¡Àå Å« ¿©À¯ ºÎºÐÀÇ Å©±â

REQUEST_MISSES

ÁÖ¾îÁø ¸ñ·Ï¿¡ ¿äûÀ» ¼öÇàÇϱâ À§ÇÑ ¿©À¯ ¸Þ¸ð¸® ºÎºÐÀÌ ¾øÀ» °æ¿ì, LRU ¸ñ·Ï¿¡¼­ °´Ã¼¸¦ »èÁ¦Çϱ⠽ÃÀÛÇÑ È½¼ö

 

ºä ³»ÀÇ ´ÙÀ½ ¿­µé¿¡´Â ÆĶó¹ÌÅÍ°¡ ¼³Á¤µÇÁö ¾ÊÀº °æ¿ì¿¡µµ À¯È¿ÇÑ °ªµéÀÌ Æ÷ÇԵǾî ÀÖ½À´Ï´Ù:

  • REQUEST_FAILURES
  • LAST_FAILURE_SIZE
  • ABORTED_REQUEST_THRESHOLD
  • ABORTED_REQUESTS
  • LAST_ABORTED_SIZE

¿©±â¿¡¼­:

REQUEST_FAILURES

¿äûÀ» ¼öÇàÇϱâ À§ÇÑ ¾î¶°ÇÑ ¸Þ¸ð¸®µµ ¹ß°ßµÇÁö ¾Ê´Â °æ¿ìÀÇ È½¼ö

LAST_FAILURE_SIZE

¸¶Áö¸·À¸·Î ½ÇÆÐÇÑ ¿äûÀÇ Å©±â

V$SHARED_POOL_RESERVED ºä¸¦ ÅëÇÑ Áø´Ü
V$SHARED_POOL_RESERVED ºäÀÇ Åë°è´Â ÆĶó¹ÌÅÍ Æ©´×¿¡ µµ¿òÀÌ µÉ ¼ö ÀÖ½À´Ï´Ù. SGA¸¦ Áõ°¡½ÃÅ°´Â µ¥¿¡ ÃæºÐÇÑ ¿©À¯ ¸Þ¸ð¸®°¡ ÀÖ´Â ½Ã½ºÅÛ¿¡¼­, ¸ñÇ¥´Â REQUEST_MISSES = 0 ÀÔ´Ï´Ù.

ABORTED_REQUEST_THRESHOLD ÇÁ·Î½ÃÀú¸¦ ÅëÇÑ Áø´Ü
DBMS_SHARED_POOL ÆÐÅ°Áö ³»ÀÇ ABORTED_REQUEST_THRESHOLD ÇÁ·Î½ÃÀú´Â ORA-4031 ¿À·ù¸¦ º¸°íÇϱâ ÀÌÀü¿¡ ºñ¿ö¾ß ÇÒ °øÀ¯ Ç®ÀÇ ¾çÀ» Á¦ÇÑÇÏ´Â °ÍÀ» Çã¿ëÇÕ´Ï´Ù. µû¶ó¼­, Å« °´Ã¼·Î ÀÎÇØ ¹ß»ýÇÒ ¼ö ÀÖ´Â extent(Çѹø¿¡ ºñ¿öÁö´Â)¸¦ Á¦ÇÑÇÒ ¼ö ÀÖ½À´Ï´Ù.

ÆĶó¹ÌÅÍ ¼³Á¤À» À§ÇÑ Guidelines
½Ã½ºÅÛÀÌ OS ¸Þ¸ð¸®¿¡ ´ëÇØ ÇÑÁ¤µÇ¾î ÀÖ´õ¸é, ¸ñÇ¥´Â ´ÙÀ½°ú °°½À´Ï´Ù:

  1. REQUEST_FAILURES = 0 ¶Ç´Â Áõ°¡µÇÁö ¾ÊÀ½
  2. LAST_FAILURE_SIZE > SHARED_POOL_RESERVED_MIN_ALLOC
  3. AVG_FREE_SIZE > SHARED_POOL_RESERVED_MIN_ALLOC

µÎ ¹ø° ¸ñÇ¥³ª ¼¼ ¹ø° ¸ñÇ¥°¡ ´Þ¼ºµÇÁö ¾ÊÀ¸¸é, SHARED_POOL_RESERVED_SIZE¿Í SHARED_POOL_SIZE¸¦ °°Àº ¾çÀ¸·Î Áõ°¡½ÃÅ°½Ê½Ã¿À.

SHARED_POOL_RESERVED_SIZE°¡ ³Ê¹« ÀÛÀ» ¶§ÀÇ Guidelines
REQUEST_FAILURES > 0 ÀÌ°í Àû¾îµµ ´ÙÀ½ Áß Çϳª°¡ »ç½ÇÀ̸é, ¿¹¾à Ç®ÀÌ ³Ê¹« ÀÛÀº °ÍÀÔ´Ï´Ù:

ÀÌ·¯ÇÑ °æ¿ì¿¡:

SHARED_POOL_RESERVED_SIZE°¡ ³Ê¹« Ŭ ¶§ÀÇ Guidelines
´ÙÀ½°ú °°Àº °æ¿ì, ³Ê¹« ¸¹Àº ¸Þ¸ð¸®°¡ ¿¹¾à ¸ñ·Ï¿¡ ÇÒ´çµÇ¾úÀ» ¼ö ÀÖ½À´Ï´Ù:

ÀÌ·¯ÇÑ °æ¿ì¿¡:

SHARED_POOL_SIZE°¡ ³Ê¹« ÀÛÀ» ¶§ÀÇ Guidelines
ÀÌ°ÍÀº ´ÙÀ½°ú °°Àº °æ¿ìÀÏ °ÍÀÔ´Ï´Ù:

ÀÌ·¯ÇÑ °æ¿ì¿¡:

°´Ã¼ º¸°ü ÀÌÀ¯ ¹× ½Ã±â
Å« °´Ã¼¸¦ ·ÎµåÇÏ´Â °ÍÀÌ ´ÜÆíÈ­¸¦ À¯¹ß½ÃÅ°´Â ÁÖ¿ä ¿øÀÎÀÔ´Ï´Ù. Å©±â´Â ÀÛÁö¸¸ ¼ö°¡ ¸¹Àº °´Ã¼µéÀÌ ¿À·¡µÇ¾úÀ» ¶§ ¿©À¯ °ø°£À» ¸¸µé±â À§ÇÏ¿© °øÀ¯ Ç®¿¡¼­ »èÁ¦µÇ±â ¶§¹®¿¡, »ç¿ëÀÚÀÇ ÀÀ´ä½Ã°£ÀÌ ¿µÇâÀ» ¹Þ°Ô µË´Ï´Ù. ÀÌ·¯ÇÑ »óȲÀ» ¸·±â À§ÇÏ¿©, À̵é Å« °´Ã¼³ª ÀÚÁÖ ¿ä±¸µÇ´Â °´Ã¼´Â °øÀ¯ Ç®¿¡ º¸°üÇÏ¿© ¿À·¡µÇ¾îµµ °øÀ¯ Ç®¿¡¼­ °áÄÚ »èÁ¦µÇÁö ¾Êµµ·Ï ÇϽʽÿÀ.

°´Ã¼ º¸°ü ¹æ¹ý
Á¦°øµÈ DBMS_SHARED_POOL ÆÐÅ°Áö¿Í KEEP ÇÁ·Î½ÃÀú¸¦ »ç¿ëÇϽʽÿÀ.
ÆÐÅ°Áö¸¦ »ý¼ºÇϱâ À§Çؼ­´Â dbmspool.sql ½ºÅ©¸³Æ®¸¦ ½ÇÇà½ÃÅ°½Ê½Ã¿À. prvtpool.plb ½ºÅ©¸³Æ®´Â ¾ÕÀÇ ½ºÅ©¸³Æ®°¡ Á¾·áµÉ ¶§ ÀÚµ¿À¸·Î ½ÇÇàµË´Ï´Ù. ÀÌµé ½ºÅ©¸³Æ®´Â catproc.sql·Î ½ÇÇàµÇÁö ¾Ê½À´Ï´Ù.
UNKEEP ÇÁ·Î½ÃÀú¸¦ »ç¿ëÇÏ¿©, °øÀ¯ Ç®¿¡¼­ °íÁ¤µÈ °´Ã¼¸¦ »èÁ¦ÇϽʽÿÀ.

Å« À͸íÀÇ PL/SQL ºí·ÏÀ» Á¦°ÅÇϱâ À§ÇÑ 2°¡Áö ÇØ°á¹æ¾È

ÃʱâÈ­ ÆĶó¹ÌÅÍ
´ÙÀ½ÀÇ ÆĶó¹ÌÅÍ´Â ¶óÀ̺귯¸® ij½¬¿¡ ¿µÇâÀ» ¹ÌĨ´Ï´Ù.

2°³ÀÇ Å°¿öµå

¸ñÇ¥
ÀϺΠ°æ¿ì¿¡ µ¥ÀÌÅÍ µñ¼Å³Ê¸® ij½¬¿¡¼­ÀÇ ½ÇÆа¡ ¿¹»óµË´Ï´Ù. ÀνºÅϽº°¡ ½ÃÀÛÇÏÀÚ¸¶ÀÚ, µ¥ÀÌÅÍ µñ¼Å³Ê¸® ij½¬¿¡´Â ¾î¶°ÇÑ µ¥ÀÌÅ͵µ Æ÷ÇԵǾî ÀÖÁö ¾Ê½À´Ï´Ù. µû¶ó¼­ ½ÇÇàµÈ ¾î¶°ÇÑ SQL ¹®ÀÌ¶óµµ Ä³½¬ ½ÇÆи¦ ÃÊ·¡ÇÒ ¼ö ÀÖ½À´Ï´Ù. ´õ ¸¹Àº µ¥ÀÌÅÍ°¡ ij½¬·Î ÀÐÇôÁú¼ö·Ï, ij½¬ ½ÇÆÐÀÇ °¡´É¼ºÀº °¨¼ÒÇÕ´Ï´Ù. °á±¹, µ¥ÀÌÅͺ£À̽º´Â °¡Àå ÀÚÁÖ »ç¿ëµÇ´Â µñ¼Å³Ê¸® µ¥ÀÌÅÍ°¡ ij½¬¿¡ ÀúÀåµÇ´Â ¡°¾ÈÁ¤µÈ »óÅ¡±¿¡ µµ´ÞÇØ¾ß ÇÕ´Ï´Ù. ÀÌ·¯ÇÑ Á¡¿¡¼­, ij½¬ ½ÇÆд °ÅÀÇ ¹ß»ýÇؼ­´Â ¾ÈµË´Ï´Ù. ij½¬¸¦ Æ©´×Çϱâ À§ÇØ, ¾ÖÇø®ÄÉÀ̼ÇÀÌ ½ÇÇàµÈ ÈÄ¿¡¸¸ È°µ¿À» °Ë»çÇϽʽÿÀ.

µñ¼Å³Ê¸® ij½¬ °¨½Ã
V$ROWCACHE ºä¸¦ »ç¿ëÇϽʽÿÀ. °¡Àå °ü½ÉÀÖ´Â ¿­Àº ´ÙÀ½ ´ÙÀ½°ú °°½À´Ï´Ù.

 ¿­

 ¼³¸í

 PARAMETERS

 µ¥ÀÌÅÍ µñ¼Å³Ê¸® Ç׸ñÀÇ ¹üÁÖ

 GETS

 ¹üÁÖ¿¡ °üÇÑ Á¤º¸ ¿äû

 GETMISSES

 Ä³½¬ ½ÇÆи¦ ÃÊ·¡ÇÏ´Â ¿äû


Å©±â Á¶Á¤

SHARED_POOL_SIZE ÆĶó¹ÌÅ͸¦ »ç¿ëÇÏ¿© °£Á¢ÀûÀ¸·Î¸¸ µñ¼Å³Ê¸® ij½¬ÀÇ Å©±â¸¦ Á¶Á¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. °øÀ¯ Ç® °ø°£À» ÇÒ´çÇϱâ À§ÇÑ ¾Ë°í¸®ÁòÀº µñ¼Å³Ê¸® ij½¬¸¦ ¼±È£ÇÕ´Ï´Ù.

ÀûÀýÇÑ ºñÀ²À» À§ÇÑ ¸ñÇ¥
Á¤»óÀûÀÎ ½ÇÇൿ¾È ¸ðµç GETMISSESÀÇ ÃÑÇÕ°ú GETSÀÇ ÃÑÇÕÀÇ ºñÀ²Àº 15%ÀÌÇÏÀ̾î¾ß ÇÕ´Ï´Ù. À̺¸´Ù ³ôÀº °æ¿ì, SHARED_POOL_SIZE¸¦ Áõ°¡½Ãų °ÍÀ» °í·ÁÇϽʽÿÀ.
½ÃÀÛÇÑ ÈÄ ¼­¹ö°¡ °´Ã¼ Á¤ÀǸ¦ óÀ½ ÇÊ¿ä·Î ÇÒ ¶§, °´Ã¼ Á¤ÀÇ°¡ ij½¬·Î ·ÎµåµÇ¾î¾ß Çϱ⠶§¹®¿¡ GETMISSES°ªÀÌ 0ÀÌ µÇ±â¸¦ ±â´ëÇÒ ¼ö ¾ø½À´Ï´Ù. 

Report.txt Ãâ·Â °á°úÀÇ ºñÀ²
Report.txt Ãâ·Â °á°ú°¡ Ç׸ñ ¼ö¿¡ ´ëÇØ  ³ôÀº GET_MISS/GET_REQ ºñÀ²À» ³ªÅ¸³»¸é, ÀÌ°ÍÀº SHARED_POOL_SIZE¸¦ Áõ°¡½ÃÄÑ¾ß ÇÑ´Ù´Â °ÍÀ» ÀǹÌÇÕ´Ï´Ù.

ÁÖÀÇ: OEM Áø´Ü ÆÑ ¾ÖÇø®ÄÉÀ̼Ç:
Performance Manager -> Memory -> Data Dictionary Cache Hit %

»ç¿ëÀÚ ±Û·Î¹ú ¿µ¿ª
´ÙÁß ¾²·¹µå ¼­¹ö¸¦ »ç¿ëÇÒ °æ¿ì, »ç¿ëÀÚ ¼¼¼Ç°ú Ä¿¼­ »óÅ Á¤º¸´Â °³º°(private) »ç¿ëÀÚ ¸Þ¸ð¸®¿¡ ÀúÀåµÇ´Â °ÍÀÌ ¾Æ´Ï¶ó °øÀ¯ Ç®¿¡ ÀúÀåµË´Ï´Ù. Á¤·Ä ¿µ¿ª°ú °³º°(private) SQL ¿µ¿ªÀº ¼¼¼Ç Á¤º¸¿¡ Æ÷ÇԵ˴ϴÙ. ÀÌ°ÍÀº °øÀ¯ ¼­¹ö°¡ ¹®Àå ´ç ÀÛ¾÷À» Çϱ⠶§¹®¿¡ ¾î¶°ÇÑ ¼­¹öµµ ¸ðµç »ç¿ëÀÚÀÇ Á¤º¸¿¡ ¾×¼¼½ºÇÒ ÇÊ¿ä°¡ Àֱ⠶§¹®ÀÔ´Ï´Ù. °øÀ¯ Ç®ÀÇ ÀÌ ºÎºÐÀº »ç¿ëÀÚ ±Û·Î¹ú ¿µ¿ª(User Global Area, UGA)À̶ó°í ÇÕ´Ï´Ù.

´ÙÁß ¾²·¹µå ¼­¹ö¿¡ ´ëÇÑ ÃÑ ¸Þ¸ð¸® ¿ä±¸·®Àº Àü¿ë ¼­¹ö¸¦ ¾²´Â °æ¿ì Á¤µµÀÔ´Ï´Ù. SHARED_POOL_SIZE¸¦ Áõ°¡½Ãų ÇÊ¿ä°¡ ÀÖ°ÚÁö¸¸, °³º°(private) »ç¿ëÀÚ ¸Þ¸ð¸®´Â ´õ Àû°Ô ÇÊ¿äÇÕ´Ï´Ù.

ÇÊ¿äÇÑ °ø°£ ÃøÁ¤
¸ðµç ´ÙÁß ¾²·¹µå ¿¬°á¿¡ ´ëÇØ, °øÀ¯ Ç®¿¡ ¼¼¼Ç ¸Þ¸ð¸®¸¦ ³õ±â À§ÇÏ¿© ¸ðµç °øÀ¯ ¼­¹ö »ç¿ëÀÚ¸¦ À§ÇÑ ÇÊ¿ä °ø°£ÀÇ ¾çÀ» °è»êÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù.

ÁÖÀÇ: OEM Áø´Ü ÆÑ ¾ÖÇø®ÄÉÀ̼Ç:
Performance Manager -> Memory -> Memory Allocated

´ë¿ë·® Ç®ÀÇ Á¸Àç

Oracle8Àº SGA¿¡ °øÀ¯ Ç®°ú À¯»çÇÑ »õ·Î¿î ¿µ¿ªÀ» µµÀÔÇß½À´Ï´Ù. ´ë¿ë·® Ç®Àº ÇÒ´çµÇÁö ¾ÊÀ¸¹Ç·Î ÇÊ¿äÇÒ °æ¿ì ¸í½ÃÀûÀ¸·Î ±¸¼ºÇØ¾ß ÇÕ´Ï´Ù. ´ë¿ë·® Ç®ÀÇ ¸Þ¸ð¸®´Â °øÀ¯ Ç®¿¡¼­ ÇÒ´çµÇ´Â °ÍÀÌ ¾Æ´Ï¶ó SGA¿¡¼­ Á÷Á¢ ÇÒ´çµÇ¹Ç·Î Oracle ¼­¹ö ½ÃÀÛ ½Ã ÀνºÅϽº¿¡ ÇÊ¿äÇÑ °øÀ¯ ¸Þ¸ð¸®ÀÇ ¾ç¿¡ ´ë¿ë·® Ç®ÀÇ ¸Þ¸ð¸®¸¦ Ãß°¡ÇÕ´Ï´Ù.

ÀåÁ¡

´ë¿ë·® Ç®Àº ´ÙÀ½ ÀÛ¾÷¿¡ »ç¿ëÇÒ ¼¼¼Ç ¸Þ¸ð¸®¿¡ ´ë¿ë·® ¸Þ¸ð¸®¸¦ ÇÒ´çÇÒ ¶§ »ç¿ëµË´Ï´Ù.

ÀÛ¾÷ ¹æ½Ä

LARGE_POOL_SIZE ÃʱâÈ­ ¸Å°³º¯¼ö°¡ ¼³Á¤µÇ¾î ÀÖÁö ¾ÊÀ¸¸é Oracle ¼­¹ö´Â SGAÀÇ °øÀ¯ Ç®¿¡¼­ °øÀ¯ ¸Þ¸ð¸® ¹öÆÛ ÇÒ´çÀ» ½ÃµµÇÕ´Ï´Ù. LARGE_POOL_SIZE°¡ ¼³Á¤µÇ¾î ÀÖÀ¸³ª ±× °ªÀÌ ÃæºÐÈ÷ Å©Áö ¾ÊÀº °æ¿ì¿¡´Â ÇÒ´ç¿¡ ½ÇÆÐÇÏ¸ç ¹öÆÛ¸¦ ¿äûÇÑ Oracle ¼­¹ö ±¸¼º ¿ä¼Ò´Â ´ÙÀ½À» ¼öÇàÇÕ´Ï´Ù.

´ë¿ë·® Ç®¿¡´Â LRU ¸ñ·ÏÀÌ ¾ø½À´Ï´Ù. ´ë¿ë·® Ç®Àº °øÀ¯ Ç®¿¡¼­ ÇÒ´çµÈ ´Ù¸¥ ¸Þ¸ð¸®¿Í µ¿ÀÏÇÑ LRU ¸ñ·ÏÀ» »ç¿ëÇÏ´Â °øÀ¯ Ç®ÀÇ ¿¹¾à °ø°£°ú´Â ´Ù¸¨´Ï´Ù.

´ë¿ë·® Ç® ±¸¼º ¹æ¹ý

LARGE_POOL_SIZE ¸Å°³º¯¼ö°¡ ¼³Á¤µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì¿¡´Â ´ë¿ë·® Ç®ÀÌ ¾ø½À´Ï´Ù. ÁöÁ¤ÇÑ Å©±âÀÇ ¸Þ¸ð¸®´Â SGA¿¡¼­ ÇÒ´çµË´Ï´Ù.

PARALLEL_AUTOMATIC_TUNINGÀÌ TRUE·Î ¼³Á¤µÇ¾î ÀÖÀ¸¸é LARGE_POOL_SIZE°¡ ÀÚµ¿À¸·Î °è»êµË´Ï´Ù. LARGE_POOL_SIZE °ªÀ» ¼öµ¿À¸·Î ¼³Á¤ÇÏ·Á¸é V$SGASTAT ºä¸¦ ÁúÀÇÇÏ¿© ÇÊ¿ä¿¡ ¸Â°Ô LARGE_POOL_SIZE °ªÀ» ´Ã¸®°Å³ª ÁÙÀÔ´Ï´Ù.

¿¹¸¦ µé¾î, ½ÃÀÛ ½Ã ´ÙÀ½ ¿À·ù°¡ ¹ß»ýÇÒ ¼ö ÀÖ½À´Ï´Ù.

   ORA-27102: out of memory

   SVR4 Error: 12: Not enough space

ÀÌ °æ¿ì µ¥ÀÌÅͺ£À̽º°¡ ½ÃÀÛµÉ ¼ö ÀÖµµ·Ï LARGE_POOL_SIZE °ªÀ» ÃæºÐÈ÷ ³·Ãâ °ÍÀ» °í·ÁÇØ º¾´Ï´Ù. LARGE_POOL_SIZE °ªÀ» ³·Ãá ÈÄ¿¡µµ ´ÙÀ½ ¿À·ù°¡ Ç¥½ÃµÉ ¼ö ÀÖ½À´Ï´Ù.

   ORA-04031: unable to allocate 16084 bytes of shared memory ("large pool","unknown object","large pool hea","PX msg pool")

ÀÌ·± °æ¿ì ´ÙÀ½ ÁúÀǸ¦ ½ÇÇàÇÏ¿© 16,084¹ÙÀÌÆ®¸¦ ÇÒ´çÇÒ ¼ö ¾ø¾ú´ø ÀÌÀ¯¸¦ È®ÀÎÇÕ´Ï´Ù.

   SQL> SELECT NAME, SUM(BYTES) FROM V$SGASTAT

     2  WHERE POOL='LARGE POOL' GROUP BY ROLLUP (NAME);

OracleÀº ´ÙÀ½°ú À¯»çÇÑ Ãâ·ÂÀ¸·Î ÀÀ´äÇÕ´Ï´Ù.

   NAME                          SUM(BYTES)
   --------------------------    ----------
   PX msg pool                     1474572
   free memory                      562132
                                   2036704

   3 rows selected.

ÀÌ ¹®Á¦¸¦ ÇØ°áÇÏ·Á¸é LARGE_POOL_SIZE °ªÀ» ´Ã¸³´Ï´Ù. ÀÌ ¿¹Á¦ÀÇ LARGE_POOL_SIZE °ªÀº ¾à 2MBÀÔ´Ï´Ù. »ç¿ë °¡´ÉÇÑ ¸Þ¸ð¸®ÀÇ Å©±â¿¡ µû¶ó LARGE_POOL_SIZE °ªÀ» 4MB·Î ´Ã·Á µ¥ÀÌÅͺ£À̽º ½ÃÀÛÀ» ½ÃµµÇÒ ¼ö ÀÖ½À´Ï´Ù.

 

 ¹®¸Æ

 ÂüÁ¶

 ÃʱâÈ­ ÆĶó¹ÌÅÍ

 SHARED_POOL_SIZE
 OPEN_CURSORS
 SESSION_CACHED_CURSORS
 CURSOR_SPACE_FOR_TIME
 CLOSE_CACHED_OPEN_CURSORS
 SHARED_POOL_RESERVED_SPACE
 SHARED_POOL_RESERVED_MIN_ALLOC

 µ¿ÀûÀÎ ¼º´É ºä

 V$SGASTAT
 V$LIBRARYCACHE
 V$SQLAREA
 V$SQLTEXT
 V$DB_OBJECT_CACHE
 V$ROWCACHE
 V$SHARE_POOL_RESERVED
 V$STATNAME
 V$SESSTAT
 V$MYSTAT

 µ¥ÀÌÅÍ µñ¼Å³Ê¸® ºä

 None

 ¸í·É¾î

 None

 ÆÐÅ°ÁöµÈ ÇÁ·Î½ÃÀú ¹× ÇÔ¼ö

 dbms_shared_pool.keep
 dbms_shared_pool.unkeep
 dbms_shared_pool.aborted_request_threshold

 ½ºÅ©¸³Æ®

 dbmspool.sql
 prvtpool.plb

 Áø´Ü ÆÑ ¾ÖÇø®ÄÉÀ̼Ç

 Performance Manager

X Á¤´ä:A


O


O


X Á¤´ä:A


O


X Á¤´ä:C


X Á¤´ä:ABC


X Á¤´ä:A


X Á¤´ä:D


O


X Á¤´ä:D