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. ÓÃÊʵ±µÄ·½·¨¶ÔÔÊý¾Ý¿â½øÐÐÊý¾Ý¿âÈ«±¸·Ý¡£
davemac ÓÚ 2012-01-19 14:54:02·¢±í:
ºÜºÃ ѧϰÁË
myfreeair999 ÓÚ 2011-12-28 02:26:36·¢±í:
ºÜºÃµÄ·ÖÏí
sujinqing ÓÚ 2011-08-07 16:31:34·¢±í:
²»´í ÒÔºó¿ÉÄÜ»áÓöµ½ÕâÑùµÄÎÊÌâ лл·ÖÏí
dongyichen ÓÚ 2011-08-05 08:57:17·¢±í:
ÊÕ²Øѧϰ~