°æ°í ·Î±× ÆÄÀÏ

alert.log ÆÄÀÏÀº Oracle ¼­¹ö°¡ ±â·ÏÇÏ´Â ÆÄÀÏ·Î ÀνºÅϽº ¹× µ¥ÀÌÅͺ£À̽ºÀÇ »óÅ Á¤º¸¸¦ Æ÷ÇÔÇÕ´Ï´Ù. ºÐ¸íÇÏÁö ¾ÊÀº ½Ã½ºÅÛ ¹®Á¦°¡ ¹ß»ýÇÒ °æ¿ì DBA´Â ¸ÕÀú ÀÌ ÆÄÀÏ¿¡¼­ ¹®Á¦¿¡ ´ëÇÑ Á¤º¸¸¦ ã¾Æ¾ß ÇÕ´Ï´Ù. µ¥ÀÌÅͺ£À̽º ÀνºÅϽº¿¡ ±¤¹üÀ§ÇÏ°Ô ¶Ç´Â Àü¿ªÀûÀ¸·Î ¿µÇâÀ» ÁÖ´Â ´ÙÀ½°ú °°Àº »çÇ×ÀÌ alert.log¿¡ ±â·ÏµË´Ï´Ù.

ÇØ´ç ÆÄÀÏ¿¡ ³»¿ëÀÌ °è¼Ó Ãß°¡µÇ¹Ç·Î DBA´Â µð½ºÅ©°¡ °¡µæ Â÷±â Àü¿¡ ±â·Ï Á¤º¸¿ë ´ëü ±â¾ï ÀåÄ¡¿¡ ÀÌ ÆÄÀÏÀ» º¹»çÇÑ ÈÄ Áö¿ö ÁÖ¾î¾ß ÇÕ´Ï´Ù.

¿¹Á¦

´ÙÀ½ Ãâ·ÂÀº ¿Â¶óÀÎ ¸®µÎ ·Î±× ÆÄÀÏÀÌ ¾ø±â ¶§¹®¿¡ alert.log ÆÄÀÏ¿¡ ¿À·ù°¡ ±â·ÏµÈ ¿¹¸¦ º¸¿©ÁÝ´Ï´Ù.

...

Tue Nov 25 19:30:25 1997

Errors in file /users/dba00/trace/dba00_lgwr_14838.trc:

ORA-00321: log 2 of thread 1, cannot update log file header

ORA-00312: online log 2 thread 1: '/users/dba00/u02/log2b.rdo'

Tue Nov 25 19:30:25 1997

Errors in file /users/dba00/trace/dba00_lgwr_14838.trc:

ORA-00313: open failed for members of log group 2 of thread 1

Thread 1 advanced to log sequence 1312

  Current log# 2 seq# 1312 mem# 0: /users/dba00/u02/log2a.rdo

...

±×·ì¿¡ µÎ ¸â¹ö°¡ Á¸ÀçÇ߱⠶§¹®¿¡ LGWR°¡ ÇÁ·Î¼¼½º¸¦ °è¼ÓÇÒ ¼ö ÀÖ¾ú´Ù´Â °ÍÀº alert.log ÆÄÀÏÀÇ Ãâ·Â ³»¿ëÀ» Á¤±âÀûÀ¸·Î ¸ð´ÏÅÍÇÏ¿© ¹®Á¦°¡ ÀÖ´ÂÁö ¿©ºÎ¸¦ È®ÀÎÇÏ´Â °ÍÀÌ ¾ó¸¶³ª Áß¿äÇÑÁö º¸¿©ÁÝ´Ï´Ù.

DBA´Â ¹®Á¦ Áø´Ü¿¡ µµ¿òÀÌ µÉ ¼ö ÀÖµµ·Ï alert.log ÆÄÀÏ ÀÌ¿Ü¿¡µµ ÃßÀû ÆÄÀÏÀ» »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. À§ÀÇ ¿¹Á¦¿¡¼­ LGWR ÇÁ·Î¼¼½º´Â ÃßÀû ÆÄÀϵµ »ý¼ºÇß½À´Ï´Ù.

Oracle ÃßÀû ÆÄÀÏ

Oracle ¹é±×¶ó¿îµå ÇÁ·Î¼¼½º Áß Çϳª°¡ ¿À·ù¸¦ ¹ß°ßÇϸé ÀϹÝÀûÀ¸·Î ¿À·ù¿¡ ´ëÇÑ Á¤º¸¸¦ Æ÷ÇÔÇÏ´Â ÃßÀû ÆÄÀÏÀ» »ý¼ºÇÕ´Ï´Ù. PMON, SMON, LGWR, DBWn µîÀÇ ÃßÀû ÆÄÀÏÀ» »ý¼ºÇÑ ¹é±×¶ó¿îµå ÇÁ·Î¼¼½ºÀÇ À̸§ÀÌ ÃßÀû ÆÄÀÏ À̸§ÀÇ ÀϺηΠÆ÷ÇԵ˴ϴÙ.

ÃßÀû ÆÄÀÏÀº BACKGROUND_DUMP_DEST ¸Å°³º¯¼ö°¡ ÁöÁ¤ÇÏ´Â ´ë»ó¿¡ ±â·ÏµË´Ï´Ù. DBA´Â µ¥ÀÌÅͺ£À̽ºÀÇ ¹®Á¦¸¦ È®ÀÎÇÏ´Â µ¥ µµ¿òÀÌ µÇµµ·Ï Á¤±âÀûÀ¸·Î ÃßÀû ÆÄÀÏÀ» ¸ð´ÏÅÍÇØ¾ß ÇÏ°í ÁÖ±âÀûÀ¸·Î Áö¿ì´Â ÀÛ¾÷µµ ÇØ¾ß ÇÕ´Ï´Ù.

¿¹Á¦

´ÙÀ½Àº ¿Â¶óÀÎ ¸®µÎ ·Î±× ÆÄÀÏÀÌ ¾ø±â ¶§¹®¿¡ »ý¼ºµÈ dba00_lgwr_14838.trc ÆÄÀÏÀÇ Ãâ·ÂÀÔ´Ï´Ù.

...

ORA-00313: open failed for members of log group 2 of thread 1

ORA-00312: online log 2 thread 1: '/users/dba00/u02/log2b.rdo'

ORA-27037: unable to obtain file status

SVR4 Error: 2: No such file or directory

Additional information: 3

ORA-00321: log 2 of thread 1, cannot update log file header

ORA-00312: online log 2 thread 1: '/users/dba00/u02/log2b.rdo'

ORA-00313: open failed for members of log group 2 of thread 1

...

Âü°í: ÃßÀû ÆÄÀÏ ¹øÈ£ 14838Àº ÀÌÀü alert.log Ãâ·Â¿¡µµ ³ª¿­µÇ¾ú½À´Ï´Ù.

ÈÑ¼Õ ºí·Ï °¨Áö ¹× º¹±¸ ±â´É

ºí·Ï ÈѼÕÀ» °¨ÁöÇÏ°í º¹±¸Çϱâ À§ÇÑ ¸î °¡Áö ±â´ÉÀº ´ÙÀ½°ú °°½À´Ï´Ù.

ºí·Ï ÈѼÕÀ» º¹±¸ÇÒ ¶§´Â °´Ã¼ »çÀÌÀÇ Á¾¼Ó¼ºÀ» ÀÌÇØÇÒ ÇÊ¿ä°¡ ÀÖÀ¸¸ç ¸Å¿ì ½ÅÁßÇÏ°Ô ½ÃµµÇØ¾ß ÇÕ´Ï´Ù. ±×·¸Áö ¾ÊÀ¸¸é µ¥ÀÌÅÍ ¹«°á¼ºÀÌ ¼Õ»óµÉ ¼ö ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ ÀÛ¾÷Àº ÀϹÝÀûÀ¸·Î Oracle Áö¿ø ¼¾ÅÍÀÇ µµ¿òÀ» ¹Þ¾Æ ¼öÇàÇØ¾ß ÇÕ´Ï´Ù.

DB_BLOCK_CHECKSUM ¸Å°³º¯¼ö

DBWn ¹× Á÷Á¢ ·Î´õ´Â üũ¼¶À» µð½ºÅ©¿¡ ±â·ÏÇÒ ¶§ üũ¼¶À» °è»êÇÏ¿© ¸ðµç µ¥ÀÌÅÍ ºí·ÏÀÇ Ä³½Ã Çì´õ¿¡ ÀúÀåÇÕ´Ï´Ù. üũ¼¶Àº ºí·ÏÀÌ ÀÐÇôÁú ¶§ °ËÁõµË´Ï´Ù.

¶ÇÇÑ ÇöÀç ·Î±×¿¡ üũ¼¶ÀÌ ±â·ÏµÇ±â Àü¿¡ ¸ðµç ·Î±× ºí·Ï¿¡ üũ¼¶ÀÌ ÁÖ¾îÁý´Ï´Ù.

DB_BLOCK_CHECKING ¸Å°³º¯¼ö

DB_BLOCK_CHECKING ¸Å°³º¯¼ö¸¦ TRUE·Î ¼³Á¤ÇÏ¸é µ¥ÀÌÅÍ ¹× À妽º ºí·ÏÀÌ º¯°æµÉ ¶§¸¶´Ù À̵éÀ» °Ë»çÇÒ ¼ö ÀÖ½À´Ï´Ù.

DBVERIFY À¯Æ¿¸®Æ¼

ÀÌ ¸í·ÉÇà À¯Æ¿¸®Æ¼´Â µ¥ÀÌÅÍ ÆÄÀÏ ºí·Ï¿¡ ´ëÇÑ ¹«°á¼º °Ë»ç¸¦ ¼öÇàÇÕ´Ï´Ù. ÀÌ À¯Æ¿¸®Æ¼ÀÇ ÀåÁ¡Àº ¿Â¶óÀÎ ¼º´É¿¡ ÃÖ¼ÒÇÑÀÇ ¿µÇâÀ» Áָ鼭 ¿Â¶óÀÎ ¹× ¹é¾÷ µ¥ÀÌÅÍ ÆÄÀÏ ¸ðµÎ¸¦ °ËÁõÇÏ´Â µ¥ »ç¿ëÇÒ ¼ö ÀÖ´Ù´Â °ÍÀÔ´Ï´Ù.

ÀÌ À¯Æ¿¸®Æ¼¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ³»¿ëÀº Oracle8i Utilities ¼³¸í¼­¸¦ ÂüÁ¶ÇϽʽÿÀ.

DBMS_REPAIR ÆÐÅ°Áö

DBMS_REPAIR ÆÐÅ°Áö´Â ºí·Ï ÈѼÕÀ» °¨ÁöÇÏ°í Ç¥½ÃÇÒ ¼ö ÀÖ´Â »õ·Î¿î PL/SQL ÀÎÅÍÆäÀ̽º¸¦ Á¦°øÇÕ´Ï´Ù. ÀÌ ÆÐÅ°Áö¸¦ »ý¼ºÇÏ·Á¸é SYS »ç¿ëÀÚ·Î dbmsrpr.sql ¹× prvtrpr.plb ½ºÅ©¸³Æ®¸¦ ½ÇÇàÇÏ¸é µË´Ï´Ù.

ANALYZE TABLE ... VALIDATE STRUCTURE

ANALYZE TABLE...VALIDATE STRUCTURE ¹®Àº ºÐ¼®µÈ °´Ã¼ÀÇ ±¸Á¶¸¦ °ËÁõÇÕ´Ï´Ù.

üũ¼¶ ÀÛ¾÷

Âü°í: DB_BLOCK_CHECKSUMÀ» TRUE·Î ¼³Á¤ÇÏ¸é ¼º´ÉÀÌ ÀúÇϵ˴ϴÙ. µ¥ÀÌÅÍ ÈÑ¼Õ ¹®Á¦¸¦ Áø´ÜÇϱâ À§ÇØ ÀÌ °ªÀ» TRUE·Î ¼³Á¤ÇÏ·Á´Â °æ¿ì ¹Ýµå½Ã Oracle Áö¿ø ¼¾ÅÍ ´ã´çÀÚÀÇ Á¶¾ð¿¡ µû¸£½Ê½Ã¿À.

DB_BLOCK_CHECKING

ÀÌ ¸Å°³º¯¼ö´Â µ¿ÀûÀ¸·Î º¯°æµÉ ¼ö ÀÖÀ¸¸ç Àд Áß¿¡ ºí·ÏÀ» °Ë»çÇÏÁö ¾ÊÀ¸¹Ç·Î ¼º´É¿¡ ÃÖ¼ÒÇÑÀÇ ¿µÇâÀ» ÁÝ´Ï´Ù. ÀÌ ¸Å°³º¯¼ö°¡ ¼³Á¤µÇ¸é ÈÑ¼ÕµÈ ºí·ÏÀÌ ¹ß°ßµÉ °æ¿ì Oracle ¼­¹ö´Â ´ÙÀ½ ¿À·ù¸¦ »ý¼ºÇÏ°í °æ°í ÆÄÀÏ¿¡ ±â·ÏÇÕ´Ï´Ù.

ORA-1578 ORACLE data block corrupted

ÀÌ »õ·Î¿î ¸Å°³º¯¼öÀÇ ÁÖ¿ä ÀåÁ¡Àº °¡´ÉÇÑ ¸ðµç ºí·Ï ÈѼÕÀ» Áï½Ã °¨ÁöÇÏ¿© ±× ¿µÇâÀÌ È®»êµÇÁö ¾Êµµ·Ï ÇÑ´Ù´Â °ÍÀÔ´Ï´Ù. ÀÌ ¸Å°³º¯¼ö´Â ±âÁ¸ÀÇ 10210 ¹× 10211 À̺¥Æ®¸¦ ´ëüÇÕ´Ï´Ù.

DBVERIFY À¯Æ¿¸®Æ¼

DBVERIFY À¯Æ¿¸®Æ¼¸¦ »ç¿ëÇÏ¸é °ü¸®ÀÚ°¡ ÁöÁ¤µÈ µ¥ÀÌÅÍ ÆÄÀÏ ³»¿¡¼­ µ¥ÀÌÅÍ ºí·ÏÀÇ ±¸Á¶ÀûÀÎ ¹«°á¼ºÀ» °Ë»çÇÏ¿© µ¥ÀÌÅÍ ÆÄÀÏÀ» °ËÁõÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ À¯Æ¿¸®Æ¼´Â µ¥ÀÌÅͺ£À̽º¿¡ Æ÷ÇÔµÇÁö ¾ÊÀ¸¹Ç·Î µ¥ÀÌÅͺ£À̽º ÀÛ¾÷¿¡ ÃÖ¼ÒÇÑÀÇ ¿µÇâÀ» ÁÝ´Ï´Ù.

DBVERIFYÀÇ ÁÖ¿ä ±â´É

´Ü°è

¼³¸í

1

ÀÌ À¯Æ¿¸®Æ¼´Â ¿Â¶óÀÎ µ¥ÀÌÅÍ ÆÄÀÏÀ» °ËÁõÇÏ´Â µ¥ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.

2

µ¥ÀÌÅÍ ÆÄÀÏÀÇ ÇÑ ºÎºÐ¿¡ ´ëÇØ ÀÌ À¯Æ¿¸®Æ¼¸¦ È£ÃâÇÒ ¼ö ÀÖ½À´Ï´Ù.

3

ÀÌ À¯Æ¿¸®Æ¼´Â ¿ÀÇÁ¶óÀÎ µ¥ÀÌÅÍ ÆÄÀÏÀ» °ËÁõÇÏ´Â µ¥ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.

4

ÀÌ À¯Æ¿¸®Æ¼ÀÇ Ãâ·ÂÀ» ¿À·ù ·Î±×¿¡ º¸³¾ ¼ö ÀÖ½À´Ï´Ù.

DBVERIFY ½ÇÇà

DBVERIFY À¯Æ¿¸®Æ¼ÀÇ ½ÇÇà ÆÄÀÏ À̸§Àº ¿î¿µ üÁ¦¿¡ µû¶ó ´Ù¸£¸ç ÇØ´ç Oracle HomeÀÇ bin µð·ºÅ丮¿¡ À§Ä¡ÇÕ´Ï´Ù.

½ÇÇà ÆÄÀÏÀÇ À̸§Àº ¿î¿µ üÁ¦¿¡ µû¶ó ´Ù¸£¸ç UNIXÀÇ °æ¿ì dbv ½ÇÇà ÆÄÀÏÀ» ½ÇÇàÇØ¾ß ÇÕ´Ï´Ù.

¸í·ÉÇà ÀÎÅÍÆäÀ̽º

¸í·ÉÇà ÀÎÅÍÆäÀ̽º¸¦ »ç¿ëÇÏ¿© È£ÃâµÇ´Â DBVERIFY À¯Æ¿¸®Æ¼¸¦ È£ÃâÇÕ´Ï´Ù. ÀÌ À¯Æ¿¸®Æ¼´Â ¹é¾÷ µ¥ÀÌÅͺ£À̽º ¶Ç´Â µ¥ÀÌÅÍ ÆÄÀÏÀ» º¹¿øÇϱâ Àü¿¡ À̵é ÆÄÀÏÀÌ À¯È¿ÇÑÁö È®ÀÎÇÒ ÇÊ¿ä°¡ ÀÖÀ» °æ¿ì ¶Ç´Â µ¥ÀÌÅÍ ÈÑ¼Õ ¹®Á¦°¡ ¹ß»ýÇßÀ» ¶§ Áø´Ü µµ±¸·Î¼­ ÁÖ·Î »ç¿ëÇØ¾ß ÇÕ´Ï´Ù.

¿¹Á¦

ºí·Ï 1¿¡¼­ ½ÃÀÛÇÏ¿© ºí·Ï 500¿¡¼­ ³¡³ª´Â data01.dbf µ¥ÀÌÅÍ ÆÄÀÏÀÇ ¹«°á¼ºÀ» °ËÁõÇÏ·Á¸é ´ÙÀ½ ¸í·ÉÀ» ½ÇÇàÇÕ´Ï´Ù.

UNIX

$ dbv /users/DB00/u03/data01.dbf start=1 end=500

DBVERIFY Ãâ·Â

ÀÌÀü ¸í·ÉÀÇ Ãâ·Â ¿¹´Â ´ÙÀ½°ú °°½À´Ï´Ù.

DBVERIFY - Verification starting : FILE = /users/DBA00/u03/data01.dbf

DBVERIFY - Verification complete

Total Pages Examined :  500

Total Pages Processed (Data):   22

Total Pages Failing   (Data):   0

Total Pages Processed(Index):   16

Total Pages Failing(Index):     0

Total Pages Empty :      0

Total Pages Marked Corrupt:      0

Total Pages Influx:     0

¼³¸í: Pages´Â ó¸®µÈ Oracle ºí·Ï ¼öÀÔ´Ï´Ù.

DBVERIFY ¸Å°³º¯¼ö

¸Å°³º¯¼ö

¼³¸í

FILE

°ËÁõÇÒ µ¥ÀÌÅͺ£À̽º ÆÄÀÏ À̸§

START

°ËÁõÇÒ ½ÃÀÛ ºí·Ï ÁÖ¼Ò. ºí·Ï ÁÖ¼Ò´Â Oracle ºí·Ï¿¡ ÁöÁ¤µÇ¾î ÀÖ½À´Ï´Ù. START¸¦ ÁöÁ¤ÇÏÁö ¾ÊÀ¸¸é ÆÄÀÏÀÇ Ã¹ ºí·ÏºÎÅÍ °ËÁõÇÕ´Ï´Ù.

END

°ËÁõÇÒ ³¡ ºí·Ï ÁÖ¼Ò. END¸¦ ÁöÁ¤ÇÏÁö ¾ÊÀ¸¸é ÆÄÀÏÀÇ ¸¶Áö¸· ºí·Ï±îÁö °ËÁõÇÕ´Ï´Ù.

BLOCKSIZE

ÆÄÀÏÀÇ ºí·Ï Å©±â°¡ 2KB ÀÌ»óÀÎ °æ¿ì¿¡¸¸ ÇÊ¿ä

LOGFILE

·Î±× Á¤º¸°¡ ±â·ÏµÉ ÆÄÀÏ ÁöÁ¤. ±âº»°ªÀº ´Ü¸»±â È­¸é¿¡ Ãâ·ÂÀ» º¸³»´Â °ÍÀÔ´Ï´Ù.

FEEDBACK

DB_VERIFY°¡ °ËÁõµÈ n°³ ÆäÀÌÁö¿¡ ´ëÇØ `¸¶Ä§Ç¥(.)' ÇÑ °³¸¦ Ç¥½ÃÇϵµ·Ï ÇÕ´Ï´Ù.

HELP

¿Â-½ºÅ©¸° µµ¿ò¸» Á¦°ø

PARFILE

»ç¿ëÇÒ ¸Å°³º¯¼ö ÆÄÀÏ À̸§ ÁöÁ¤

DBMS_REPAIR¸¦ »ç¿ëÇÑ ÈÑ¼Õ °Ë»ç

DBMS_REPAIR ÆÐÅ°Áö´Â SYS »ç¿ëÀÚ°¡ »ç¿ëÇϸç Å×À̺í, ºÐÇÒ ¿µ¿ª ¶Ç´Â À妽ºÀÇ ºí·Ï ÈѼÕÀ» ½Äº°ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ ±â´ÉÀ» »ç¿ëÇϸé DBMS_REPAIR ÆÐÅ°Áö´Â °´Ã¼¸¦ °Ë»çÇÏ°í ÈÑ¼ÕµÈ ºí·ÏÀÇ ¸ñ·ÏÀ» »ý¼ºÇÕ´Ï´Ù.

ºí·Ï ÈÑ¼Õ °¨Áö¸¦ À§ÇÑ ¼³Á¤

ºí·Ï ÈѼÕÀÌ ÀÖ´ÂÁö ¿©ºÎ¸¦ È®ÀÎÇϱâ À§ÇØ °´Ã¼¸¦ °Ë»çÇϱâ Àü¿¡ °Ë»ç °á°ú¸¦ ÀúÀåÇÒ Å×À̺íÀ» »ý¼ºÇØ¾ß ÇÕ´Ï´Ù. DBMS_REPAIR.ADMIN_TABLES ÇÁ·Î½ÃÀú¸¦ »ç¿ëÇÏ¿© ÀÌ Å×À̺íÀ» »ý¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ ÇÁ·Î½ÃÀú¿¡´Â ´ÙÀ½ Àμö¸¦ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.

ºí·Ï ÈÑ¼Õ °¨Áö

DBMS_REPAIR.CHECK_OBJECT ÇÁ·Î½ÃÀú´Â Å×À̺í, ºÐÇÒ ¿µ¿ª ¶Ç´Â À妽º°¡ ÈѼյǾú´ÂÁö ¿©ºÎ¸¦ °Ë»çÇÏ´Â µ¥ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ ÇÁ·Î½ÃÀú´Â ÁöÁ¤µÈ °´Ã¼ÀÇ ¸ðµç ºí·ÏÀ» °Ë»çÇÏ¿© ÈÑ¼ÕµÈ ºí·ÏÀÇ ºí·Ï ÁÖ¼Ò·Î ÁöÁ¤µÈ º¹±¸ Å×À̺íÀ» ä¿ó´Ï´Ù.

ÀÌ ÇÁ·Î½ÃÀú´Â ´ÙÀ½ ¸Å°³º¯¼ö¸¦ °®½À´Ï´Ù.

Å×À̺íÀ» ºÐ¼®ÇÑ ÈÄ ºí·Ï ÈѼÕÀ» °Ë»çÇϱâ À§ÇØ ´ÙÀ½°ú °°Àº ÁúÀǸ¦ ½ÇÇàÇÒ ¼ö ÀÖ½À´Ï´Ù.

SQL> SELECT object_name, relative_file_no, block_id,
  2  marked_corrupt, corrupt_description, repair_description        
  3  FROM repair_table;
OBJECT_NAME  RELATIVE_F  BLOCK_ID  MARKED_COR
-----------  ----------  --------  ----------
CORRUPT_DESCRIPTION
------------------------------------------------------------
REPAIR_DESCRIPTION
------------------------------------------------------------
    CLASSES           6         3  FALSE
kdbchk: row locked by non-existent transaction table=0 slot=0
lockid=32   ktbbhitc=1
mark block software corrupt

º¹±¸ Å×ÀÌºí¿¡¼­ ÆÄÀÏ 6ÀÇ ºí·Ï 3ÀÌ ÈѼյǾú´Ù´Â °ÍÀ» ¾Ë ¼ö ÀÖÁö¸¸ ÀÌ ºí·ÏÀº ¾ÆÁ÷ ÈÑ¼ÕµÈ °ÍÀ¸·Î Ç¥½ÃµÇÁö ¾Ê¾ÒÀ¸¹Ç·Î ÀÌ ½ÃÁ¡¿¡¼­´Â Áß¿äÇÑ µ¥ÀÌÅ͸¦ Æ÷ÇÔÇÏ´Â ºí·Ï¿¡¼­ ÇàÀ» ÃßÃâÇÒ ¼ö ÀÖ½À´Ï´Ù. ºí·ÏÀÌ ÈÑ¼ÕµÈ °ÍÀ¸·Î Ç¥½ÃµÈ ÈÄ¿¡´Â Àüü ºí·ÏÀ» °Ç³Ê¶Ù¾î¾ß ÇÕ´Ï´Ù.

ÈÑ¼ÕµÈ ºí·Ï Ç¥½Ã

ÈÑ¼ÕµÈ ºí·ÏÀÌ ÀÖ´Â Å×ÀÌºí¿¡ ´ëÇØ Àüü Å×ÀÌºí ½ºÄµÀ» ¼öÇàÇÏ¸é ¿À·ù°¡ ¹ß»ýÇÏ°í ½ºÄµÀÌ ÁßÁöµË´Ï´Ù. Å×À̺íÀÇ ´Ù¸¥ ¸ðµç µ¥ÀÌÅ͸¦ ÀÐÀ» ¼ö ÀÖµµ·Ï ÇÏ·Á¸é µ¥ÀÌÅͺ£À̽º °ü¸®ÀÚ°¡ µÇµµ·Ï ¸¹Àº ºí·ÏÀ» º¹±¸ÇÑ ´ÙÀ½ º¹±¸ÇÒ ¼ö ¾ø´Â ºí·ÏÀ» °Ç³Ê¶Ù¾î¾ß ÇÕ´Ï´Ù.

Oracle8iÀÇ Ãʱ⠸±¸®½º´Â ÈÑ¼Õ ºí·ÏÀ» º¹±¸ÇÏÁö ¾Ê½À´Ï´Ù. ÀÌ ¶§ µ¥ÀÌÅͺ£À̽º °ü¸®ÀÚ´Â DBMS_REPAIR.FIX_CORRUPT_BLOCKS ÇÁ·Î½ÃÀú¸¦ ½ÇÇàÇÏ¿© ´ÙÀ½ ÁúÀÇÀÇ ½ÇÇà °á°ú¿¡¼­ º¼ ¼ö ÀÖµíÀÌ ÇØ´ç ºí·ÏÀ» ¼ÒÇÁÆ®¿þ¾î ÈѼÕÀ¸·Î Ç¥½Ã¸¸ ÇÒ ¼ö ÀÖ½À´Ï´Ù.

SELECT object_name, relative_file_no, block_id, marked_corrupt,
fix_timestamp
FROM repair_table;
OBJECT_NAME  RELATIVE_F  BLOCK_ID  MARKED_COR  FIX_TIMES

-----------  ----------  --------  ----------  ---------

CLASSES               6         3  TRUE        07-JAN-98

ÀÌ ¿¹Á¦¿¡¼­´Â MARKED_CORRUPT ¹× FIX_TIMESTAMP ¿­ÀÌ °»½ÅµÇ¾ú½À´Ï´Ù.

ÈÑ¼ÕµÈ ºí·Ï °Ç³Ê¶Ù±â

DBMS_REPAIR.SKIP_CORRUPT_BLOCKS ÇÁ·Î½ÃÀú¸¦ »ç¿ëÇϸé ÈÑ¼ÕµÈ °ÍÀ¸·Î Ç¥½ÃµÈ ºí·ÏÀ» Á¦¿ÜÇÑ ¸ðµç ºí·ÏÀ» ÀÐÀ» ¼ö ÀÖ½À´Ï´Ù.

ÀÌ ÇÁ·Î½ÃÀú´Â ´ÙÀ½ ¸Å°³º¯¼ö¸¦ °®½À´Ï´Ù.

ÇÁ·Î½ÃÀú°¡ ½ÇÇàµÈ ÈÄ ´ÙÀ½°ú °°Àº ÁúÀǸ¦ ½ÇÇàÇÏ¿© ºí·Ï ÈѼÕÀ» °Ë»çÇÒ ¼ö ÀÖ½À´Ï´Ù.

SELECT table_name, skip_corrupt
FROM dba_tables
WHERE table_name = 'CLASSES';
TABLE_NAME  SKIP_COR
----------  --------
T1          ENABLED

°í¾Æ(Orphan) Å° ¹× ÀÏ°ü¼ºÀÌ ¾ø´Â °á°ú

Å×ÀÌºí¿¡¼­ ÈÑ¼Õ ºí·ÏÀ» °Ç³Ê¶Ù¸é À妽º¸¸ °Ë»çÇÏ´Â ÁúÀÇ ¶Ç´Â Å×À̺íÀ» Àд ÁúÀÇÀÇ °á°ú¿¡ ÀÏ°ü¼ºÀÌ ¾øÀ» ¼ö ÀÖ½À´Ï´Ù. DBMS_REPAIR ÆÐÅ°Áö´Â Å×ÀÌºí¿¡¼­ ÈÑ¼ÕµÈ °ÍÀ¸·Î Ç¥½ÃµÇ¾î ÀÖ´Â ºí·ÏÀ» °¡¸®Å°´Â À妽º¸¦ ½Äº°ÇÏ´Â ±â´ÉÀ» Á¦°øÇÕ´Ï´Ù. ´ÙÀ½ ´Ü°è¸¦ ¼öÇàÇÏ¿© ÀÏ°ü¼ºÀÌ ¾ø´Â À妽º¿Í °ü·ÃµÈ ÀáÀçÀû ¹®Á¦¸¦ ½Äº°ÇÏ°í À妽º¸¦ ´Ù½Ã »ý¼ºÇÕ´Ï´Ù.

ÀÌ ÇÁ·Î½ÃÀú´Â ¸í¸íµÈ °í¾Æ Å×À̺íÀ» ÈÑ¼ÕµÈ ºí·ÏÀ» °¡¸®Å°´Â À妽º Å°¿¡ ´ëÇÑ µ¥ÀÌÅͷΠä¿ó´Ï´Ù.

ºÐ¼®µÈ °´Ã¼

ÀÌ ¸í·ÉÀº ºÐ¼®µÈ °´Ã¼ÀÇ ±¸Á¶¸¦ °ËÁõÇÕ´Ï´Ù.

INTO ¹× CASCADE Àý

È°¼ºÈ­µÈ(ÀÌÀü¿¡´Â ºñÈ°¼ºÈ­µÈ) ÇÔ¼ö ±â¹Ý À妽º¸¦ °ËÁõÇϱâ À§ÇØ ÀÌ ÀýÀ» »ç¿ëÇÏ´Â °æ¿ì °ËÁõ ¿À·ù°¡ ¹ß»ýÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ °æ¿ì À妽º¸¦ Àç»ý¼ºÇØ¾ß ÇÕ´Ï´Ù.

»ç¿ë¹ý

¸®µÎ ·Î±× ÆÄÀÏ Á¤º¸¸¦ ºÐ¼®ÇÏ´Â ¹æ¹ý

1. ·Î±× ÆÄÀÏÀ» ºÐ¼®Çϴ ù¹ø° ´Ü°è´Â µñ¼Å³Ê¸® ÆÄÀÏÀ» »ý¼ºÇÏ´Â °ÍÀÔ´Ï´Ù.

- Oracle ¼­¹ö°¡ µñ¼Å³Ê¸® ÆÄÀÏÀ» »ý¼ºÇÒ µð·ºÅ丮·Î UTL_FILE_DIR init.ora ¸Å°³º¯¼ö¸¦ ÃʱâÈ­ÇÕ´Ï´Ù.

- DBMS_LOGMNR_D ÆÐÅ°Áö¿¡ ÀÖ´Â BUILD ÇÁ·Î½ÃÀú¸¦ »ç¿ëÇÏ¿© ÀÌ ÆÄÀÏÀ» »ý¼ºÇÕ´Ï´Ù.

Âü°í: Oracle8 µ¥ÀÌÅͺ£À̽º¸¦ ºÐ¼®ÇÏ´Â °æ¿ì SYS »ç¿ëÀÚ·Î Á¦°øµÈ dbmslogmnrd.sql ½ºÅ©¸³Æ®¸¦ ½ÇÇàÇÏ¿© DBMS_LOGMNR_D ÆÐÅ°Áö¸¦ »ý¼ºÇÕ´Ï´Ù.

¿¹Á¦¿¡ Ç¥½ÃµÈ ÄÚµå´Â /oracle/database/orc1dict.ora ÆÄÀÏÀ» »ý¼ºÇÏ°í µ¥ÀÌÅÍ µñ¼Å³Ê¸®ÀÇ Á¤º¸¸¦ ÀúÀåÇÕ´Ï´Ù. ÀÌ ÆÄÀÏÀº °´Ã¼ À̸§À» Çؼ®ÇÏ´Â µ¥ »ç¿ëµÇ¹Ç·Î ´ýÇÁµÈ µ¥ÀÌÅÍ µñ¼Å³Ê¸®´Â ·Î±× ÆÄÀÏ¿¡¼­ ¹ß°ßµÇ´Â ¸ðµç °´Ã¼¸¦ Æ÷ÇÔÇØ¾ß ÇÕ´Ï´Ù.

¸®µÎ ·Î±× ÆÄÀÏ Á¤º¸¸¦ ºÐ¼®ÇÏ´Â ¹æ¹ý(°è¼Ó)

2. LogMiner´Â ¿Â¶óÀÎ ¹× ¾ÆÄ«À̺êµÈ ·Î±× ÆÄÀÏÀ» ¸ðµÎ ºÐ¼®ÇÒ ¼ö ÀÖ½À´Ï´Ù. ºÐ¼®À» ½ÃÀÛÇϱâ Àü¿¡ DBMS_LOGMNR.ADD_LOGFILE ÇÁ·Î½ÃÀú¸¦ »ç¿ëÇÏ¿© ºÐ¼®ÇÒ ÆÄÀÏ ¸ñ·ÏÀ» Á¦°øÇØ¾ß ÇÕ´Ï´Ù.

- ÀÌÀü¿¡ Á¦°øµÈ ÆÄÀÏ À̸§À» ¹«½ÃÇÏ°í ºÐ¼®ÇÒ »õ ÆÄÀÏ ¸ñ·ÏÀ» »ý¼ºÇÏ·Á¸é ¸ñ·Ï¿¡ Àִ ù ÆÄÀÏÀÇ À̸§À» ÁöÁ¤ÇÏ´Â µ¿¾È NEW Àμö¸¦ Á¦°øÇÕ´Ï´Ù.

- ÀÌ¹Ì »ý¼ºµÈ ¸ñ·Ï¿¡ ´Ù¸¥ ÆÄÀÏÀ» Ãß°¡ÇÒ ¶§´Â µÎ¹ø° ¿¹Á¦¿¡ Ç¥½ÃµÈ °Íó·³ ADDFILE Àμö¸¦ »ç¿ëÇÕ´Ï´Ù.

ÀÌ ¸ñ·ÏÀ» Á¤ÀÇÇÒ ¶§¿¡´Â µ¿Àû ¼º´É Å×À̺íÀ» »ç¿ëÇÒ ¼ö ÀÖ¾î¾ß ÇÕ´Ï´Ù.

¸®µÎ ·Î±× ÆÄÀÏ Á¤º¸¸¦ ºÐ¼®ÇÏ´Â ¹æ¹ý(°è¼Ó)

3. ºÐ¼®ÇÒ ·Î±× ÆÄÀÏ ¸ñ·ÏÀÌ »ý¼ºµÇ¸é START_LOGMNR ÇÁ·Î½ÃÀú¸¦ È£ÃâÇÏ¿© ºÐ¼®À» ½ÃÀÛÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ ÇÁ·Î½ÃÀú¿¡¼­ »ç¿ëÇÒ ¼ö ÀÖ´Â ¸Å°³º¯¼ö´Â ´ÙÀ½°ú °°½À´Ï´Ù.

- STARTSCN: ºÐ¼®ÇÒ SCN ¹üÀ§ÀÇ ÇÏÇÑ

- ENDSCN: ºÐ¼®ÇÒ SCN ¹üÀ§ÀÇ »óÇÑ

- STARTTIME: ºÐ¼®ÇÒ ½Ã°£ ¹üÀ§ÀÇ ÇÏÇÑÀ» ³ªÅ¸³»´Â ³¯Â¥ °ª

- ENDTIME: ºÐ¼®ÇÒ ½Ã°£ ¹üÀ§ÀÇ »óÇÑÀ» ³ªÅ¸³»´Â ³¯Â¥ °ª

- DICTFILENAME: LogMiner µñ¼Å³Ê¸® ÆÄÀÏ À̸§

4. END_LOGMNR ÇÁ·Î½ÃÀú¸¦ »ç¿ëÇÏ¿© ºÐ¼® ÀÛ¾÷¿¡ »ç¿ëµÈ ÀÚ¿øÀ» ÇØÁ¦ÇÕ´Ï´Ù.

¸®µÎ ·Î±× ÆÄÀÏ Á¤º¸¸¦ ºÐ¼®ÇÏ´Â ¹æ¹ý(°è¼Ó)

5. ·Î±× Á¤º¸¸¦ º¸±â À§ÇØ ºÐ¼®À» ¼öÇàÇÑ ¼¼¼Ç¿¡¼­ V$LOGMNR_CONTENTS ºä¸¦ ÁúÀÇÇÒ ¼ö ÀÖ½À´Ï´Ù. ´Ù¸¥ ¼¼¼Ç¿¡¼­´Â ÀÌ ºä¸¦ ÁúÀÇÇÏ¿© µ¥ÀÌÅ͸¦ º¼ ¼ö ¾ø½À´Ï´Ù. ´Ù¸¥ ¼¼¼Ç¿¡¼­ °á°ú¸¦ º¸°Å³ª ºäÀÇ ³»¿ë¿¡ ´ëÇØ ¿©·¯ °¡Áö ÀÛ¾÷ÀÌ ÇÊ¿äÇÑ °æ¿ì ºäÀÇ Á¤º¸¸¦ Å×ÀÌºí¿¡ ÀúÀåÇØ¾ß ÇÕ´Ï´Ù.

´ÙÀ½Àº V$LOGMNR_CONTENTS ºäÀÇ ÀϺο¡ ´ëÇÑ ¼³¸íÀÔ´Ï´Ù.

¿­

¼³¸í

SCN

SCN(½Ã½ºÅÛ º¯°æ ¹øÈ£)

TIMESTAMP

½Ã°£ ±â·Ï

THREAD#

½º·¹µå ¹øÈ£

LOG_ID

·Î±× ID

XIDUSN

Æ®·£Àè¼Ç ID ½ÇÇà Ãë¼Ò ¼¼±×¸ÕÆ® ¹øÈ£

XIDSLOT

Æ®·£Àè¼Ç ID ½½·Ô ¹øÈ£

XIDSQN

Æ®·£Àè¼Ç ID ½ÃÄö½º ¹øÈ£

ABS_FILE#

µ¥ÀÌÅÍ ºí·Ï Àý´ë ÆÄÀÏ ¹øÈ£

REL_FILE#

µ¥ÀÌÅÍ ºí·Ï »ó´ë ÆÄÀÏ ¹øÈ£

DATA_BLK#

µ¥ÀÌÅÍ ºí·Ï ¹øÈ£

DATA_OBJ#

µ¥ÀÌÅÍ ºí·Ï °´Ã¼ ¹øÈ£

DATA_OBJD#

µ¥ÀÌÅÍ ºí·Ï µ¥ÀÌÅÍ °´Ã¼ ¹øÈ£

SEG_OWNER

¼¼±×¸ÕÆ®ÀÇ ¼ÒÀ¯ÀÚ À̸§

SEG_NAME

¼¼±×¸ÕÆ® À̸§

SEG_TYPE_NAME

¼¼±×¸ÕÆ® À¯Çü

TABLE_SPACE

¼¼±×¸ÕÆ®ÀÇ Å×ÀÌºí½ºÆäÀ̽º À̸§

ROW_ID

Çà ID

SESSION #

¼¼¼Ç ¹øÈ£

SERIAL #

ÀÏ·Ã ¹øÈ£

USERNAME

»ç¿ëÀÚ À̸§

ROLLBACK

·Ñ¹é ¿äû

OPERATION

ÀÛ¾÷

SQL_REDO

SQL ¸®µÎ

SQL_UNDO

SQL ½ÇÇà Ãë¼Ò

INFO

Á¤º¸ ¸Þ½ÃÁö

STATUS

»óÅÂ

Âü°í

º¯°æ ³»¿ë Ãë¼Ò

½ÇÇà Ãë¼Ò°¡ Àû¿ëµÉ Å×ÀÌºí¿¡ Áß¿äÇÑ Á¾¼Ó¼ºÀÌ ¾ø´Â °æ¿ì º¯°æ ³»¿ëÀ» Ãë¼ÒÇÏ¸é ³í¸®Àû ÀÀ¿ë ÇÁ·Î±×·¥ ¿À·ù¸¦ º¹±¸Çϱâ À§ÇØ Æ÷ÀÎÆ® ÀΠŸÀÓ º¹±¸¸¦ ¼öÇàÇÒ Çʿ伺ÀÌ ÃÖ¼ÒÈ­µË´Ï´Ù.

µ¿Àû ºä

Ç¥½ÃµÈ µ¿Àû ¼º´É ºä´Â ºÐ¼® ¼¼¼Ç¿¡¼­ ºÐ¼®¿¡ Á¦°øµÇ´Â µñ¼Å³Ê¸® ÆÄÀÏ, ·Î±× ÆÄÀÏ ¹× Àμö¸¦ °ËÁõÇϱâ À§ÇØ ÁúÀÇÇÒ ¼ö ÀÖ½À´Ï´Ù.

¿ä¾à Á¤º¸

ÄÁÅؽºÆ®

ÂüÁ¶

¸Å°³º¯¼ö

BACKGROUND_DUMP_DEST
DB_BLOCK_CHECKSUM
DB_BLOCK_CHECKING
UTL_FILE_DIR

µ¿Àû ¼º´É ºä

V$LOGMNR_CONTENTS
V$LOGMNR_DICTIONARY
V$LOGMNR_LOGS
V$LOGMNR_PARAMETERS

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

¾øÀ½

ÆÐÅ°Áö ¹× ÇÁ·Î½ÃÀú

DBMS_REPAIR.admin_tables
DBMS_REPAIR.check_object
DBMS_REPAIR.fix_corrupt_blocks
DBMS_REPAIR.skip_corrupt_blocks
DBMS_REPAIR.rebuild_freelists
DBMS_REPAIR.dump_orphan_keys
DBMS_LOGMNR_D.build
DBMS_LOGMNR.add_logfile
DBMS_LOGMNR.start_logmnr
DBMS_LOGMNR.end_logmnr

¸í·É

ANALYZE INDEX ... VALIDATE STRUCTURE
ANALYZE TABLE... VALIDATE STRUCTURE [CASCADE]

À¯Æ¿¸®Æ¼

dbv