|
Ora-1555:SnapShot Too Old¿¡ °üÇØ...
-----------------------------------------------------
ORA-1555 ¡°SNAPSHOT TOO OLD¡± ¿¡·¯ÀÇ ¿øÀΰú ÇØ°á¹æ¹ý
-----------------------------------------------------
µ¥ÀÌŸ ÀÏ°ü¼º(Read Consistency)°ú Block CleanOut
ORA-1555 ¿¡·¯ÀÇ ¿øÀÎÀ» ÀÌÇØÇϱâ Àü¿¡ ¸ÕÀú µ¥ÀÌŸ ÀÏ°ü¼º(Read Consistency)¿¡ ´ëÇÑ ÀÌÇØ°¡
ÇÊ¿äÇÑ´Ù. ¿©·¯ ´Ü°èÀÇ µ¥ÀÌŸ ÀÏ°ü¼ºÀ» Áö¿øÇÏ´Â ¿À¶óŬÀÇ ÀÌ ±â´ÉÀº, ÇÑ ½ÃÁ¡¿¡¼ µ¥ÀÌŸ¸¦
ÀÏ°üµÈ ³»¿ëÀ¸·Î º¼ ¼ö ÀÖµµ·Ï Á¦°øÇÏ´Â °ÍÀ¸·Î µ¥ÀÌŸº£À̽º »ç¿ëÀÚ¿¡°Ô´Â ¾ÆÁÖ Áß¿äÇÑ °³³äÀÌ´Ù.
[ ¿¹Á¦ ]
Å×ÀÌºí¿¡ ÀÖ´Â ¹é¸¸°ÇÀÇ ·¹Äڵ带 ¼öÁ¤ÇÏ´Â Æ®·£Àè¼ÇÀÌ ÀÖ´Ù°í °¡Á¤ÇØ º¸ÀÚ. ÀÌ ÀÛ¾÷À» ¼öÇàÇϱâ
À§Çؼ´Â ¾ÆÁÖ ¸¹Àº µ¥ÀÌŸº£À̽º ºí·°¿¡ Á¢±ÙÇØ¾ß ÇÑ´Ù. »ç¿ëÀÚ°¡ ÀÌ Æ®·£Àè¼ÇÀ» CommitÇßÀ» ¶§
¿À¶óŬÀº ÀÌ°ÍÀ» ¹Ý¿µÇϱâ À§ÇØ µ¥ÀÌŸ ºí·°¿¡ ´Ù½Ã Á¢±ÙÇÏÁö ¾Ê´Â´Ù. ±×°ÍÀº ¼öÁ¤µÈ µ¥ÀÌŸ°¡
ÀúÀåµÇ¾î ÀÖ´Â µ¥ÀÌŸ ºí·°¿¡ Á¢±ÙÇÏ¿© µ¥ÀÌŸ¸¦ ÀдÂ, ´ÙÀ½ Æ®·£Àè¼ÇÀ» À§ÇØ ³²°ÜÁø´Ù.
( ÀÌ·± °úÁ¤À» ¡®Delayed Block Cleanout¡¯ À̶ó°í ÇÑ´Ù.)
¿À¶óŬÀÌ Table, Index, ClusterµîÀ» ¼öÁ¤ ÇÒ ¶§¸¶´Ù ±× Æ®·£Àè¼Ç¿¡ ÀÇÇØ ¹Ù²î±â ÀüÀÇ ¿ø·¡
µ¥ÀÌŸ¸¦ ·Ñ¹é ¼¼±×¸ÕÆ®¿¡ ÀúÀåÇÏ°í, ±× ·Ñ¹é ¼¼±×¸ÕÆ®ÀÇ ½Äº°ÀÚµéÀº ¼öÁ¤µÈ µ¥ÀÌŸ ºí·°ÀÇ
Header¿¡ ÀúÀåÇÑ´Ù. (ÀÌ°ÍÀº, ¸¸¾à »ç¿ëÀÚ°¡ ¼öÁ¤ÇÑ ³»¿ëÀ» CommitÇÏÁö ¾Ê°í ÀÖ´Ù°¡ ³ªÁß¿¡
¼öÁ¤Çϱâ ÀüÀÇ ¿ø·¡ µ¥ÀÌŸ·Î UndoÇϱ⸦ ¿øÇÒ ¶§ ÇÊ¿äÇÏ´Ù.)
CommitÀ» Çϸé, ¿À¶óŬÀº ±× Æ®·£Àè¼Ç°ú °ü·ÃµÈ ·Ñ¹é ¼¼±×¸ÕÆ®ÀÇ ºí·° Header¿¡ ±× µ¥ÀÌŸ°¡
ÀÌ¹Ì CommitµÇ¾ú´Ù´Â °ÍÀ» Ç¥½ÃÇÑ´Ù. ±×¸®°í, ¼öÁ¤µÈ ºí·°¿¡ ´Ù¸¥ Æ®·£Àè¼ÇÀÌ ´Ù½Ã Á¶È¸¸¦ Çϸé
¿À¶óŬÀº ¾î¶² ½ÃÁ¡¿¡¼ ¼öÁ¤µÇ¾ú´ÂÁö¸¦ °¡¸®Å°´Â µ¥ÀÌŸ ºí·° Header¸¦ Á¶»çÇÑ´Ù. ¿À¶óŬÀº
¼öÁ¤»çÇ×ÀÌ ÀÌ¹Ì CommitµÈ °ÍÀÎÁö, ¾ÆÁ÷ CommitµÇÁö ¾ÊÀº °ÍÀÎÁö È®ÀÎÇÑ´Ù. À̸¦ À§ÇØ ¿À¶óŬÀº
ÀÌÀü Æ®·£Àè¼Ç¿¡ ÀÇÇØ »ç¿ëµÈ ·Ñ¹é ¼¼±×¸ÕÆ®¸¦ ã¾Æ¼ ·Ñ¹é ¼¼±×¸ÕÆ® Header¿¡¼ ÀÌ Á¤º¸¸¦
È®ÀÎÇÑ´Ù. ±× ºí·°ÀÌ CommitµÇ¾ú´Ù´Â °ÍÀ» È®ÀÎÇϸé, ±× ºí·°À» Àд ´ÙÀ½ Æ®·£Àè¼ÇÀÌ °°Àº °úÁ¤À»
´Ù½Ã °ÞÁö ¾Êµµ·Ï ±× µ¥ÀÌŸ ºí·°ÀÇ Header¸¦ ¼öÁ¤ÇÑ´Ù. (Block CleanOut)
ORA-1555 ¿¡·¯°¡ ¹ß»ýÇÏ´Â ±âº»ÀûÀÎ µÎ °¡Áö ¿øÀÎÀº ´ÙÀ½°ú °°´Ù.
Æ®·£Àè¼ÇÀÌ CommitµÈ ÈÄ¿¡ ·Ñ¹é ¼¼±×¸ÕÆ® ¾È¿¡ ÀúÀåµÇ¾î ÀÖ´Â ·Ñ¹éÀ» À§ÇÑ µ¥ÀÌŸµéÀÌ ´Ù¸¥
µ¥ÀÌŸ·Î ÀÎÇØ Áö¿öÁö´Â °æ¿ìÀÌ´Ù. Æ®·£Àè¼ÇÀÌ CommitµÈ ÈÄ¿¡ ·Ñ¹é ¼¼±×¸ÕÆ® Header¿¡ ÀÖ´Â
Æ®·£Àè¼Ç Å×À̺íÀÇ Æ®·£Àè¼Ç ½½·ÔÀÇ Á¤º¸°¡ Áö¿öÁö´Â °æ¿ìÀÌ´Ù.
ÇØ°áÃ¥
·Ñ¹é ¼¼±×¸ÕÆ®ÀÇ Å©±â¸¦ Å°¿öÁØ´Ù. ÇÊ¿äÇÑ ·Ñ¹é Á¤º¸°¡ ´Ù¸¥ Æ®·£Àè¼ÇÀÇ ¹ß»ýÀ¸·Î Áö¿öÁú
°¡´É¼ºÀ» ÁÙÀδÙ. Commit ÇÏ´Â ¼ö¸¦ ÁÙÀδÙ.Àüü Å×ÀÌºíº¸´Ù ºÎºÐÀ¸·Î ³ª´©¾î¼ ÀÛ¾÷À» ¼öÇàÇÑ´Ù.
·Ñ¹é ¼¼±×¸ÕÆ®¸¦ Ãß°¡·Î »ý¼ºÇÑ´Ù. ÀÌ°ÍÀº ¼öÁ¤, »èÁ¦µîÀÇ ÀÛ¾÷À» ¼öÇàÇÒ ¶§ ÇÑ ·Ñ¹é ¼¼±×¸ÕÆ®ÀÇ
»ç¿ëÀ» ÁÙÀÌ´Â È¿°ú¸¦ °¡Á®¿Â´Ù.
PL/SQL¹®¿¡¼ Loop¾È¿¡ Fetch ÈÄ CommitÀ» ³ÖÀ¸¸é ºó¹øÇÑ CommitÀ¸·Î ¿¡·¯°¡ ¹ß»ýÇÒ ¼ö ÀÖ´Ù.
|