OracleÊý¾Ý¿âϵͳ½ô¼±¹ÊÕÏ´¦Àí·½·¨

×÷Õß: ckaces 2006-06-27 11:39:34
OracleÎïÀí½á¹¹¹ÊÕÏÊÇÖ¸¹¹³ÉÊý¾Ý¿âµÄ¸÷¸öÎïÀíÎļþË𻵶øµ¼Öµĸ÷ÖÖÊý¾Ý¿â¹ÊÕÏ¡£ÕâЩ¹ÊÕÏ¿ÉÄÜÊÇÓÉÓÚÓ²¼þ¹ÊÕÏÔì³ÉµÄ£¬Ò²¿ÉÄÜÊÇÈËΪÎó²Ù×÷¶øÒýÆð¡£ËùÒÔÎÒÃÇÊ×ÏÈÒªÅжÏÎÊÌâµÄÆðÒò£¬Èç¹ûÊÇÓ²¼þ¹ÊÕÏÔòÊ×ÏÈÒª½â¾öÓ²¼þÎÊÌâ¡£ÔÚÎÞÓ²¼þÎÊÌâµÄÇ°ÌáÏÂÎÒÃDzÅÄÜ°´ÕÕÏÂÃæµÄ´¦Àí·½·¢À´½øÒ»²½´¦Àí¡£

¡¡¡¡¿ØÖÆÎļþË𻵣º

¡¡¡¡¿ØÖÆÎļþ¼Ç¼Á˹ØÓÚoracleµÄÖØÒªÅäÖÃÐÅÏ¢£¬ÈçÊý¾Ý¿âÃû¡¢×Ö·û¼¯Ãû×Ö¡¢¸÷¸öÊý¾ÝÎļþ¡¢ÈÕÖ¾ÎļþµÄλÖõȵÈÐÅÏ¢¡£¿ØÖÆÎļþµÄË𻵣¬»áµ¼ÖÂÊý¾Ý¿âÒì³£¹Ø±Õ¡£Ò»µ©È±ÉÙ¿ØÖÆÎļþ£¬Êý¾Ý¿âÒ²ÎÞ·¨Æô¶¯£¬ÕâÊÇÒ»ÖֱȽÏÑÏÖصĴíÎó¡£

¡¡¡¡Ë𻵵¥¸ö¿ØÖÆÎļþ£º

¡¡¡¡1. È·±£Êý¾Ý¿âÒѾ­¹Ø±Õ£¬Èç¹ûûÓÐÓÃÏÂÃæµÄÃüÁîÀ´¹Ø±ÕÊý¾Ý¿â£º

¡¡¡¡svrmgrl>shutdown immediate;

¡¡¡¡2. ²é¿´³õʼ»¯Îļþ$ORACLE_BASE/admin/pfile/initORCL.ora,È·¶¨ËùÓпØÖÆÎļþµÄ·¾¶¡£
¡¡
¡¡¡¡3. ÓòÙ×÷ϵͳÃüÁÆäËüÕýÈ·µÄ¿ØÖÆÎļþ¸²¸Ç´íÎóµÄ¿ØÖÆÎļþ¡£

¡¡¡¡4. ÓÃÏÂÃæµÄÃüÁîÖØÐÂÆô¶¯Êý¾Ý¿â£º

¡¡¡¡svrmgrl>startup;

¡¡¡¡5. ÓÃÊʵ±µÄ·½·¨½øÐÐÊý¾Ý¿âÈ«±¸·Ý¡£

¡¡¡¡Ëð»µËùÓеĿØÖÆÎļþ£º

¡¡¡¡1. È·±£Êý¾Ý¿âÒѾ­¹Ø±Õ£¬Èç¹ûûÓÐÓÃÏÂÃæµÄÃüÁîÀ´¹Ø±ÕÊý¾Ý¿â£º

¡¡¡¡svrmgrl>shutdown immediate;

¡¡¡¡2. ´ÓÏàÓ¦µÄ±¸·Ý½á¹û¼¯Öлָ´×î½üµÄ¿ØÖÆÎļþ¡£¶ÔÓÚûÓвÉÓôø¿â±¸·ÝµÄµã¿ÉÒÔÖ±½Ó´Ó´Å´øÉϽ«×î½üµÄ¿ØÖÆÎļþ±¸·Ý»Ö¸´µ½ÏàӦĿ¼£»¶ÔÓÚ²ÉÓôø¿â±¸·ÝµÄµãÓÃÏàÓ¦µÄrman½Å±¾À´»Ö¸´×î½üµÄ¿ØÖÆÎļþ¡£

¡¡¡¡3. ÓÃÏÂÃæµÄÃüÁîÀ´´´½¨²úÉúÊý¾Ý¿â¿ØÖÆÎļþµÄ½Å±¾£º

svrmgrl>startup mount;

svrmgrl>alter database backup controlfile to trace noresetlogs;

¡¡¡¡4. Ð޸ĵÚÈý²½²úÉúµÄtraceÎļþ£¬½«ÆäÖйØÓÚ´´½¨¿ØÖÆÎļþµÄÒ»²¿·ÖÓï¾ä¿½±´³öÀ´²¢×öЩÐ޸ģ¬Ê¹µÃËüÄܹ»ÌåÏÖ×îеÄÊý¾Ý¿â½á¹¹¡£¼ÙÉè²úÉúµÄsqlÎļþÃû×ÖΪcreatecontrol.sql.

¡¡¡¡×¢Ò⣺

¡¡¡¡TraceÎļþµÄ¾ßÌå·¾¶¿ÉÒÔÔÚÖ´ÐÐÍêµÚ3£©²½²Ù×÷ºó²é¿´$ORACLE_BASE/admin/bdump/alert_ORCL.oraÎļþÀ´È·¶¨¡£

¡¡¡¡5. ÓÃÏÂÃæÃüÁîÖØд´½¨¿ØÖÆÎļþ£º

¡¡¡¡svrmgrl>shutdown abort;

¡¡¡¡svrmgrl>startup nomount;

¡¡¡¡svrmgrl>@createcontrol.sql;

6. ÓÃÊʵ±µÄ·½·¨½øÐÐÊý¾Ý¿âÈ«±¸·Ý¡£

¡¡¡¡ÖØ×öÈÕÖ¾ÎļþË𻵣º

¡¡¡¡Êý¾Ý¿âµÄËùÓÐÔö¡¢É¾¡¢¸Ä¶¼»á¼Ç¼ÈëÖØ×öÈÕÖ¾¡£Èç¹ûµ±Ç°¼¤»îµÄÖØ×öÈÕÖ¾ÎļþË𻵣¬»áµ¼ÖÂÊý¾Ý¿âÒì³£¹Ø±Õ¡£·Ç¼¤»îµÄÖØ×öÈÕÖ¾×îÖÕÒ²»áÒòΪÈÕÖ¾Çл»±äΪ¼¤»îµÄÖØ×öÈÕÖ¾£¬ËùÒÔË𻵵ķǼ¤»îµÄÖØ×öÈÕÖ¾×îÖÕÒ²»áµ¼ÖÂÊý¾Ý¿âµÄÒì³£ÖÕÖ¹¡£ÔÚipas/mSwitchÖÐÿ×éÖØ×öÈÕÖ¾Ö»ÓÐÒ»¸ö³ÉÔ±£¬ËùÒÔÔÚÏÂÃæµÄ·ÖÎöÖÐÖ»¿¼ÂÇÖØ×öÈÕÖ¾×éË𻵵ÄÇé¿ö£¬¶ø²»¿¼Âǵ¥¸öÖØ×öÈÕÖ¾³ÉÔ±Ë𻵵ÄÇé¿ö¡£

¡¡¡¡È·¶¨Ë𻵵ÄÖØ×öÈÕÖ¾µÄλÖü°Æä״̬£º

¡¡¡¡1. Èç¹ûÊý¾Ý¿â´¦ÓÚ¿ÉÓÃ״̬£º

¡¡¡¡select * from v$logfile;

¡¡¡¡svrmgrl>select * from v$log;

¡¡¡¡2. Èç¹ûÊý¾Ý¿â´¦ÓÚÒѾ­Òì³£ÖÕÖ¹£º

¡¡¡¡svrmlgr>startup mount;
¡¡¡¡svrmgrl>select * from v$logfile;
¡¡¡¡svrmgrl>select * from v$log;

¡¡¡¡ÆäÖУ¬logfileµÄ״̬ΪINVALID±íʾÕâ×éÈÕÖ¾Îļþ³öÏÖÒѾ­Ë𻵣»log״̬ΪInactive£º±íʾÖØ×öÈÕÖ¾Îļþ´¦ÓڷǼ¤»î״̬£»Active£º ±íʾÖØ×öÈÕÖ¾Îļþ´¦ÓÚ¼¤»î״̬£»Current£º±íʾÊÇÖØ×öÈÕ־Ϊµ±Ç°ÕýÔÚʹÓõÄÈÕÖ¾Îļþ¡£

¡¡¡¡Ë𻵵ÄÈÕÖ¾Îļþ´¦ÓڷǼ¤»î״̬£º

¡¡¡¡1. ɾ³ýÏàÓ¦µÄÈÕÖ¾×飺

¡¡¡¡svrmgrl>alter database drop logfile group group_number;

¡¡¡¡2. ÖØд´½¨ÏàÓ¦µÄÈÕÖ¾×飺

¡¡¡¡svrmgrl>alter database add log file group group_number £¨¡¯log_file_descritpion¡¯£¬¡­£© size log_file_size;

¡¡¡¡Ë𻵵ÄÈÕÖ¾Îļþ´¦ÓÚ¼¤»î״̬ÇÒΪ·Çµ±Ç°ÈÕÖ¾£º

¡¡¡¡1. Çå³ýÏàÓ¦µÄÈÕÖ¾×飺

¡¡¡¡svrmgrl>alter database clear unarchived logfile group group_number;

¡¡¡¡Ë𻵵ÄÈÕÖ¾ÎļþΪµ±Ç°»î¶¯ÈÕÖ¾Îļþ£º

¡¡¡¡ÓÃÃüÁîÇå³ýÏàÓ¦µÄÈÕÖ¾×飺

¡¡¡¡svrmgrl>alter database clear unarchived logfile group group_number;

¡¡¡¡Èç¹ûÇå³ýʧ°Ü£¬ÔòÖ»ÄÜ×ö»ùÓÚʱ¼äµãµÄ²»ÍêÈ«»Ö¸´¡£

¡¡¡¡´ò¿ªÊý¾Ý¿â²¢ÇÒÓÃÊʵ±µÄ·½·¨½øÐÐÊý¾Ý¿âÈ«±¸·Ý£º

¡¡¡¡svrmgrl>alter database open;

¡¡¡¡²¿·ÖÊý¾ÝÎļþË𻵣º

¡¡¡¡ÈôË𻵵ÄÊý¾ÝÎļþÊôÓÚ·Çsystem±í¿Õ¼ä£¬ÔòÊý¾Ý¿âÈÔÈ»¿ÉÒÔ´¦ÓÚ´ò¿ª×´Ì¬¿ÉÒÔ½øÐвÙ×÷£¬Ö»ÊÇË𻵵ÄÊý¾ÝÎļþ²»ÄÜ·ÃÎÊ¡£ÕâʱÔÚÊý¾Ý¿â´ò¿ª×´Ì¬Ï¿ÉÒÔµ¥¶À¶ÔË𻵵ÄÊý¾ÝÎļþ½øÐлָ´¡£ÈôÊÇsystem±í¿Õ¼äµÄÊý¾ÝÎļþËð»µÔòÊý¾Ý¿âϵͳ»áÒì³£ÖÕÖ¹¡£ÕâʱÊý¾Ý¿âÖ»ÄÜÒÔMount·½Ê½´ò¿ª£¬È»ºóÔÙ¶ÔÊý¾ÝÎļþ½øÐлָ´¡£¿ÉÒÔͨ¹ý²é¿´Êý¾Ý¿âÈÕÖ¾ÎļþÀ´Åжϵ±Ç°Ë𻵵ÄÊý¾ÝÎļþµ½µ×ÊÇ·ñÊôÓÚsystem±í¿Õ¼ä¡£

¡¡¡¡·Çsystem±í¿Õ¼äµÄÊý¾ÝÎļþËð»µ

¡¡¡¡1. È·¶¨Ë𻵵ÄÎļþÃû×Ö£º

¡¡¡¡svrmgrl>select name from v$datafile where status=¡¯INVALID¡¯;

¡¡¡¡2. ½«Ë𻵵ÄÊý¾ÝÎļþ´¦ÓÚoffline״̬£º

¡¡¡¡svrmgrl>alter database datafile ¡®datafile_name¡¯ offline;

¡¡¡¡3. ´ÓÏàÓ¦µÄ±¸·Ý½á¹û¼¯Öлָ´¹ØÓÚÕâ¸öÊý¾ÝÎļþµÄ×î½üµÄ±¸·Ý¡£¶ÔÓÚûÓвÉÓôø¿â±¸·ÝµÄµã¿ÉÒÔÖ±½Ó´Ó´Å´øÉϻָ´£»¶ÔÓÚÓôø¿â±¸·ÝµÄµãÓÃÏàÓ¦µÄrman½Å±¾À´»Ö¸´¡£

¡¡¡¡4. »Ö¸´Êý¾ÝÎļþ£º

¡¡¡¡svrmgrl>alter database recover datafile ¡®file_name¡¯;

¡¡¡¡5. ʹÊý¾Ý¿âÎļþonline£º

¡¡¡¡svrmgrl>alter database datafile ¡®datafile_name¡¯ online;

¡¡¡¡6. ÓÃÊʵ±µÄ·½·¨½øÐÐÊý¾Ý¿âÈ«±¸·Ý¡£

system±í¿Õ¼äµÄÊý¾ÝÎļþË𻵣º

¡¡¡¡1. ÒÔmount·½Ê½Æô¶¯Êý¾Ý¿â

¡¡¡¡svrmgrl>startup mount;

¡¡¡¡2. ´ÓÏàÓ¦µÄ±¸·Ý½á¹û¼¯Öлָ´¹ØÓÚÕâ¸öÊý¾ÝÎļþµÄ×î½üµÄ±¸·Ý¡£¶ÔÓÚûÓвÉÓôø¿â±¸·ÝµÄµã¿ÉÒÔÖ±½Ó´Ó´Å´øÉϻָ´£»¶ÔÓÚÓôø¿â±¸·ÝµÄµãÓÃÏàÓ¦µÄrman½Å±¾À´»Ö¸´¡£

¡¡¡¡3. »Ö¸´system±í¿Õ¼ä£º

¡¡¡¡svrmgrl>alter database recover datafile ¡®datafile_name¡¯;
¡¡
¡¡¡¡4. ´ò¿ªÊý¾Ý¿â£º

¡¡¡¡svrmgrl>alter database open;

¡¡¡¡5. ÓÃÊʵ±µÄ·½·¨½øÐÐÊý¾Ý¿âÈ«±¸·Ý¡£

¡¡¡¡±í¿Õ¼äË𻵣º

¡¡¡¡Èô·Çsystem±í¿Õ¼äÒѾ­Ë𻵣¬ÔòÊý¾Ý¿âÈÔÈ»¿ÉÒÔ´¦ÓÚ´ò¿ª×´Ì¬¿ÉÒÔ½øÐвÙ×÷£¬Ö»ÊÇË𻵵ıí¿Õ¼ä²»ÄÜ·ÃÎÊ¡£ÕâÑùÔÚÊý¾Ý¿â´ò¿ª×´Ì¬Ï¿ÉÒÔµ¥¶À¶ÔË𻵵ıí¿Õ¼ä½øÐлָ´¡£ÈôÊÇsystem±í¿Õ¼äËð»µÔòÊý¾Ý¿âϵͳ»áÒì³£ÖÕÖ¹¡£ÕâʱÊý¾Ý¿âÖ»ÄÜÒÔMount·½Ê½´ò¿ª£¬È»ºóÔÙ¶Ô±í¿Õ¼ä½øÐлָ´¡£¿ÉÒÔͨ¹ý²é¿´Êý¾Ý¿âÈÕÖ¾ÎļþÀ´Åжϵ±Ç°Ë𻵵ıí¿Õ¼äÊÇ·ñÊÇsystem±í¿Õ¼ä.

¡¡¡¡·Çsystem±í¿Õ¼äË𻵣º

¡¡¡¡1. ½«Ë𻵵ıí¿Õ¼ä´¦ÓÚoffline״̬£º
¡¡
¡¡¡¡svrmgrl>alter tablespace ¡®tablespace_name¡¯ offline;

¡¡¡¡2. ´ÓÏàÓ¦µÄ±¸·Ý½á¹û¼¯Öлָ´¹ØÓÚÕâ¸ö±í¿Õ¼ä×î½üµÄ±¸·Ý¡£¶ÔÓÚûÓвÉÓôø¿â±¸·ÝµÄµã¿ÉÒÔÖ±½Ó´Ó´Å´øÉϻָ´£»¶ÔÓÚÓôø¿â±¸·ÝµÄµãÓÃÏàÓ¦µÄrman½Å±¾À´»Ö¸´¡£

¡¡¡¡3. »Ö¸´±í¿Õ¼ä£º

¡¡¡¡svrmgrl>alter database recover tablespace ¡®tablespace_name¡¯;

¡¡¡¡4. ʹ±í¿Õ¼äonline£º

¡¡¡¡svrmgrl>alter tablespace ¡®tablespace_name¡¯ online;

¡¡¡¡5. ÓÃÊʵ±µÄ·½·¨½øÐÐÊý¾Ý¿âÈ«±¸·Ý.

¡¡¡¡system±í¿Õ¼äË𻵣º

¡¡¡¡1. ÒÔmount·½Ê½Æô¶¯Êý¾Ý¿â

¡¡¡¡svrmgrl>startup mount;

¡¡¡¡2. ´ÓÏàÓ¦µÄ±¸·Ý½á¹û¼¯Öлָ´system±í¿Õ¼ä×î½üµÄ±¸·Ý¡£¶ÔÓÚûÓвÉÓôø¿â±¸·ÝµÄµã¿ÉÒÔÖ±½Ó´Ó´Å´øÉϻָ´£»¶ÔÓÚÓôø¿â±¸·ÝµÄµãÓÃÏàÓ¦µÄrman½Å±¾À´»Ö¸´¡£

¡¡¡¡3. »Ö¸´system±í¿Õ¼ä£º

¡¡¡¡svrmgrl>alter database recover tablespace system;

¡¡¡¡4. ´ò¿ªÊý¾Ý¿â£º

¡¡¡¡svrmgrl>alter database open;

¡¡¡¡5. ÓÃÊʵ±µÄ·½·¨½øÐÐÊý¾Ý¿âÈ«±¸·Ý¡£

¡¡¡¡Õû¸öÊý¾Ý¿âµÄËùÓÐÎļþË𻵣º

¡¡¡¡Õû¸öÊý¾Ý¿âËùÓÐÎļþµÄËð»µÒ»°ãÊÇÔÚ¹²Ïí´ÅÅÌÕóÁз¢ÉúÎÞ·¨»Ö¸´µÄÔÖÄÑʱ²Å·¢Éú£¬ÕâÖÖÇé¿öÏÂÖ»ÄܶÔÊý¾Ý¿â½øÐлָ´¡£ÈôÊý¾Ý¿âµÄ¹éµµÄ¿Â¼Ò²ÒѾ­¶ªÊ§£¬ÔòÊý¾Ý¿â²»¿ÉÄÜ×öÍêÈ«»Ö¸´£¬»áÓÐÓû§Êý¾ÝµÄ¶ªÊ§¡£

¡¡¡¡Ã»²ÉÓôø¿â±¸·ÝµÄÏÖ³¡£º

¡¡¡¡1. ½«×î½üµÄ±¸·Ý´Ó´Å´øÉϰѸ÷¸öÎļþ½â°üµ½ÏàÓ¦µÄĿ¼Ï¡£

¡¡¡¡2. ÒÔmount·½Ê½´ò¿ªÊý¾Ý¿â£º
¡¡
¡¡¡¡svrmgrl>startup mount;

¡¡¡¡3. »Ö¸´Êý¾Ý¿â£º

¡¡¡¡svrmgrl>recover database until cancel;

¡¡¡¡4. ´ò¿ªÊý¾Ý¿â£º

¡¡¡¡svrmgrl>alter database open resetlogs;

¡¡¡¡5. ÓÃÊʵ±µÄ·½·¨½øÐÐÊý¾Ý¿âÈ«±¸·Ý¡£

¡¡¡¡²ÉÓôø¿â±¸·ÝµÄÏÖ³¡£º

¡¡¡¡1. ÒÔnomount·½Ê½´ò¿ªÊý¾Ý¿â£º

¡¡¡¡svrmgrl>startup nomount;

¡¡¡¡2. ͨ¹ýÏàÓ¦µÄrman½Å±¾½øÐÐÊý¾Ý¿âÈí»Ö¸´¡£

¡¡¡¡$rman cmdfile=hot_database_restore.rcv

¡¡¡¡3. ´ò¿ªÊý¾Ý¿â£º

¡¡¡¡svrmgrl>alter database open resetlogs;

¡¡¡¡4. ÓÃÊʵ±µÄ·½·¨½øÐÐÊý¾Ý¿âÈ«±¸·Ý¡£

¡¡¡¡´æÔÚ×î½üµÄÊý¾Ý¿âÍêÕûÀ䱸·ÝÇ°ÌáϵÄһЩ¾­µä½ô¼±Çé¿öµÄ´¦Àí£º

¡¡¡¡Êý¾ÝÎļþ£¬¹éµµÖØ×÷ÈÕÖ¾ºÍ¿ØÖÆÎļþͬʱ¶ªÊ§»òË𻵣º

¡¡¡¡ÎÞÐÂÔöarchives ʱµÄ×´¿ö£º
¡¡
¡¡¡¡Ìõ¼þºÍ¼ÙÉ裺×ÔÉϴξµÏñ±¸·ÝÒÔÀ´ÉÐδÉú³ÉеÄarchive log(s); Archivelog Mode; ÓÐͬ²½µÄdatafile(s) ºÍcontrol file(s) µÄ¾µÏñ£¨À䣩¿½±´

¡¡¡¡»Ö¸´²½Ö裺

¡¡¡¡1. ½«¾µÏñ¿½±´µÄdatafile(s) ºÍcontrol file(s) ³­ËÍ»ØԭʼµØµã:

¡¡¡¡$ cp /backup/good_one.dbf /orig_loc/bad_one.dbf

¡¡¡¡$ cp /backup/control1.ctl /disk1/control1.ctl

¡¡¡¡2. ÒÔmount Ñ¡ÏîÆô¶¯Êý¾Ý¿â£º

¡¡¡¡$ svrmgrl
¡¡
¡¡¡¡svrmgrl> connect internal

¡¡¡¡svrmgrl> startup mount

¡¡¡¡3. ÒԾɵÄcontrol file À´»Ö¸´Êý¾Ý¿â£º

¡¡¡¡svrmgrl> recover database using backup controlfile until cancel;

¡¡¡¡*** ½éÖʻָ´Íê³É
¡¡¡¡
¡¡¡¡£¨±ØÐëÂíÉÏcancel £©

¡¡¡¡4. Reset the logfiles £¨¶ÔÆô¶¯¶øÑÔ²»¿ÉÊ¡ÂÔ£©£º

¡¡¡¡svrmgrl> alter database open resetlogs;

¡¡¡¡5. ¹Ø±ÕÊý¾Ý¿â²¢×öÒ»´ÎÈ«¿âÀ䱸·Ý¡£

ÐÂÔöarchives ʱµÄ×´¿ö£º

¡¡¡¡Ìõ¼þºÍ¼ÙÉ裺×ÔÉϴξµÏñ±¸·ÝÒÔÀ´ÒѾ­Éú³ÉеÄarchive log(s); Archivelog Mode; ÓÐͬ²½µÄdatafile(s) ºÍcontrol file(s) µÄ¾µÏñ£¨À䣩¿½±´£»archive log(s) ¿ÉÓá£

¡¡¡¡»Ö¸´²½Ö裺

¡¡¡¡1. Èç¹ûÊý¾Ý¿âÉÐδ¹Ø±Õ£¬ÔòÊ×ÏÈ°ÑËü¹Ø±Õ£º

¡¡¡¡$ svrmgrl
¡¡
¡¡¡¡svrmgrl> connect internal

¡¡¡¡svrmgrl> shutdown abort

¡¡¡¡2. ½«±¸·ÝÎļþ³­ËÍ»ØԭʼµØµã£º

¡¡¡¡ËùÓÐDatabase Files

¡¡¡¡ËùÓÐControl Files£¨Ã»ÓÐarchive(s) »òredo(s) µÄÇé¿öÏ£¬control files µÄ¸üÐÂÎÞÈκÎÒâÒ壩

¡¡¡¡ËùÓÐOn-Line Redo Logs (Not archives)

¡¡¡¡init.ora file£¨Ñ¡Ï

¡¡¡¡3. Æô¶¯Êý¾Ý¿â£º

¡¡¡¡$ svrmgrl

¡¡¡¡svrmgrl> connect internal

¡¡¡¡svrmgrl> startup

¡¡¡¡Êý¾ÝÎļþ, ÖØ×÷ÈÕÖ¾ºÍ¿ØÖÆÎļþͬʱ¶ªÊ§»òË𻵣º

¡¡¡¡Ìõ¼þºÍ¼ÙÉ裺Archivelog Mode; ÓÐͬ²½µÄËùÓÐËùʧÎļþµÄ¾µÏñ£¨À䣩¿½±´£»archive log(s) ¿ÉÓÃ

¡¡¡¡»Ö¸´²½Ö裨±ØÐë²ÉÓò»ÍêÈ«»Ö¸´µÄÊÖ·¨£©£º
¡¡¡¡
¡¡¡¡1. Èç¹ûÊý¾Ý¿âÉÐδ¹Ø±Õ£¬ÔòÊ×ÏÈ°ÑËü¹Ø±Õ£º

¡¡¡¡$ svrmgrl

¡¡¡¡svrmgrl> connect internal

¡¡¡¡svrmgrl> shutdown abort

¡¡¡¡2. ½«±¸·ÝÎļþ³­ËÍ»ØԭʼµØµã£º

¡¡¡¡ËùÓÐDatabase Files

¡¡¡¡ËùÓÐControl Files

¡¡¡¡ËùÓÐOn-Line Redo Logs(Not archives)

¡¡¡¡init.ora file£¨Ñ¡Ï

¡¡¡¡3. Æô¶¯Êý¾Ý¿âÈ»¶ø²¢²»´ò¿ª£º

¡¡¡¡svrmgrl>startup mount

¡¡¡¡4. ×ö²»ÍêÈ«Êý¾Ý¿â»Ö¸´£¬Ó¦ÓÃËùÓдÓÉϴξµÏñ£¨À䣩±¸·Ýʼ»ýÀÛÆðÀ´µÄarchives£º

¡¡¡¡svrmgrl> recover database until cancel using backup controlfile;

¡¡¡¡......
¡¡¡¡......

¡¡¡¡cancel

¡¡¡¡5. Reset the logfiles £¨¶ÔÆô¶¯¶øÑÔ²»¿ÉÊ¡ÂÔ£©£º

¡¡¡¡svrmgrl> alter database open resetlogs;
¡¡
¡¡¡¡6. ¹Ø±ÕÊý¾Ý¿â²¢×öÒ»´ÎÈ«¿âÀ䱸·Ý¡£

¡¡¡¡Êý¾ÝÎļþºÍ¿ØÖÆÎļþͬʱ¶ªÊ§»òË𻵣º

¡¡¡¡Ìõ¼þºÍ¼ÙÉ裺Archivelog Mode; ÓÐͬ²½µÄdatafile(s) ºÍcontrol file(s) µÄÀ俽±´£»archive log(s) ¿ÉÓÃ

»Ö¸´²½Ö裺

¡¡¡¡1. ½«À俽±´µÄdatafiles(s) ºÍcontrol file(s) ³­ËÍ»ØԭʼµØµã:

¡¡¡¡$ cp /backup/good_one.dbf /orig_loc/bad_one.dbf

¡¡¡¡$ cp /backup/control1.ctl /disk1/control1.ctl

¡¡¡¡2. ÒÔmount Ñ¡ÏîÆô¶¯Êý¾Ý¿â£º

¡¡¡¡$ svrmgrl

¡¡¡¡svrmgrl> connect internal

¡¡¡¡svrmgrl> startup mount
¡¡¡¡
¡¡¡¡3. ÒԾɵÄcontrol file À´»Ö¸´Êý¾Ý¿â£º

¡¡¡¡svrmgrl> recover database until cancel using backup controlfile;

¡¡¡¡*** ½éÖʻָ´Íê³É

¡¡¡¡£¨ÐëÔÚÓ¦ÓÃÍê×îºóÒ»¸öarchive log ºócancel £©

¡¡¡¡4. Reset the logfiles £¨¶ÔÆô¶¯¶øÑÔ²»¿ÉÊ¡ÂÔ£©£º

¡¡¡¡svrmgrl> alter database open resetlogs;

¡¡¡¡ÖØ×÷ÈÕÖ¾ºÍ¿ØÖÆÎļþͬʱ¶ªÊ§»òËð»µÊ±£º

¡¡¡¡Ìõ¼þºÍ¼ÙÉ裺Control Files È«²¿¶ªÊ§»òË𻵣»Archivelog Mode; ÓÐControl Files µÄ¾µÏñ£¨À䣩¿½±´¡£
¡¡¡¡
¡¡¡¡»Ö¸´²½Ö裺

¡¡¡¡1. Èç¹ûÊý¾Ý¿âÉÐδ¹Ø±Õ£¬ÔòÊ×ÏÈ°ÑËü¹Ø±Õ£º

¡¡¡¡$ svrmgrl

¡¡¡¡svrmgrl> connect internal

¡¡¡¡svrmgrl> shutdown abort

¡¡¡¡svrmgrl>exit

¡¡¡¡2. ÒÔControl File µÄ¾µÏñ£¨À䣩¿½±´¸²¸ÇËð»µÁ˵ÄControl File:

¡¡¡¡$ cp /backup/control1.ctl /disk1/control1.ctl

¡¡¡¡3. Æô¶¯Êý¾Ý¿âÈ»¶ø²¢²»´ò¿ª£º

¡¡¡¡$ svrmgrl

¡¡¡¡svrmgrl> connect internal

¡¡¡¡svrmgrl> startup mount

¡¡¡¡4. Drop »µµôµÄredo log £¨ÅųýÓ²¼þ¹ÊÕÏ£©£º

¡¡¡¡svrmgrl> alter database drop logfile group 2;

¡¡¡¡5. ÖØд´½¨redo log:

¡¡¡¡svrmgrl> alter database add logfile group 2 '/orig_loc/log2.dbf' size 10M;
¡¡¡¡
¡¡¡¡6. ÒԾɵÄcontrol file À´»Ö¸´Êý¾Ý¿â£º
¡¡¡¡
¡¡¡¡svrmgrl> recover database until cancel using backup controlfile;

¡¡¡¡£¨±ØÐëÂíÉÏcancel £©

¡¡¡¡7. Reset the logfiles £¨¶ÔÆô¶¯¶øÑÔ²»¿ÉÊ¡ÂÔ£©£º

¡¡¡¡svrmgrl> alter database open resetlogs;

¡¡¡¡8. ¹Ø±ÕÊý¾Ý¿â²¢×öÒ»´ÎÈ«¿âÀ䱸·Ý

¡¡¡¡Ö»·¢Éú¹éµµÖØ×÷ÈÕÖ¾¶ªÊ§»òËð»µÊ±£º

¡¡¡¡¸ù¾Ý²»Í¬»·¾³ºÍÇé¿ö£¬Ñ¡ÔñÏÂÊöÊÖ¶ÎÖ®Ò»£º

¡¡¡¡a. ÂíÉÏbackup È«²¿datafiles £¨Èç¹ûϵͳ²ÉÓÃÒ»°ãÈȱ¸·Ý»òRMAN Èȱ¸·Ý£©

¡¡¡¡b. ÂíÉÏÕý³£¹Ø±ÕÊý¾Ý¿â²¢½øÐÐÀ䱸·Ý£¨Èç¹ûϵͳ²ÉÓÃÀ䱸·Ý£©

¡¡¡¡c. ðÏÕÇ°½ø£¡²»×ö±¸·Ý¶øÈÃÊý¾Ý¿â½Ó×ÅÅÜ£¬Ö±µÈµ½ÏÂÒ»¸ö±¸·ÝÖÜÆÚÔÙ×ö±¸·Ý¡£ÕâÊÇÔÚ¶ÄÊý¾Ý¿âÔÚÏÂÒ»¸ö±¸·ÝÖÜÆÚµ½À´Ö®Ç°²»»áÓÐÐèÒª»Ö¸´µÄ´íÎó·¢Éú¡£

¡¡¡¡×¢Òâ:ðÏÕÇ°½øµÄÑ¡Ôñ£ºÈç¹û·¢Éú´íÎó¶øÐèÒªÊý¾Ý¿â»Ö¸´£¬Ôò×î¶àÖ»Äָܻ´µ½³öÎÊÌâarchive log ֮ǰµÄ²Ù×÷ÏÖ³¡¡£´ÓÁíÒ»¸ö½Ç¶È½²£¬archive log(s) ³öÏÖÎÊÌâʱ£¬Êý¾Ý¿âÈô²»ÐèÒª»Ö¸´ÔòÆä±¾Éí²¢Ã»ÓÐÈκÎÎÊÌâ¡£

OracleÂß¼­½á¹¹¹ÊÕϵĴ¦Àí·½·¨£º

¡¡¡¡Âß¼­½á¹¹µÄ¹ÊÕÏÒ»°ãÖ¸ÓÉÓÚÈËΪµÄÎó²Ù×÷¶øµ¼ÖÂÖØÒªÊý¾Ý¶ªÊ§µÄÇé¿ö¡£ÔÚÕâÖÖÇé¿öÏÂÊý¾Ý¿âÎïÀí½á¹¹ÊÇÍêÕûµÄÒ²ÊÇÒ»Öµġ£¶ÔÓÚÕâÖÖÇé¿ö²ÉÈ¡¶ÔÔ­À´Êý¾Ý¿âµÄÈ«»Ö¸´ÊDz»ºÏÊʵģ¬ÎÒÃÇÒ»°ã²ÉÓÃÈýÖÖ·½·¨À´»Ö¸´Óû§Êý¾Ý¡£
¡¡¡¡¡¡
¡¡¡¡²ÉÓÃexp/imp¹¤¾ßÀ´»Ö¸´Óû§Êý¾Ý£º

¡¡¡¡Èç¹û¶ªÊ§µÄÊý¾Ý´æÔÚÒ»¸öÒÔÇ°ÓÃexpÃüÁîµÄ±¸·Ý£¬Ôò¿ÉÒÔ²ÅÓÃÕâÖÖ·½Ê½¡£

¡¡¡¡1. ÔÚÊý¾Ý¿âÄÚ´´½¨Ò»¸öÁÙʱÓû§£º

¡¡¡¡svrmgrl>create user test_user identified by test;

¡¡¡¡svrmgrl>grant connect£¬resource to test_user;

¡¡¡¡2. ´ÓÒÔÇ°expÃüÁ·ÝµÄÎļþÖаѶªÊ§Êý¾ÝµÄ±í°´ÕÕÓû§·½Ê½µ¹Èë²âÊÔÓû§£º

$imp system/manager file=export_file_name tables=(lost_data_table_name¡­) fromuser=lost_data_table_owner touser=test_user constraint=n;

¡¡¡¡3. ÓÃÏàÓ¦µÄDMLÓï¾ä½«¶ªÊ§µÄÊý¾Ý´Ó²âÊÔÓû§»Ö¸´µ½Ô­Óû§¡£

¡¡¡¡4. ½«²âÊÔÓû§É¾³ý£º

¡¡¡¡svrmgrl>drop user test_user cascede;
¡¡¡¡
¡¡¡¡²ÉÓÃlogminerÀ´»Ö¸´Óû§Êý¾Ý£º

¡¡¡¡LogminerÊÇoracleÌṩµÄÒ»¸öÈÕÖ¾·ÖÎö¹¤¾ß¡£Ëü¿ÉÒÔ¸ù¾ÝÊý¾Ý×Öµä¶ÔÔÚÏßÁª»úÈÕÖ¾¡¢¹éµµÈÕÖ¾½øÐзÖÎö£¬´Ó¶ø¿ÉÒÔ»ñµÃÊý¾Ý¿âµÄ¸÷ÖÖDML²Ù×÷µÄÀúÊ·¼Ç¼ÒÔ¼°¸÷ÖÖDML²Ù×÷µÄ»ØÍËÐÅÏ¢¡£¸ù¾ÝÕâЩÓû§¾Í¿ÉÒÔ½«ÓÉÓÚÎó²Ù×÷¶ø¶ªÊ§µÄÊý¾ÝÖØмÓÈëÊý¾Ý¿âÄÚ¡£

¡¡¡¡1. È·ÈÏÊý¾Ý¿âµÄutl_file_dir²ÎÊýÒѾ­ÉèÖã¬Èç¹ûûÓÐÔòÐèÒª°ÑÕâ¸ö²ÎÊý¼ÓÈëoracleµÄ³õʼ»¯²ÎÊýÎļþ£¬È»ºóÖØÐÂÆô¶¯Êý¾Ý¿â¡£ÏÂÃæÀý×ÓÖмÙÉèutl_file_dir=¡¯/opt/oracle/db01¡¯£»

¡¡¡¡2. ´´½¨logminerËùÐèÒªµÄÊý¾Ý×ÖµäÐÅÏ¢£¬¼ÙÉèÉú³ÉµÄÊý¾Ý×ÖµäÎı¾ÎļþΪdict.ora£º

svrmgrl>execute dbms_logmnr_d.build(dictionary_filename=>'dict.ora'£¬ dictionary_location=>'/opt/oracle/db01¡¯);

¡¡¡¡3. È·¶¨ËùÐèÒª·ÖÎöµÄÈÕÖ¾»òÕ߹鵵ÈÕÖ¾µÄ·¶Î§¡£Õâ¿ÉÒÔ¸ù¾ÝÓû§Îó²Ù×÷µÄʱ¼äÀ´È·¶¨´ó¸ÅµÄÈÕÖ¾·¶Î§¡£¼ÙÉèÓû§Îó²Ù×÷ʱ¿ÉÄܵÄÈÕÖ¾ÎļþΪ/opt/oracle/db02/oradata/ORCL/redo3.logºÍ¹éµµÈÕÖ¾¡¯/opt/oracle/arch/orcl/orclarc_1_113.ora¡¯¡£

¡¡¡¡4. ´´½¨Òª·ÖÎöµÄÈÕÖ¾ÎļþÁÐ±í£¬°´ÈÕÖ¾ÎļþµÄÏȺó˳ÐòÒÀ´Î¼ÓÈ룺

¡¡¡¡svrmgrl>execute dbms_logmnr.add_logfile(logfilename=>¡¯/opt/oracle/arch/orcl/orclarc_1_113.ora¡¯£¬options=>dbms_logmnr.NEW);

svrmgrl> execute dbms_logmnr.add_logfile(logfilename=>¡¯ /opt/oracle/db02/oradata/ORCL/redo3.log¡¯£¬options=>dbms_logmnr.ADDFILE);

¡¡¡¡5. ¿ªÊ¼ÈÕÖ¾·ÖÎö£¬¼ÙÉèÐèÒª·ÖÎöµÄʱ¼äÔÚ¡¯2003-06-28 12:00:00¡¯ºÍ¡¯2003-06-28 13:00:00¡¯Ö®¼ä£º

¡¡¡¡svrmgrl>execute dbms_logmnr.start_logmnr(dictfilename=>¡¯ /opt/oracle/db01/dict.ora¡¯£¬starttime=>to_date(¡¯ 2003-06-28 12:00:00¡¯£¬¡¯YYYY-MM-DD HH:MI:SS¡¯)£¬endtime=>to_date(to_date(¡®2003-06-28 13:00:00¡¯£¬¡¯YYYY-MM-DD HH:MI:SS¡¯));

¡¡¡¡6. »ñÈ¡·ÖÎö½á¹û£º

¡¡¡¡svrmgrl>select operation£¬sql_redo£¬sql_undo from v$logmnr_contents;
¡¡
¡¡¡¡7. ¸ù¾Ý·ÖÎö½á¹ûÐÞ¸´Êý¾Ý¡£

¡¡¡¡8.½áÊølogmnr:

¡¡¡¡svrmgrl>dbms_logmnr.end_logmnr;

¡¡¡¡9. ÓÃÊʵ±µÄ·½·¨¶ÔÔ­Êý¾Ý¿â½øÐÐÊý¾Ý¿âÈ«±¸·Ý¡£ÀûÓñ¸·Ý»Ö¸´Óû§Êý¾Ý£º

¡¡¡¡²ÉÓÃÕâÖÖ·½·¨Ê±²¢²»ÊÇÔÚÔ­Êý¾Ý¿â½øÐлָ´£¬¶øÊÇÀûÓÃÊý¾Ý¿â±¸·ÝÔÚеĻúÆ÷ÉÏÖØн¨Á¢Ò»¸öеÄÊý¾Ý¿â¡£Í¨¹ý±¸·Ý»Ö¸´ÔÚлúÆ÷ÉϽ«Êý¾Ý¿â»Ö¸´µ½Óû§Îó²Ù×÷Ç°£¬ÕâÑù¾Í¿ÉÒÔ»ñµÃ¶ªÊ§µÄÊý¾Ý½«Æä»Ö¸´µ½Ô­Êý¾Ý¿â¡£
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡1. ÔÚеĻúÆ÷ÉÏ°²×°Êý¾Ý¿âÈí¼þ¡£

¡¡¡¡2.¡¡ ¶ÔÓÚ²ÉÓôø¿â±¸·ÝµÄÏÖ³¡£¬ÐèÒªÔÚеÄÊý¾Ý¿â·þÎñÆ÷ÉÏ°²×°µ÷ÊÔÏàÓ¦µÄ±¸·Ý¹ÜÈí¼þ¡£

¡¡¡¡3. ¸ù¾ÝÓû§Îó²Ù×÷µÄʱ¼äµã½øÐлùÓÚʱ¼äµãµÄÊý¾Ý¿â»Ö¸´²Ù×÷¡£¶ÔÓÚûÓвÉÓôø¿â±¸·ÝµÄÏÖ³¡£¬¿ÉÒÔÑ¡È¡Óû§Îó²Ù×÷Ç°×î½üµÄ±¸·Ý´Å´ø½øÐлָ´£»¶ÔÓÚ²ÅÓôø¿â±¸·ÝµÄµã¿ÉÒÔͨ¹ý»ùÓÚʱ¼ä»Ö¸´µã»Ö¸´µÄrman½Å±¾À´½øÐлָ´¡£

¡¡¡¡4.ÖØдò¿ªÊý¾Ý¿â£º

¡¡¡¡svrmgrl>alter database open resetlogs;

¡¡¡¡5. ´ÓеÄÊý¾Ý¿âÖлñÈ¡¶ªÊ§µÄÓû§Êý¾Ý£¬Í¨¹ýDML²Ù×÷½«Æä»Ö¸´µ½Ô­Êý¾Ý¿âÖС£

¡¡¡¡6. ÓÃÊʵ±µÄ·½·¨¶ÔÔ­Êý¾Ý¿â½øÐÐÊý¾Ý¿âÈ«±¸·Ý¡£

Ïà¹Ø×ÊѶ