rollback segment (=undo segment) ¿¡ ´ëÇÏ¿©
ÀÛ¼ºÀÚ °ü¸®ÀÚ ÀÛ¼º½Ã°£ 2003-05-28 11:59:28
 

-- Á¤ÀÇ

·Ñ¹é¼¼±×¸ÕÆ®´Â Æ®·£Àè¼Ç¿¡ ÀÇÇØ º¯°æµÇ±â ÀüÀÇ µ¥ÀÌÅ͸¦ ÀúÀåÇÏ´Â ¼øȯÀû ¼¼±×¸ÕÆ®ÀÌ´Ù.
°¢ Æ®·£Àè¼ÇÀº ÇϳªÀÇ ·Ñ¹é ¼¼±×¸ÕÆ®¸¦ ÁöÁ¤ ¹Þ°í, ÁöÁ¤µÈ ·Ñ¹é ¼¼±×¸Õ틍¿¡´Â ±× Æ®·£Àè¼Ç¿¡
ÀÇÇØ º¯È­°¡ »ý±ä Å×ÀÌŸ°¡ ÀúÀåµÈ´Ù.


ex)
init.ora

# If using private rollback segments, place lines of the following
# form in each of your instance-specific init.ora files:
rollback_segments = (RBS0, RBS1, RBS2, RBS3, RBS4, RBS5, RBS6, RBS7, RBS8, RBS9, RBS10, RBS11 )


-- Á¾·ù

private ÀϹÝÀûÀ¸·Î ºÎ¸£´Â ·Ñ¹é ¼¼±×¸ÕÆ®·Î rollback_segments ÆĶó¹ÌÅÍ¿¡ ÀÌÇؼ­ ¼³Á¤
µÇ¾î¾ß¸¸ »ç¿ëÀÌ °¡´ÉÇÏ´Ù.

public ¿À¶óŬ º´·Ä ¼­¹öÀÇ °æ¿ì Çϳª ÀÌ»óÀÇ ¿À¶óŬ ÀνºÅϽº¿¡ ÀÇÇؼ­ ±× »ç¿ëÀÌ °øÀ¯µÉ ¼ö
ÀÖ´Â ·Ñ¹é¼¼±×¸ÕÆ®

deferred Å×ÀÌºí½ºÆäÀ̽º°¡ offlineÀ¸·Î Æ®·£Àè¼ÇÀÌ ·Ñ¹éµÉ ¼ö ¾øÀ» ¶§, ½Ã½ºÅÛ Å×ÀÌºí½ºÆäÀ̽º¿¡
»ý¼ºµÈ´Ù.


-- »ý¼º(sql)

-- ±âÁ¸ ·Ñ¹é¼¼±×¸ÕÆ®°¡ ÀÖÀ» ¶§
alter rollback segment rbs01 offline;

-- ±âÁ¸ ·Ñ¹é¼¼±×¸ÕÆ® »èÁ¦
drop rollback segment rbs01;

-- »ý¼º
-- ¸ÕÀú rbs Å×ÀÌºí½ºÆäÀ̽º »ý¼ºÀ» ÇØ¾ß ÇÑ´Ù.
create rollback segment rbs01
      tablespace rbs
      storage (initial 10m
      next 2m
      minextents 2
                maxextents 50);

alter rollback segment rbs01 online;


-- Á¶È¸

select *
from dba_rollback_segs

-- ratio°¡ 1%¹Ì¸¸ÀÌ µÇ¾î¾ß ÇÑ´Ù.
select b.name, trunc(a.waits/a.gets*100, 5) || '%' ratio
from v$rollstat a, v$rollname b
where a.usn = b.usn




1. ABOUT ROLLBACK SEGMENT
*µ¥ÀÌŸº£À̽º¿¡´Â ÇÑ°³ ÀÌ»óÀÇ ·Ñ¹é ¼¼±×¸ÕÆ®°¡ ÀÖ´Ù.
*·Ñ¹é ¼¼±×¸ÕÆ®´Â Æ®·£Á§¼ÇÀÇ ·Ñ¹é, Àбâ ÀÏ°ü¼º, º¹±¸ 󸮿¡ ÀÌ¿ëµÈ´Ù.
*½Ã½ºÅÛÀº Ư¼öÇÑ ½Ã½ºÅÛ Æ®·£Á§¼ÇÀ» À§ÇØ ±âº»ÀûÀ¸·Î SYSTEM ·Ñ¹é ¼¼±×¸ÕÆ®¸¦ »ç¿ëÇϸç,»ç¿ëÀÚÀÇ Æ®·£Á§¼ÇÀº ±× ¿ÜÀÇ ·Ñ¹é ¼¼±×¸ÕÆ®¸¦ »ç¿ëÇÏ°Ô µÈ´Ù.
*·Ñ¹é ¼¼±×¸ÕÆ®´Â ´Ù¸¥ ¼¼±×¸ÕƮó·³ ÀͽºÅÙÆ®·Î ±¸¼ºµÇ¾î ÀÖ´Ù.
*·Ñ¹é ¼¼±×¸ÕÆ®´Â À̵é ÀͽºÅÙÆ®¸¦ CircularÇÏ°Ô ÀÌ¿ëÇÑ´Ù.
*ÇϳªÀÇ Æ®·£Àè¼ÇÀº ·Ñ¹é ¼¼±×¸ÕÆ®ÀÇ Current Pointer À§Ä¡¿¡ ·¹Äڵ带 ±â·ÏÇÏ°í Current Pointer¸¦ ·¹ÄÚµå Å©±â¸¸Å­ Áõ°¡½ÃŲ´Ù. ·Ñ¹é ¼¼±×¸ÕÆ®¿¡ ·¹Äڵ尡 ±â·ÏµÇ´Â ÇöÀç À§Ä¡¸¦ Head ¶ó°í ºÎ¸£±â·Î ÇÑ´Ù. ±×¸®°í ·Ñ¹é ¼¼±×¸ÕÆ® »ó¿¡¼­ °¡Àå ¿À·¡µÈ Æ®·£Àè¼Ç ·¹ÄÚµåÀÇ ½ÃÀÛ À§Ä¡¸¦ Tail À̶ó°í ºÎ¸£±â·Î ÇÑ´Ù.
*Æ®·£Àè¼ÇµéÀÌ ÇÊ¿ä·Î ÇÒ ¶§ ¸¶´Ù ·Ñ¹é ¼¼±×¸ÕÆ®¸¦ »ç¿ëÇÒ ¼ö ÀÖµµ·Ï ÀûÀýÇÑ °¹¼öÀÇ ·Ñ¹é ¼¼±×¸ÕÆ®¸¦ À¯ÁöÇØ¾ß ÇÏ¸ç °¢°¢ÀÇ ·Ñ¹é ¼¼±×¸ÕÆ®´Â Æ®·£Àè¼Ç ºÎÇϸ¦ °¨´çÇϵµ·Ï ÃæºÐÇÑ Å©±â¸¦°¡Á®¾ßÇÑ´Ù.
*Transaction ¿¡ rollback segment ¸¦ ÇÒ´çÇÏ´Â Oracle ³»ºÎ ¸ÞÄ«´ÏÁòÀº ´ÙÀ½°ú °°´Ù.
»õ·Î¿î transaction ÀÌ rollback segment ¸¦ ¿äûÇϸé, °¢ rollback segment À» ÀÌ¿ëÇÏ°í ÀÖ´Â active transaction °¹¼ö¸¦ È®ÀÎÇÏ¿© °¡Àå ÀûÀº °¹¼öÀÇ active transaction À» °¡Áø rollback segment ¸¦ ÇÒ´çÇÏ¿© ÁØ´Ù.

2. ·Ñ¹é ¼¼±×¸ÕÆ®ÀÇ °¹¼ö¿Í Å©±â
·Ñ¹é ¼¼±×¸ÕÆ®°¡ »ç¿ëµÇ´Â ¹æ¹ýÀº ´ÙÀ½°ú °°´Ù.
(1) ÇϳªÀÇ Æ®·£Àè¼ÇÀº ÇϳªÀÇ ·Ñ¹é ¼¼±×¸ÕÆ® ¸¸À» »ç¿ëÇÑ´Ù.
(2) ·Ñ¹é ¼¼±×¸ÕÆ®ÀÇ Head´Â Tail ¿¡ ÀÇÇؼ­ »ç¿ëµÇ´Â ÀͽºÅÙÆ®¸¦ ħ¹üÇÏÁö ¾Ê´Â´Ù.
(3) ¸µ ÇüÀ¸·Î ±¸¼ºµÈ ·Ñ¹é ¼¼±×¸ÕÆ® ¾È¿¡ ´õ ÀÌ»ó ÇÒ´çÇÒ ÀͽºÅÙÆ®°¡ ¾øÀ¸¸é »õ·Î¿î
ÀͽºÅÙÆ®°¡ ÇÒ´çµÇ¾î ¸µ ¾È¿¡ Æ÷ÇԵȴÙ.
µû¶ó¼­ ·Ñ¹é ¼¼±×¸ÕÆ®ÀÇ Å©±â¸¦ ÀûÀýÈ÷ À¯ÁöÇÏ´Â °ÍÀº ¸Å¿ì Áß¿äÇÏ´Ù. ·Ñ¹é ¼¼±×¸ÕÆ®ÀÇ
ÀûÀýÇÑ Å©±â´Â µ¥ÀÌŸº£À̽º¿¡¼­ ¼öÇàµÇ´Â Æ®·£Àè¼ÇÀÇ È°µ¿ »óÅ¿¡ µû¶ó¼­ ´Þ¶óÁø´Ù.
ÇÊ¿äÇÑ ·Ñ¹é ¼¼±×¸ÕÆ®ÀÇ °¹¼ö´Â ÇöÀçÀÇ ·Ñ¹é ¼¼±×¸ÕÆ® »ç¿ë »óŸ¦ ¸ð´ÏÅÍ Çؼ­ °áÁ¤ÇÑ´Ù.
·Ñ¹é ¼¼±×¸ÕÆ®ÀÇ ÀûÀýÇÑ Å©±â¿Í °¹¼ö¸¦ °áÁ¤ÇÏ´Â °ÍÀº ´ÙÀ½ Å×½ºÆ® °úÁ¤À» °ÅÃļ­
°áÁ¤ÇÑ´Ù.
(1)·Ñ¹é ¼¼±×¸ÕÆ®¸¦ ÀúÀåÇÒ Å×ÀÌºí ½ºÆäÀ̽º »ý¼º
(2)Å×½ºÆ®ÇÒ °¹¼öÀÇ ·Ñ¹é ¼¼±×¸ÕÆ®¸¦ 1)¿¡¼­ ¸¸µç Å×ÀÌºí ½ºÆäÀ̽º¿¡ »ý¼º
(3)·Ñ¹é ¼¼±×¸ÕÆ®ÀÇ ÀͽºÅÙÆ® Å©±â´Â ¸ðµÎ µ¿ÀÏÇÏ°Ô ¼³Á¤. ÀͽºÅÙÆ® Å©±â´Â ¼¼±×¸ÕÆ®°¡
ÃÖ´ë·Î È®ÀåµÇ¾úÀ» ¶§ 20~30 °³ Á¤µµ°¡ µÇµµ·Ï ÇÑ´Ù.
(4)·Ñ¹é ¼¼±×¸ÕÆ®ÀÇ Minextent ´Â 2 ÀÌ»ó.
(5)Å×½ºÆ®ÇÒ ·Ñ¹é ¼¼±×¸ÕÆ®ÀÇ Status ¸¦ In Use »óÅ·Πº¯°æÇÏ¿© È°¼ºÈ­ ½ÃŲ´Ù.
(6)¾ÖÇø®ÄÉÀ̼ÇÀ» ½ÇÇàÇÑ´Ù.
(7)·Ñ¹é ¼¼±×¸ÕÆ® ContentionÀ» ÃøÁ¤ÇÑ´Ù.
(8)·Ñ¹é ¼¼±×¸ÕÆ®ÀÇ ÃÖ´ë È®Àå»óŸ¦ ÃøÁ¤ÇÑ´Ù.
Å×½ºÆ® °úÁ¤¿¡¼­ °¡Àå Å« »óÅ°¡ µÉ ¶§ÀÇ ·Ñ¹é ¼¼±×¸ÕÆ® Å©±â¸¦ Minimum Coverage Size ¶ó°í ÇÏÀÚ. ¸¸¾à Contention ÀÌ ¹ß»ýÇÏ¸é ·Ñ¹é ¼¼±×¸ÕÆ®ÀÇ °¹¼ö¸¦ ´Ã·Á°¡¸é¼­ Å×½ºÆ®¸¦
¹Ýº¹ÇÑ´Ù.

´ÙÀ½Àº Æò±Õ extent Ƚ¼ö°¡ 20 ÀÌ°í, À§ÀÇ Æò±Õ rollback segment µéÀÇ optimal Å©±â°¡ 2 M ÀÎ rollback segment ¸¦ »ý¼ºÇÏ´Â ¿¹ÀÌ´Ù.
(minextents ¸¦ 20 À¸·Î ÇÑ ÀÌÀ¯´Â Æò±Õ extents¼ö°¡ 20 À̹ǷÎ, rollback segment ¸¦
»ý¼ºÇÒ ¶§, ÀÌ ¿µ¿ªÀ» ¹Ì¸® È®º¸ÇÏ°Ú´Ù´Â ÀǹÌÀÌ´Ù. ¶ÇÇÑ optimal Àº minextents ·Î È®º¸ÇÑ
°ª°ú °°°Å³ª Å« °ªÀ̾î¾ß ÇÑ´Ù. Áï, minextents ÀÌÇÏ·Î shrink ÇÒ ¼ö ¾ø´Ù.)
create rollback segment r01
tablespace rbs
storage ( initial 100 k
next 100 k
minextents 20
maxextents 121
optimal 2 m) ;


¸ñ·Ï | ÀÔ·Â | ¼öÁ¤ | ´äº¯ | »èÁ¦