| « | ÁùÔÂ 2008 | » | ||||
|---|---|---|---|---|---|---|
| Ò» | ¶þ | Èý | ËÄ | Îå | Áù | ÈÕ |
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| 16 | 17 | 18 | 19 | 20 | 21 | 22 |
| 23 | 24 | 25 | 26 | 27 | 28 | 29 |
| 30 | ||||||
ÄÚ´æ½á¹¹
3ÖÖÖ÷ÒªµÄÄÚ´æ½á¹¹
SGA, System Global Area
PGA, Process Global Area
UGA, User Global Area, ´æÔÚÓÚSGA(MTSģʽ)ÖÖ»òÕßUGAÖÐ(רע·þÎñģʽ)
PGAÊÇÒ»¸öORACLE½ø³ÌרÊôµÄÄÚ´æÇøÓò, Ëü²»Äܱ»ÆäËüµÄ½ø³Ì·ÃÎÊ. PGA¾ø¶Ô²»»á³¬¹ýSGAµÄÇøÓò.
UGAÊÂʵÉϾÍÊÇÄãµÄsession״̬, ÄãµÄÕâ¸ösession¿ÉÒÔ·ÃÎʵÄÄÚ´æÇøÓò. UGAµÄλÖÃÈ¡¾öÓÚÄãÅäÖõÄServerÔõÑù½ÓÊÜÁ¬½Ó, Èç¹ûÊÇMTSģʽ, ÄÇôUGS±ØÐëÔÚÒ»¸öËùÓÐÓû§¶¼¿ÉÒÔ·ÃÎʵÄÄÚ´æÇøÓòÖÐ, ¼´SGA, Èç¹ûÊÇרע·þÎñģʽ, ÄÇôUGS¾Í»ù±¾µÈÓÚPGAÁË.
PGAÓëUGA¶þÕßÔÚ´óСÉϵIJî±ð×î´óÖ®´¦Ó¦¸ÃÈ¡¾öÓëini.ora»òÕßÊÇsession¼¶±ðµÄ²ÎÊý: SORT_AREA_SIZE, ÓëSORT_AREA_RETAINED_SIZE. ÕâÁ½¸ö²ÎÊý¿ØÖÆÁËORACLEÔÚ½«Êý¾Ýдµ½´ÅÅÌ֮ǰÓÃÀ´ÅÅÐòÊý¾ÝµÄÄÚ´æ¿Õ¼ä´óС, ÒÔ¼°ÅÅÐòÍê±ÏÒÔºóÓɶàÉÙÄÚ´æ¶ÎÒÀÈ»±£Áô. SORT_AREA_SIZE½«»á½«»á±»·ÖÅäÔÚPGAÀïÃæ, ¶øSORT_AREA_RETAINED_SIZEÔòÔÚUGAÖÐ.
exec dbms_session.free_unused_user_memory;Ç¿ÐÐÊÍ·ÅÄÚ´æ
SGA
ÿ¸öORACLEʵÀý¶¼»áÓÐÒ»´ó¿éµÄÄÚ´æ, ³ÆÎªSGA, Õâ¿éÄÚ´æÇøÓòËùÓеÄORACLE½ø³Ì¶¼¿ÉÒÔ·ÃÎÊ. ÔÚUNIX»·¾³ÏÂ, ¿ÉÒÔʵʵÔÚÔڵĿ´µ½Õâôһ´ó¿éÄÚ´æ, µ«ÊÇÔÚWINDOWS»·¾³ÏÂ, Õâ¿éÄÚ´æÊÇÒÀ¸½ÓÚORACLE.EXE½ø³ÌϵÄ. ÎÒÃÇ¿ÉÒÔͨ¹ýÊý¾Ý×ÖµäV$SGASTAT´óÖ²鿴SGA.
SGA¿ÉÒÔ·ÖΪÒÔϼ¸¸öÇøÓò:
JAVA³Ø: ΪÊý¾Ý¿âµÄjavaÐéÄâ»ú·ÖÅä
´ó³Ø: MTSÓÃÀ´¹ÜÀísessionÄÚ´æ, ²¢·¢Ê±ºòµÄÏûÏ¢»º³å, RMAMµÄ´ÅÅÌ»º³å
¹²Ïí³Ø: ¹²ÏíÓαê, ´æ´¢¹ý³Ì, ʵÌå״̬, ×ֵ仺´æ
ÆäËü: block buffer, redo log buffer, ¡®fixed SGA¡¯
ÔÚini.oraÎļþÖжÔSGAÓ°Ïì×î´óµÄ¼¸¸ö²ÎÊý·Ö±ðÊÇ:
JAVA_POOL_SIZE
SHARED_POOL_SIZE
LARGE_POOL_SIZE
DB_BLOCK_BUFFERS
LOG_BUFFER
³ýÁËSHARED_POOL_SIZE, LOG_BUFFERÒÔÍâ, ini,oraÖвÎÊýÖµÓÚʵ¼ÊÄÚ´æÖÐÏàÓ¦SGAÇøÓòµÄ´óСÊÇÒ»Ò»¶ÔÓ¦µÄ.
Fixed SGA
Fixed SGAÊÇSGAµÄÒ»¸ö¹Ì¼þ, ²¢ÇÒËæ×Å´óÐ¡Ëæ×ÅÆ½Ì¨ÒÔ¼°°æ±¾µÄ²»Í¬¶ø²»Í¬, ÆäÖд洢µÄÊÇһϵÁеıäÁ¿ÒÔ¼°Ö¸ÏòSGAÆäËü²¿·ÖµÄÖ¸Õë. ÔÚOracle°²×°µÄʱºòÕⲿ·Ö¾ÍÒѾ¹Ì¶¨ÏÂÀ´, ÎÒÃÇ¿ÉÒÔ½«ÕâÒ»²¿·Ö¿´×÷ÊÇSGAµÄ¡±Òýµ¼Çø¡±.
Redo Buffer
Redo Buffer (Redo Log Buffer, Log Buffer)
ÄÇЩÐèÒª±´Ð´µ½ÔÚÏßÖØ×öÈÕÖ¾µÄÊý¾ÝÔÚдµ½´ÅÅÌ֮ǰ»áÁÙʱ±£´æÔÚÕâ¸öÇøÓòÖÐ, Êý¾Ý²»»áÔÚÕâÀï´æÌ«¾Ã, ÔÚÒÔÏÂÇé¿öÖÐ, Redo BufferÖеÄÄÚÈݻᱻˢе½ÔÚÏßÖØ×öÈÕÖ¾ÖÐ:
1. ÿ3Ãë
2. ÓÐÈËcommit
3. ´ïµ½1/3Âú»òÕß»º´æÁË1MÒÔÉϵÄÖØ×öÊý¾Ý
ËùÒÔÊý10MµÄRedo Bufferͨ³£ÊÇÀË·ÑÄÚ´æ, ÒòΪ¸ù±¾²»»á±»Óõ½.ºÜÉÙÓÐϵͳÐèÒªÓõ½¼¸MÒÔÉϵÄRedo Buffer
Redo BufferµÄĬÈÏ´óС(ÊÜini.oraÖÐLOG_BUFFER²ÎÊý¿ØÖÆ), ÊÇ512KºÍ(128K * cpuÊýÁ¿)ÖеĽϴóÕß, ×îСֵÊǵ±Ç°²Ù×÷ϵͳ֧³ÖµÄ×î´óblock´óСµÄ4±¶.
select * from v$sgastat where name = ¡®log_buffer¡¯;
¿ÉÒÔ¿´µ½Õâ¸ö´óС, µ«ÊÇÆäʵ¼Ê´óС:
select * from v$sga where name = ¡®Redo Buffers¡¯;
¿ÉÄÜ»áÉÔ΢´óÒ»µã.
ÒòΪËüÐèҪһЩ¶îÍâµÄ¿Õ¼äÀ´±£»¤Æä×Ô¼º.
Block Buffer Cache
ÕâÊÇSGAÖÐÒ»¿é×î´óµÄÇøÓò. Õâ¸öÇøÓòÖÐͨ³£¹ÜÀí×ÅÁ½¸öÁбí, ¡°Dirty¡±(ÔàÊý¾Ý, δдµ½´ÅÅÌ)ÒÔ¼°¡±No Dirty¡±(δ¸ü¸ÄµÄÊý¾Ý), ¡°No Dirty¡±µÄËã·¨±È½Ï¸´ÔÓ, ͨ³£ÊÇ×î½üÓõ½µÄÒÔ¼°±È½Ï¶àÓõ½µÄ»á±È½Ï¿¿Ç°, ÓÐÒ»¸ö¡±Touch Count¡±µÄ¸ÅÄî, ÎÒÃÇ¿ÉÒÔÔÚһЩX$±íÖп´µ½Ïà¹ØµÄ»º´æblockÐÅÏ¢.
X$BH±íÖеÄtchÖ¸µÄ¾ÍÊÇÕâ¸öTouch Count.
ÔÚOracle8iÒÔǰÕû¸öBlock Buffer¾ÍÊÇÒ»´ó¿é, û·¨ÔÙ·Ö¿ª. µ«ÊǺóÀ´Ìí¼ÓÁËÒ»¸ö¡±Multiple Buffer Pool¡±µÄÌØÐÔ. ÀûÓÃÕâ¸öÌØÐÔ, ÎÒÃÇ¿ÉÒÔ¿ª±Ù³öÒ»¿éÖ¸¶¨µÄ¿Õ¼äÀ´»º´æÎÒÃÇÖÆ¶¨µÄһЩsegment, ÔÚÕâ¸öÇø¼äÖеÄblock, Ö¸»áÓëÖÆ¶¨µÄÄÇЩsegment¾ºÕù, ¶ø²»ÐèÒªÓëÆÕͨµÄdata block¾ºÕù.ÎÒÃdzÆÕâÒ»²¿·Ö¿Õ¼äΪKeep Pool. ÁíÍâ, ÎÒÃÇ»¹¿ÉÒÔ¿ª±Ù³öÒ»¿é¿Õ¼ä¡±Recycle pool¡±, Õâ¿é¿Õ¼äÖеÄblock¹ÜÀí»úÖÆÓëÆäËüµÄ²»Í¬, ÆäËüpoolÎÒÃǶ¼ÊDZ£´æ×î½üʹÓÃ×î¶àµÄblock, ¶øÔÚÕâ¿é¿Õ¼äÖÐ, »á¾¡¿ìµÄÌÔÌÄÇЩûÓÐʹÓõÄblock. ÕâÖÖ»úÖÆ¶ÔÓÚÄÇЩ´óµ«ÓÖºÜÉÙ»á¶Áµ½µÄtableºÜÓÐÓô¦, ÒòΪ½«ËüÃǵ¥¶À¹ÜÀí, ¿ÉÒÔ±ÜÃâËüÃǽ«ÄÇЩÆäËüµÄblock bufferÖеÄblock³åµô.