Oracle¸ß¼¶¸´ÖÆÎ¬»¤×ܽá
(2007-07-16 11:29)
·ÖÀࣺ Oracle
¸ß¼¶¸´ÖÆÊÇoracleÊý¾Ý¿âµÄ¸ß¼¶¹¦ÄÜ,ËüµÄά»¤±ÈÆÕͨÊý¾Ý¿â¸´ÔÓ,ÏÂÃæÊÇÔÚÒÑÓи߼¶¸´ ÖÆÊý¾Ý¿âά»¤¹ý³ÌÖгöÏÖ¹ýһЩÎÊÌâºÍ½â¾ö°ì·¨¡£
1¡¢Îȶ¨µÄÎïÀíÁ´Â·£ºÁ¬½Ó·þÎñÆ÷µÄÍøÂçÓÉÓÚ¹ÊÕ϶Ͽª£¬·þÎñÆ÷±Ë´ËÖ®¼äÊý¾Ý¾Í²»ÄÜ·ÃÎÊ£¬Êý¾ÝÎÞ·¨´«Êä£»ÍøÂç²»Îȶ¨£¬Êý¾Ý¾Í»á·¢Éú¶ª°ü£¬²»ÍêÕû¡£
2¡¢´«ÊäËÙ¶È·½ÃæÒªÇó½Ï¸ß£º·ñÔò»¹²»Èçµ¥¼¶°æ±¾¡£
3¡¢²ÎÓëµÄ·þÎñÆ÷²»Äܳ¤ÆÚ²»¿ª»ú£ºÕâÑù»á»ýѹ´óÁ¿µÄÑÓ³ÙÈÎÎñ£¬µ¼ÖÂÊý¾ÝÎÞ·¨½øÐз¢²¼¡£
4¡¢²ÎÓë¸´ÖÆµÄ±í£¬²»ÄÜÔÚËüÉÏÃæÖ±½ÓÖ´ÐÐÈκÎDDLÓï¾ä£ºÒòΪORACLE×Ô¶¯ÔÚ²ÎÓë¸´ÖÆµÄ±íÉϽ¨Á¢ÁËÄÚ²¿µÄÖ§³Ö¸´ÖƵÄTRIGGERºÍPACKAGE£¬ÔÚËüÉÏÃæÖ±½ÓÖ´ÐÐÈκÎDDLÓï¾ä¶¼»áÆÆ»µÕâЩ¸´ÖÆÖ§³Ö¡£Ó¦¸ÃÏÈSUSPENDÒªÐ޸ıíËùÔڵĸ´ÖÆ×飬ÔÚREPICATION MANAGERÖлòµ÷ÓÃREPCAT APIÖ´ÐÐDDLÓï¾ä£¬È»ºóÖØÐÂGENERATE¸Ã±íµÄ¸´ÖÆÖ§³Ö£¬×îºó½«¸´ÖÆ×é״̬»Ö¸´ÎªNORMAL¡£×¢ÒâÐ޸ıí½á¹¹µÄDDLÓï¾äÖбíÃûǰһ¶¨Òª´øÉÏÊôÖ÷£¬²¢ÇÒ×îºóûÓзֺš£Èç¹û²»Ð¡ÐÄÖ±½ÓÖ´ÐÐÁËDDLÓï¾ä£¬Ó¦¸Ã½«¸Ã±íÒÆ³ö¸´ÖÆ»·¾³£¬É¾µô£¬ÖØÐ½¨Á¢»ò´ÓÆäËü½Úµã¸´ÖƹýÀ´¡£
5¡¢ÐÞ¸ÄÒ»Õűí¼ÓÒ»¸ö×ֶΣ¬²¢ÉèÖÃȱʡֵ£¬Èç ALTER TABLE OWNER.TABLE_NAME ADD(FIELD_NAME VARCHAR2(20) DEFAULT 'AAA');ÔÚ9i֮ǰ²»ÄÜÒ»´ÎÖ´ÐУ¬Òª·Ö³ÉÁ½²¿·ÖÖ´ÐУº 1¡¢ALTER TABLE OWNER.TABLE_NAME ADD FIELD_NAME 2¡¢ALTER TABLE OWNER.TABLE_NAME MODIFY FIELD_NAME DEFAULT 'AAA' ÕâÊÇÒòΪִÐÐÈκÎDDLÓï¾ä£¬ÐèÒªSUSPEND¸´ÖÆ×飬´Ëʱ¸´ÖƱíÖ»Äܲéѯ£¬²»ÄÜÖ´ÐÐÆäËüDMLÓï¾ä¡£Èç¹ûÖ±½Ó¼ÓÉÏÒ»¸ö×Ö¶Îͬʱ¸³Óèȱʡֵ£¬´ËʱµÄ´¦ÀíÊǼÓÉÏÒ»¸ö×ֶΣ¬²¢Á¢¿Ì¸ø¸Ã×ֶθ³Éϸø¶¨µÄȱʡֵ£¬ÕâºóÃæµÄDMLÓï¾äÊDz»ÄÜÖ´Ðеģ¬ËùÒԻᱨ´í¡£¶ø·Ö³ÉÁ½²¿·ÖÖ´ÐУ¬µÚÒ»²¿·ÖÏȼÓÒ»¸ö×ֶΣ¬µÚ¶þ²¿·ÖÔÙÐ޸ĸÃ×ֶε͍Ò壬²»»á·¢Éú²åÈëȱʡֵµÄDML²Ù×÷£¬Òò´Ë¿ÉÒÔÖ´ÐС£
6¡¢Ö´ÐÐÈκÎADMIN REQUEST£¨¶Ô¸´ÖÆ»·¾³µÄ¹ÜÀíÃüÁǰ£¬¶¼Òª±£Ö¤´ËʱûÓжѻýµÄDEFERRED TRANS¡£
7¡¢Ö´ÐÐÈκÎADMIN REQUEST£¬±ØÐëÒ»²½Ò»²½Ö´ÐС£ÒòΪADMIN REQUESTµÄ¹¤×÷ÔÀí£¬ÊÇÓÃÒ»¸öREPCATLOG±í±£´æADMIN REQUESTÓï¾ä£¬Ö´ÐÐÍêÒ»ÌõÏûʧһÌõ£¬ºóÃæµÄÔÙ¼ÌÐøÖ´ÐС£Èç¹ûÇ°ÃæÒ»ÌõûִÐÐÍ꣬ºóÃæµÄADMIN REQUEST¾ÍÎÞ·¨Ö´ÐУ¬¶øREPCATLOG±íÈç¹û²»Îª¿Õ£¬¸´ÖÆ×é¾ÍÎÞ·¨»Ö¸´ÎªNORMAL¡£Òò´Ëÿ´Î·¢³öADMIN REQUESTºó£¬¶¼Òª¼ì²éREPCATLOG±í£¬µ±ËùÓнڵãÉϵÄREPCATLOG±í¶¼Îª¿Õºó£¬²ÅÄÜ·¢³öÏÂÒ»ÌõÃüÁî¡£
8¡¢Èç¹û·¢ÏÖREPCATLOG±íÖÐÓÐÎÞ·¨Ö´ÐеÄÃüÁ¿ÉÒÔÖØÐÂAPPLY»òPURGEµôÔÙÖØÐ·¢³öÃüÁîÖ´ÐС£Èç¹ûÖ»ÊÇijһ¸ö½ÚµãÉÏÓÐÒÅÁôÃüÁ¿ÉÒÔÔڸýڵãÉ϶àAPPLY¼¸´ÎÖ´ÐС£
9¡¢Èç¹û·¢³öÃüÁîºóһֱûÓÐÏìÓ¦£¬¶øADMIN REQUESTÓÖÎÞ·¨PURGEµô£¬ÏÖÏóÀàËÆËÀËø¡£¿ÉÒÔÊÔ×ÅBROKENµô¸ÃADMIN REQUEST¶ÔÓ¦µÄJOB£¬ÖØÐÂË¢ÐÂÃüÁî¡£Èç¹ûÃüÁîÄܼÌÐøÖ´ÐУ¬»Ö¸´JOBµÄ״̬¡£Èç¹û»¹²»ÐУ¬´ÓV$SESSION ºÍV$LOCKÖвé³öËÀËø£¬ÓÃALTER SYSTEM KILL SESSION ɱµôËÀËøµÄ½ø³Ì£¬Èç¹û»¹ÊÇɱ²»µô¡£¾ÍÐèÒª²é³öÀàÐÍΪ'RQ'µÄ·Ö²¼Ê½ËÀËø£¬ÓÃSIDÔÙ´ÓV$PROCESS¡¢V$BGPROCESS²é³ö¶ÔÓ¦µÄºǫ́½ø³Ì£¬´Ó²Ù×÷ϵͳ¼¶É±µôºǫ́½ø³ÌµÄ·½Ê½À´½âËø£¬¿ÉÄÜ»¹ÐèÒªÖØÆôÊý¾Ý¿â¡£×îºóÔÙ»Ö¸´JOBµÄ״̬ºÍÆäËûÉæ¼°µÄ¸´ÖÆ»·¾³×´Ì¬¡£
10¡¢¿ÉÒÔͨ¹ýREPLICATION MANAGER»òÏà¹ØÏµÍ³±í²éѯ¸´ÖÆ»·¾³Çé¿ö£¬ÒÔREPADMINÓû§µÇ½£º
²é¿´¸´ÖÆ×éºÍ¸´ÖƶÔÏó£º ¡¡¡¡
select gname,status from dba_repgroup;--ÆäÖÐgname ¼´Îª¸´ÖÆ×éÃû,status ±íʾ״̬¡¡¡¡
select gname,oname,status from dba_repobject where type =¡¯TABLE¡¯ and oname=¡®table_name¡¯;
Òª²éѯijÕűíÔÚÄĸö¸´ÖÆ×éÖУ¬½«table_name Ìæ»»³É±íÃû£¬×¢Òâ±íÃûÒ»¶¨Òª´óд¡£²é¿´·Ö²¼Ê½×´Ì¬£º ¡¡¡¡
select job,what,next_sec,this_sec,last_sec,failures,broken from dba_jobs;failures СÓÚ16£¬broken ΪN ±íʾ·Ö²¼Ê½×´Ì¬Õý³£¡¡
¡¡ ²é¿´Êý¾Ý¿âÁ¬½Ó: ¡¡¡¡
select * from dba_db_links;¡¡
¡¡ »Ö¸´´«²¥¸´ÖÆÈÎÎñ µ±Á¬½Ó¸´ÖÆ»·¾³ÖÐÊý¾Ý¿âµÄÍøÂç³öÏÖÎÊÌ⣬¿ÉÄÜ»áÔì³É¸´ÖÆÈÎÎñµÄÍ£Ö¹¡£¾ßÌåÏÖÏó±íÏÖΪ±¾µØÊý¾Ý¿âµÄ¸üвÙ×÷ûÓз¢²¼µ½Ô¶µØÊý¾Ý¿âÖС£µ±³öÏÖÕâÖÖÇé¿öʱ£¬Çë²Î¿¼Ç°ÃæÌáµ½µÄ²é¿´·Ö²¼Ê½×´Ì¬µÄ·½·¨£¬¼ì²é¸´ÖÆÈÎÎñÊÇ·ñÕý³£¡£Èç¹ûfailures ´óÓÚµÈÓÚ16£¬broken ΪY ±íʾ·Ö²¼Ê½×´Ì¬²»Õý³££¬ÐèÒª»Ö¸´´«²¥¸´ÖÆÈÎÎñexec dbms_job.run(jobno);-- jobno ΪÔÚdba_jobs ±íÖÐfailures ´óÓÚµÈÓÚ16£¬ broken ΪY µÄjob¡£¡¡
¡¡ ²é¿´Ö´Ðгö´íµÄÊÂÎñ,µ±·Ö²¼Ê½Êý¾Ý¿â³öÏÖ²»Õý³£Ê±£¬ÇëÖ´ÐÐÏÂÁÐÓï¾ä£¬²¢¸ù¾Ý²éѯµÄerror_msg À´½â¾öÎÊÌâ¡£ ¡¡¡¡
select distinct origin_tran_db,destination,error_msg from deferror;¡¡
¡¡ ³¢ÊÔÖ´Ðгö´íµÄÊÂÎñ,¸ù¾Ý²éѯµÄerror_msg ½â¾öÁËÍøÂçÎÞ·¨Á¬½ÓµÈÎÊÌâºó£¬ÇëÖ´ÐÐÏÂÁÐÓï¾ä£¬²¢¿½±´Éú³ÉµÄÆ´½Óexec Óï¾äÔÚ¿Í»§¶ËÖ´ÐС£ ¡¡¡¡
select ' exec dbms_defer_sys.execute_error ( ' ' ' || DEFERRED_TRAN_ID|| ' ' ' , ' ' ' ||DESTINATION || ' ' ' )' from deferror;
¡¡¡¡ ɾ³ýÖ´Ðгö´íµÄÊÂÎñ,¿ÉÄÜ»áÓöµ½ÕâÑùÒ»ÖÖ×´¿ö£¬³¢ÊÔÖ´Ðгö´íµÄÊÂÎñ£¬¸ÃÊÂÎñÒÀ¾ÉÖ´Ðв»³É¹¦¡£Èç¹û´Ëʱdeferror ±íÖеÄerror_msg ¶¼ÊÇ¡°NO DATA FOUND¡±µÄ´íÎó£¬ÄÇô¿ÉÒÔ¿¼ÂÇɾ³ýÖ´Ðгö´íµÄÊÂÎñ¡£ÇëÌØ±ð×¢Ò⣬±ØÐëÈ·ÈÏÒѾ½â¾öÁ˳ö´íÔÒò£¬²¢ÔÚÿ¸ö·Ö²¼Ê½½Úµã¶¼³¢ÊÔÖ´Ðгö´íµÄÊÂÎñºó£¬²Å¿ÉÒÔɾ³ýÔÙ´ÎÖ´Ðгö´íµÄÊÂÎñ£¬·ñÔò»á
Ôì³É·Ö²¼Ê½Êý¾Ý¿âµÄÊý¾Ý²»Ò»Ö¡£
11¡¢Òì³£Çé¿öµÄ´¦Àí£º
1¡¢Îȶ¨µÄÎïÀíÁ´Â·£ºÁ¬½Ó·þÎñÆ÷µÄÍøÂçÓÉÓÚ¹ÊÕ϶Ͽª£¬·þÎñÆ÷±Ë´ËÖ®¼äÊý¾Ý¾Í²»ÄÜ·ÃÎÊ£¬Êý¾ÝÎÞ·¨´«Êä£»ÍøÂç²»Îȶ¨£¬Êý¾Ý¾Í»á·¢Éú¶ª°ü£¬²»ÍêÕû¡£
2¡¢´«ÊäËÙ¶È·½ÃæÒªÇó½Ï¸ß£º·ñÔò»¹²»Èçµ¥¼¶°æ±¾¡£
3¡¢²ÎÓëµÄ·þÎñÆ÷²»Äܳ¤ÆÚ²»¿ª»ú£ºÕâÑù»á»ýѹ´óÁ¿µÄÑÓ³ÙÈÎÎñ£¬µ¼ÖÂÊý¾ÝÎÞ·¨½øÐз¢²¼¡£
4¡¢²ÎÓë¸´ÖÆµÄ±í£¬²»ÄÜÔÚËüÉÏÃæÖ±½ÓÖ´ÐÐÈκÎDDLÓï¾ä£ºÒòΪORACLE×Ô¶¯ÔÚ²ÎÓë¸´ÖÆµÄ±íÉϽ¨Á¢ÁËÄÚ²¿µÄÖ§³Ö¸´ÖƵÄTRIGGERºÍPACKAGE£¬ÔÚËüÉÏÃæÖ±½ÓÖ´ÐÐÈκÎDDLÓï¾ä¶¼»áÆÆ»µÕâЩ¸´ÖÆÖ§³Ö¡£Ó¦¸ÃÏÈSUSPENDÒªÐ޸ıíËùÔڵĸ´ÖÆ×飬ÔÚREPICATION MANAGERÖлòµ÷ÓÃREPCAT APIÖ´ÐÐDDLÓï¾ä£¬È»ºóÖØÐÂGENERATE¸Ã±íµÄ¸´ÖÆÖ§³Ö£¬×îºó½«¸´ÖÆ×é״̬»Ö¸´ÎªNORMAL¡£×¢ÒâÐ޸ıí½á¹¹µÄDDLÓï¾äÖбíÃûǰһ¶¨Òª´øÉÏÊôÖ÷£¬²¢ÇÒ×îºóûÓзֺš£Èç¹û²»Ð¡ÐÄÖ±½ÓÖ´ÐÐÁËDDLÓï¾ä£¬Ó¦¸Ã½«¸Ã±íÒÆ³ö¸´ÖÆ»·¾³£¬É¾µô£¬ÖØÐ½¨Á¢»ò´ÓÆäËü½Úµã¸´ÖƹýÀ´¡£
5¡¢ÐÞ¸ÄÒ»Õűí¼ÓÒ»¸ö×ֶΣ¬²¢ÉèÖÃȱʡֵ£¬Èç ALTER TABLE OWNER.TABLE_NAME ADD(FIELD_NAME VARCHAR2(20) DEFAULT 'AAA');ÔÚ9i֮ǰ²»ÄÜÒ»´ÎÖ´ÐУ¬Òª·Ö³ÉÁ½²¿·ÖÖ´ÐУº 1¡¢ALTER TABLE OWNER.TABLE_NAME ADD FIELD_NAME 2¡¢ALTER TABLE OWNER.TABLE_NAME MODIFY FIELD_NAME DEFAULT 'AAA' ÕâÊÇÒòΪִÐÐÈκÎDDLÓï¾ä£¬ÐèÒªSUSPEND¸´ÖÆ×飬´Ëʱ¸´ÖƱíÖ»Äܲéѯ£¬²»ÄÜÖ´ÐÐÆäËüDMLÓï¾ä¡£Èç¹ûÖ±½Ó¼ÓÉÏÒ»¸ö×Ö¶Îͬʱ¸³Óèȱʡֵ£¬´ËʱµÄ´¦ÀíÊǼÓÉÏÒ»¸ö×ֶΣ¬²¢Á¢¿Ì¸ø¸Ã×ֶθ³Éϸø¶¨µÄȱʡֵ£¬ÕâºóÃæµÄDMLÓï¾äÊDz»ÄÜÖ´Ðеģ¬ËùÒԻᱨ´í¡£¶ø·Ö³ÉÁ½²¿·ÖÖ´ÐУ¬µÚÒ»²¿·ÖÏȼÓÒ»¸ö×ֶΣ¬µÚ¶þ²¿·ÖÔÙÐ޸ĸÃ×ֶε͍Ò壬²»»á·¢Éú²åÈëȱʡֵµÄDML²Ù×÷£¬Òò´Ë¿ÉÒÔÖ´ÐС£
6¡¢Ö´ÐÐÈκÎADMIN REQUEST£¨¶Ô¸´ÖÆ»·¾³µÄ¹ÜÀíÃüÁǰ£¬¶¼Òª±£Ö¤´ËʱûÓжѻýµÄDEFERRED TRANS¡£
7¡¢Ö´ÐÐÈκÎADMIN REQUEST£¬±ØÐëÒ»²½Ò»²½Ö´ÐС£ÒòΪADMIN REQUESTµÄ¹¤×÷ÔÀí£¬ÊÇÓÃÒ»¸öREPCATLOG±í±£´æADMIN REQUESTÓï¾ä£¬Ö´ÐÐÍêÒ»ÌõÏûʧһÌõ£¬ºóÃæµÄÔÙ¼ÌÐøÖ´ÐС£Èç¹ûÇ°ÃæÒ»ÌõûִÐÐÍ꣬ºóÃæµÄADMIN REQUEST¾ÍÎÞ·¨Ö´ÐУ¬¶øREPCATLOG±íÈç¹û²»Îª¿Õ£¬¸´ÖÆ×é¾ÍÎÞ·¨»Ö¸´ÎªNORMAL¡£Òò´Ëÿ´Î·¢³öADMIN REQUESTºó£¬¶¼Òª¼ì²éREPCATLOG±í£¬µ±ËùÓнڵãÉϵÄREPCATLOG±í¶¼Îª¿Õºó£¬²ÅÄÜ·¢³öÏÂÒ»ÌõÃüÁî¡£
8¡¢Èç¹û·¢ÏÖREPCATLOG±íÖÐÓÐÎÞ·¨Ö´ÐеÄÃüÁ¿ÉÒÔÖØÐÂAPPLY»òPURGEµôÔÙÖØÐ·¢³öÃüÁîÖ´ÐС£Èç¹ûÖ»ÊÇijһ¸ö½ÚµãÉÏÓÐÒÅÁôÃüÁ¿ÉÒÔÔڸýڵãÉ϶àAPPLY¼¸´ÎÖ´ÐС£
9¡¢Èç¹û·¢³öÃüÁîºóһֱûÓÐÏìÓ¦£¬¶øADMIN REQUESTÓÖÎÞ·¨PURGEµô£¬ÏÖÏóÀàËÆËÀËø¡£¿ÉÒÔÊÔ×ÅBROKENµô¸ÃADMIN REQUEST¶ÔÓ¦µÄJOB£¬ÖØÐÂË¢ÐÂÃüÁî¡£Èç¹ûÃüÁîÄܼÌÐøÖ´ÐУ¬»Ö¸´JOBµÄ״̬¡£Èç¹û»¹²»ÐУ¬´ÓV$SESSION ºÍV$LOCKÖвé³öËÀËø£¬ÓÃALTER SYSTEM KILL SESSION ɱµôËÀËøµÄ½ø³Ì£¬Èç¹û»¹ÊÇɱ²»µô¡£¾ÍÐèÒª²é³öÀàÐÍΪ'RQ'µÄ·Ö²¼Ê½ËÀËø£¬ÓÃSIDÔÙ´ÓV$PROCESS¡¢V$BGPROCESS²é³ö¶ÔÓ¦µÄºǫ́½ø³Ì£¬´Ó²Ù×÷ϵͳ¼¶É±µôºǫ́½ø³ÌµÄ·½Ê½À´½âËø£¬¿ÉÄÜ»¹ÐèÒªÖØÆôÊý¾Ý¿â¡£×îºóÔÙ»Ö¸´JOBµÄ״̬ºÍÆäËûÉæ¼°µÄ¸´ÖÆ»·¾³×´Ì¬¡£
10¡¢¿ÉÒÔͨ¹ýREPLICATION MANAGER»òÏà¹ØÏµÍ³±í²éѯ¸´ÖÆ»·¾³Çé¿ö£¬ÒÔREPADMINÓû§µÇ½£º
²é¿´¸´ÖÆ×éºÍ¸´ÖƶÔÏó£º ¡¡¡¡
select gname,status from dba_repgroup;--ÆäÖÐgname ¼´Îª¸´ÖÆ×éÃû,status ±íʾ״̬¡¡¡¡
select gname,oname,status from dba_repobject where type =¡¯TABLE¡¯ and oname=¡®table_name¡¯;
Òª²éѯijÕűíÔÚÄĸö¸´ÖÆ×éÖУ¬½«table_name Ìæ»»³É±íÃû£¬×¢Òâ±íÃûÒ»¶¨Òª´óд¡£²é¿´·Ö²¼Ê½×´Ì¬£º ¡¡¡¡
select job,what,next_sec,this_sec,last_sec,failures,broken from dba_jobs;failures СÓÚ16£¬broken ΪN ±íʾ·Ö²¼Ê½×´Ì¬Õý³£¡¡
¡¡ ²é¿´Êý¾Ý¿âÁ¬½Ó: ¡¡¡¡
select * from dba_db_links;¡¡
¡¡ »Ö¸´´«²¥¸´ÖÆÈÎÎñ µ±Á¬½Ó¸´ÖÆ»·¾³ÖÐÊý¾Ý¿âµÄÍøÂç³öÏÖÎÊÌ⣬¿ÉÄÜ»áÔì³É¸´ÖÆÈÎÎñµÄÍ£Ö¹¡£¾ßÌåÏÖÏó±íÏÖΪ±¾µØÊý¾Ý¿âµÄ¸üвÙ×÷ûÓз¢²¼µ½Ô¶µØÊý¾Ý¿âÖС£µ±³öÏÖÕâÖÖÇé¿öʱ£¬Çë²Î¿¼Ç°ÃæÌáµ½µÄ²é¿´·Ö²¼Ê½×´Ì¬µÄ·½·¨£¬¼ì²é¸´ÖÆÈÎÎñÊÇ·ñÕý³£¡£Èç¹ûfailures ´óÓÚµÈÓÚ16£¬broken ΪY ±íʾ·Ö²¼Ê½×´Ì¬²»Õý³££¬ÐèÒª»Ö¸´´«²¥¸´ÖÆÈÎÎñexec dbms_job.run(jobno);-- jobno ΪÔÚdba_jobs ±íÖÐfailures ´óÓÚµÈÓÚ16£¬ broken ΪY µÄjob¡£¡¡
¡¡ ²é¿´Ö´Ðгö´íµÄÊÂÎñ,µ±·Ö²¼Ê½Êý¾Ý¿â³öÏÖ²»Õý³£Ê±£¬ÇëÖ´ÐÐÏÂÁÐÓï¾ä£¬²¢¸ù¾Ý²éѯµÄerror_msg À´½â¾öÎÊÌâ¡£ ¡¡¡¡
select distinct origin_tran_db,destination,error_msg from deferror;¡¡
¡¡ ³¢ÊÔÖ´Ðгö´íµÄÊÂÎñ,¸ù¾Ý²éѯµÄerror_msg ½â¾öÁËÍøÂçÎÞ·¨Á¬½ÓµÈÎÊÌâºó£¬ÇëÖ´ÐÐÏÂÁÐÓï¾ä£¬²¢¿½±´Éú³ÉµÄÆ´½Óexec Óï¾äÔÚ¿Í»§¶ËÖ´ÐС£ ¡¡¡¡
select ' exec dbms_defer_sys.execute_error ( ' ' ' || DEFERRED_TRAN_ID|| ' ' ' , ' ' ' ||DESTINATION || ' ' ' )' from deferror;
¡¡¡¡ ɾ³ýÖ´Ðгö´íµÄÊÂÎñ,¿ÉÄÜ»áÓöµ½ÕâÑùÒ»ÖÖ×´¿ö£¬³¢ÊÔÖ´Ðгö´íµÄÊÂÎñ£¬¸ÃÊÂÎñÒÀ¾ÉÖ´Ðв»³É¹¦¡£Èç¹û´Ëʱdeferror ±íÖеÄerror_msg ¶¼ÊÇ¡°NO DATA FOUND¡±µÄ´íÎó£¬ÄÇô¿ÉÒÔ¿¼ÂÇɾ³ýÖ´Ðгö´íµÄÊÂÎñ¡£ÇëÌØ±ð×¢Ò⣬±ØÐëÈ·ÈÏÒѾ½â¾öÁ˳ö´íÔÒò£¬²¢ÔÚÿ¸ö·Ö²¼Ê½½Úµã¶¼³¢ÊÔÖ´Ðгö´íµÄÊÂÎñºó£¬²Å¿ÉÒÔɾ³ýÔÙ´ÎÖ´Ðгö´íµÄÊÂÎñ£¬·ñÔò»á
Ôì³É·Ö²¼Ê½Êý¾Ý¿âµÄÊý¾Ý²»Ò»Ö¡£
11¡¢Òì³£Çé¿öµÄ´¦Àí£º
£ £ ¼ì²é¸´Öƹ¤×÷Õý³£·ñ£¬¿ÉÒÔÔÚrepadmin Óû§Ï²éѯuser_jobs
£ £ SQL>select job,this_date,next_date,what, broken from user_jobs;
£ £ SQL>select job,this_date,next_date,what, broken from user_jobs;
£ £ Õý³£µÄ״̬ÓÐÁ½ÖÖ£ºÈÎÎñÏÐ--this_dateΪ¿Õ£¬next_dateΪµ±Ç°Ê±¼äºóµÄÒ»¸öʱ¼äÖµ£»ÈÎÎñæ--this_date²»Îª¿Õ£¬next_dateΪµ±Ç°Ê±¼äºóµÄÒ»¸öʱ¼äÖµ¡£Ò쳣״̬ҲÓÐÁ½ÖÖ£ºÈÎÎñËÀËø--next_dateΪµ±Ç°Ê±¼äǰµÄÒ»¸öʱ¼äÖµ£»ÈÎÎñËÀËø--next_dateΪ·Ç ³£´óµÄÒ»¸öʱ¼äÖµ£¬ÀýÈ磺4001-01-01¡£Õâ¿ÉÄÜÒòÎªÍøÂçÖжÏÕճɵÄËÀËø¡£½â³ýËÀËøµÄ°ì·¨£º
£ £ $ps -ef|grep orale
£ £ ÕÒµ½ËÀËøµÄˢпìÕյĽø³ÌºÅora_snp*£¬ÓÃkill -9 ÃüÁîɾ³ý´Ë½ø³Ì£¬È»ºó½øÈërepadmin Óû§SQL>²Ù×÷·ûÏ£¬ÔËÐÐÃüÁ
£ £ SQL>exec dbms_job.run(job_number);
£ £ ˵Ã÷£ºjob_number ΪÓÃselect job,this_date,next_date,what from user_jobs;ÃüÁî²é³öµÄjob±àºÅ¡£
£ £ ˵Ã÷£ºjob_number ΪÓÃselect job,this_date,next_date,what from user_jobs;ÃüÁî²é³öµÄjob±àºÅ¡£
£ £ Ôö¼Ó»ò¼õÉÙ¸´ÖÆ×éµÄ¸´ÖƶÔÏó£º
£ £ Í£Ö¹Ö÷Êý¾Ý¿â½ÚµãµÄ¸´Öƶ¯×÷£¬Ê¹Í¬²½×éµÄ״̬ÓÉÕý³£(normal)¸ÄΪͣ¶Ù(quiesced )¡£ÓÃrepadminÉí·ÝµÇ¼ChinaÊý¾Ý¿â£¬ÔËÐÐÒÔÏÂÃüÁ
SQL>execute dbms_repcat.suspend_master_activity (gname => 'repg');
£ £
ÔÚ¸´ÖÆ×éscott_mgÀï¼ÓÈëÊý¾Ý¿â¶ÔÏ󣬱£Ö¤Êý¾Ý¿â¶ÔÏó±ØÐëÓÐÖ÷¹Ø¼ü×Ö¡£
SQL>execute dbms_repcat.create_master_repobject(sname=>'cqm',oname=>'test', £ £ type=>'table',use_existing_object=>true,gname=>'repg');
SQL>execute dbms_repcat.suspend_master_activity (gname => 'repg');
£ £
ÔÚ¸´ÖÆ×éscott_mgÀï¼ÓÈëÊý¾Ý¿â¶ÔÏ󣬱£Ö¤Êý¾Ý¿â¶ÔÏó±ØÐëÓÐÖ÷¹Ø¼ü×Ö¡£
SQL>execute dbms_repcat.create_master_repobject(sname=>'cqm',oname=>'test', £ £ type=>'table',use_existing_object=>true,gname=>'repg');
£ £ ¶Ô¼ÓÈëµÄÊý¾Ý¿â¶ÔÏó²úÉú¸´ÖÆÖ§³Ö£º
£ £ SQL>execute dbms_repcat.generate_replication_support('scott','emp','table');
£ £ SQL>execute dbms_repcat.generate_replication_support('scott','emp','table');
£ £ ÔÚ¸´ÖÆ×éscott_mgÀïɾ³ýÊý¾Ý¿â¶ÔÏó£º
£ £ SQL>execute dbms_repcat.drop_master_repobject ('cqm','test','table');
£ £
ÐÂʹͬ²½×éµÄ״̬ÓÉÍ£¶Ù(quiesced )¸ÄΪÕý³£(normal)¡£
SQL> execute dbms_repcat.resume_master_activity('repg',false);
£ £ SQL>execute dbms_repcat.drop_master_repobject ('cqm','test','table');
£ £
ÐÂʹͬ²½×éµÄ״̬ÓÉÍ£¶Ù(quiesced )¸ÄΪÕý³£(normal)¡£
SQL> execute dbms_repcat.resume_master_activity('repg',false);


