¡¾ÉîÈë½âÎö--eygle¡¿Ñ§Ï°±Ê¼Ç
1.3 SGA¹ÜÀí
SGAָϵͳȫ¾ÖÇø£¨System Global Area£©,ÊÇÒ»¿éÓÃÓÚ¼ÓÔØÊý¾Ý¡¢¶ÔÏó²¢±£´æÔËÐÐ״̬ºÍÊý¾Ý¿â¿ØÖÆÐÅÏ¢µÄÒ»¿éÄÚ´æÇøÓò£¬ÔÚÊý¾Ý¿âʵÀýÆô¶¯Ê±·ÖÅ䣬µ±ÊµÀý¹Ø±ÕʱÊÍ·Å£¬Ã¿¸öʵÀý¶¼ÓµÓÐ×Ô¼ºµÄSGAÇø¡£
ÔÚµÚÒ»ÕÂÔø¾?µ½£¬µ±Êý¾Ý¿âÆô¶¯µ½nomount״̬ʱ£¬SGAÒѾ·ÖÅ䣬ͬʱÆô¶¯ºǫ́½ø³Ì£¬ÔÚSQL*PlusÖÐͨ¹ýshow sgaÃüÁî¿ÉÒÔ¿´µ½SGAµÄ·ÖÅäÇé¿ö£º?
sys@felix SQL>show parameter sga
NAME TYPE VALUE
---------------------------------------------------------- ------------------------------
lock_sga boolean FALSE
pre_page_sga boolean FALSE
sga_max_size big integer 400M
sga_target big integer 0
16:12:56 sys@felix SQL>
Á¬½Óµ½OracleÊý¾Ý¿âµÄÓû§¶¼¿ÉÒÔ¹²ÏíSGAÖеÄÊý¾Ý£¬Í¨³£ÎªÁ˸üÓÅ»¯µÄÐÔÄÜ£¬ÎÒÃÇ×ÜÊÇÆÚÍûÔÚÎïÀíÄÚ´æÔÊÐíµÄÇé¿öÏ£¬ÉèÖøü¸ßµÄSGAÇø£¬ÒÔ¼õÉÙÎïÀíI/O£¨SGAÖÐÊý¾Ý»º³åÇøµÄÔö´ó¿ÉÒÔÓÐЧµØ¼õÉÙÎïÀí¶Á£©¡£
1.4 SGA
ÏÂͼÊÇ×î³£¼ûµÄÊý¾Ý¿âʵÀýÌåϵ½á¹¹Í¼£¬Õ¹ÏÖÁËSGAµÄ½á¹¹:

![\]()
![\]()
?
1.4.1 ¹Ì¶¨ÇøÓò - Fixed Area
Fixed Size ²¿·ÖÊÇSGAÖеĹ̶¨²¿·Ö£¬°üº¬¼¸Ç§¸ö±äÁ¿ºÍһЩСµÄÊý¾Ý½á¹¹£¬ÈçLatch»òµØÖ·Ö¸ÕëµÈ£¬Õⲿ·ÖÄÚ´æ·ÖÅäºÍÌØ¶¨µÄÊý¾Ý¿â°æ±¾ÒÔ¼°Æ½Ì¨Óйأ¬²»ÊÜÓû§¿ØÖÆ£¬¶øÇÒÕâЩÐÅÏ¢¶ÔÓÚÊý¾Ý¿âÀ´Ëµ·Ç³£ÖØÒª£¬µ«ÊÇͨ³£ÎÒÃÇÓû§²»ÐèÒª¹ØÐÄ¡£
¹Ì¶¨²¿·ÖÖ»ÐèÒªºÜСµÄÄڴ棬¿ÉÒÔͨ¹ýÒ»¸öÄÚ²¿±íX$KSMFSV£¨[K]ernel [S]ervice Layer £¬ [M]emoryManagement£¬Addresses of [F]ixed [S]GA [V]ariables£©²éѯ¡£´ËÍâOracleµÄÄÚ²¿±íX$KSMMEM¼Ç¼ÁËÕû¸öSGAµÄµØÖ·Ó³Éä¹ØÏµ£¬Í¨¹ýX$KSMFSVºÍX$KSMMEM¹ØÁª£¬¿ÉÒÔÕÒ³öFixed AreaÖÐÿ¸ö±äÁ¿µÄÉèÖá£
ÔÚ32λƽ̨ÉÏ£¬X$KSMMEM±íÖÐÿÌõ¼Ç¼´ú±í4 Bytes£¬ÔÚ64λƽ̨£¬Ã¿Ìõ¼Ç¼´ú±í4 Bytes£º
sys@felix SQL>select * from x$ksmmem whererownum <5;
ADDR INDX INST_ID KSMMMVAL
---------------- ---------- --------------------------
0000000060000000 0 1 00
0000000060000008 1 1 00
0000000060000010 2 1 00
0000000060000018 3 1 00
16:21:39 sys@felix SQL>
sys@felix SQL>select ksmfsnam,ksmfssiz from x$ksmfsv where ksmfsnam='kcsgscn_';
KSMFSNAM KSMFSSIZ
----------------- --------
kcsgscn_ 48
16:23:51 sys@felix SQL>
ͨ¹ýORADEBUG¹¤¾ß¿ÉÒԵõ½µ±Ç°ÄÚ´æÖеÄSCNÖµ£º
16:23:51 sys@felix SQL>oradebug setmypid
Statement processed.
16:26:19 sys@felix SQL>oradebug DUMPvar SGA kcsgscn_
kcslf kcsgscn_ [060019598, 0600195C8) = 00183004 00000000 00000000 00000000 000024AE 00000000 00000000 00000000 00000000 00000000 60019278 00000000
16:26:22 sys@felix SQL>?
SCNÖµ»ñÈ¡ÈçÏÂ:
sys@felix SQL>selectto_number('183004','xxxxxxxxxx') from dual;
TO_NUMBER('183004','XXXXXXXXXX')
--------------------------------
1585156
16:27:05 sys@felix SQL>
Fixed Area°üº¬ºÜ¶à¿ØÖÆÐÅÏ¢£¬µ«ÊÇÐèҪעÒâµÄÊÇ£¬²éѯX$KSMFSVÊÓͼ¿ÉÄܻᵼÖ½ø³ÌÒì³££¬ÐèÒª½÷É÷ʹÓÃ
1.4.1.1 Buffer Cache
Buffer Cache-»º³åÇø¸ßËÙ»º´æ£¬ÓÃÓÚ´æ´¢×î½üʹÓõÄÊý¾Ý¿é£¬ÕâЩÊý¾Ý¿é¿ÉÄÜÊDZ»Ð޸ĹýµÄ£¬Ò²¿ÉÄÜÊÇδ¾Ð޸ĵġ£ÎÒÃÇÖªµÀ£¬ÔÚOracle¶ÔÊý¾ÝµÄ´¦Àí¹ý³ÌÖУ¬´ú¼Û×î°º¹óµÄ¾ÍÊÇÎïÀíI/O£¨Physical I/O£©²Ù×÷ÁË£¬Í¬ÑùµÄÊý¾Ý´ÓÄÚ´æÖеõ½Òª±È´Ó´ÅÅÌÉ϶ÁÈ¡¿ìµÃ¶à£¬ËùÒÔ½«¾¡¿ÉÄܶàµÄÊý¾Ý±£´æÔÚÄÚ´æÖУ¬¿ÉÒÔ¼õÉÙ´ÅÅÌI/O²Ù×÷£¬´Ó¶øÌá¸ßÊý¾Ý¿âµÄÐÔÄÜ¡£
´ÓOracle9i¿ªÊ¼£¬OracleÒýÈëÁËÒ»¸öеijõʼ»¯²ÎÊýdb_cache_size ,¸Ã²ÎÊýÓÃÀ´¶¨ÒåÖ÷Block Size£¨db_block_size¶¨ÒåµÄ¿é´óС£©µÄDefault»º³å³ØµÄ´óС
¸÷ÄÚ´æ×é¼þËùʹÓõÄGranule´óС¿ÉÒÔͨ¹ý¶¯Ì¬ÐÔÄÜÊÓͼÀ´²éѯ£º
16:36:00 sys@felix SQL>select component,granule_size from v$sga_dynamic_components;
COMPONENT GRANULE_SIZE
--------------------------------- ------------
shared pool 4194304
large pool 4194304
java pool 4194304
streams pool 4194304
DEFAULT buffer cache 4194304
KEEP buffer cache 4194304
RECYCLE buffer cache 4194304
DEFAULT 2K buffer cache 4194304
DEFAULT 4K buffer cache 4194304
DEFAULT 8K buffer cache 4194304
DEFAULT 16K buffer cache 4194304
DEFAULT 32K buffer cache 4194304
Shared IO Pool 4194304
ASM Buffer Cache 4194304
14 rows selected.
17:33:14 sys@felix SQL>
Oracle¹ÜÀíBuffer CacheʹÓõÄÊÇLRUËã·¨£¬µ«ÊÇÕâÓÖ´øÀ´ÁíÍâÒ»¸öÎÊÌ⣬ºÜ¶àÅú´¦ÀíµÄ²Ù×÷£¨±ÈÈçÈ«±íɨ?µÈ£©¿ÉÄܻᵼÖÂBuffer CacheµÄˢУ¬½«¾³£Ê¹ÓõÄÊý¾Ý¡°¼·³ö¡±Buffer Cache£¬ÔÚ²»Í¬°æ±¾ÖУ¬Oracle²»Í£µÄ¸Ä½øLRUËã·¨£¬ÒÔ±ÜÃâÕâÀà²Ù×÷µÄ¹ý¶ÈÓ°Ïì¡£
µ«ÊÇÔÚ´ËÖ®Í⣬OracleÌṩÁËBufferCacheµÄ¶à»º³å³Ø¼¼Êõ´ÓÁíÍâÒ»¸ö·½ÃæÀ´½â¾öÕâ¸öÎÊÌâ¡£ËùνµÄ¶à»º³å³Ø¼¼ÊõÊÇÖ¸£¬¸ù¾Ý²»Í¬Êý¾ÝµÄ²»Í¬·ÃÎÊ·½Ê½£¬½«Buffer Cache·ÖΪDefault¡¢KeepºÍRecycle³ØÈý¸ö²¿·Ö¡£¶ÔÓÚ¾³£Ê¹ÓõÄÊý¾Ý£¬ÎÒÃÇ¿ÉÒÔÔÚ½¨±íʱ¾ÍÖ¸¶¨½«Æä´æ·ÅÔÚKeep³ØÖУ»¶ÔÓÚ¾³£Ò»´ÎÐÔ¶ÁȡʹÓõÄÊý¾Ý£¬¿ÉÒÔ½«Æä´æ·ÅÔÚRecycle³ØÖУ»Keep³ØÖеÄÊý¾ÝÇãÏòÓÚÒ»Ö±±£´æ£¬Recycle³ØÖеÄÊý¾ÝÇãÏòÓÚ¼´Ê±ÀÏ»¯£¬¶øDefault³ØÔò´æ·Åδָ¶¨´æ´¢³ØµÄÊý¾Ý£¬°´ÕÕLRUËã·¨¹ÜÀí¡£
ĬÈÏÇé¿öÏ£¬ËùÓÐ±í¶¼Ê¹ÓÃDEF