Oracle Stream Replication¼¼Êõ
Stream ÊÇOracle µÄÏûÏ¢¶ÓÁÐ(Ò²½ÐOracle Advanced Queue)¼¼ÊõµÄÒ»ÖÖÀ©Õ¹Ó¦ÓᣠOracle µÄÏûÏ¢¶ÓÁÐÊÇͨ¹ý·¢²¼/¶©Ôĵķ½Ê½À´½â¾öʼþ¹ÜÀí¡£Á÷¸´ÖÆ(Stream replication)Ö»ÊÇ»ùÓÚËüµÄÒ»¸öÊý¾Ý¹²Ïí¼¼Êõ£¬Ò²¿ÉÒÔ±»ÓÃ×÷Ò»¸ö¿ÉÁé»î¶¨ÖƵĸ߿ÉÓÃÐÔ·½°¸¡£ Ëü¿ÉÒÔʵÏÖÁ½¸öÊý¾Ý¿âÖ®¼äÊý¾Ý¿â¼¶£¬schema¼¶£¬Table¼¶µÄÊý¾Ýͬ²½£¬²¢ÇÒÕâÖÖͬ²½¿ÉÒÔÊÇË«ÏòµÄ¡£ Oracle StreamÒ²ÊÇͨ¹ýÊý¾ÝÈßÓàÀ´Ìá¸ß¿ÉÓÃÐÔ£¬ÕâÒ»µãºÍData Guard ÀàÐÍ¡£
Oracle ¸ß¼¶¸´ÖÆ(Oracle advanced Replication) ºÍÁ÷¸´ÖÆ(Stream Replication) ÊÇ´ÓÃû³ÆºÍ¹¦ÄÜÉ϶¼ÏàËÆµÄÁ½ÖÖ¼¼Êõ¡£ µ«Ç°ÕßÊÇ»ùÓÚ´¥·¢Æ÷µÄ£¬ºóÕßÊÇ»ùÓÚÈÕÖ¾ÍÚ¾ò(Logminer)¼¼Êõ¡£
1. Stream µÄ¹¤×÷ÔÀí
Stream ÊÇOracle Advanced Queue¼¼ÊõµÄÒ»ÖÖÀ©Õ¹Ó¦Ó㬠ÕâÖÖ¼¼Êõ×î»ù±¾µÄÔÀí¾ÍÊÇÊÕ¼¯Ê¼þ£¬°Ñʱ¼ä±£´æÔÚ¶ÓÁÐÖУ¬È»ºó°ÑÕâЩʼþ·¢²¼¸ø²»Í¬µÄ¶©ÔÄÕß¡£ ´ÓDBAµÄ½Ç¶ÈÀ´Ëµ£¬ ¾ÍÊǰѲ¶»ñOracleÊý¾Ý¿â²úÉúµÄRedoÈÕÖ¾£¬È»ºó°ÑÕâЩÈÕ־ͨ¹ýÍøÂç´«²¥µ½¶à¸öÊý¾Ý¿â£¬ÆäËûÊý¾Ý¿âͨ¹ýÓ¦ÓÃÕâЩÈÕÖ¾£¬´ïµ½¸´ÖƱ仯µÄ×÷Óá£
ÔÚStream »·¾³Ï£¬ ¸´ÖÆµÄÆðµãÊý¾Ý¿â½Ð×÷Source Database£¬ ¸´ÖƵÄÖÕµãÊý¾Ý¿â½Ð×÷Target Database¡£ ÔÚÕâÁ½¸öÊý¾Ý¿âÉ϶¼Òª´´½¨Ò»¸ö¶ÓÁУ¬ÆäÖеÄSource DatabaseÉϵÄÊÇ·¢ËͶÓÁУ¬¶øTarget DatabaseÉϵÄÊǽÓÊÕ¶ÓÁС£
Êý¾Ý¿âµÄËùÓвÙ×÷¶¼»á±»¼Ç¼ÔÚÈÕÖ¾ÖС£ ÅäºÃStream»·¾³ºó£¬ ÔÚSource DatabaseÉÏ»áÓÐÒ»¸ö²¶»ñ½ø³Ì(Capture Process), ¸Ã½ø³ÌÀûÓÃLogminer¼¼Êõ´ÓÈÕÖ¾ÖÐÌáÈ¡DDL,DMLÓï¾ä£¬ÕâЩÓï¾äÓÃÒ»ÖÖÌØÊâµÄ¸ñʽ±í´ï£¬½Ð×÷Âß¼±ä¸ü¼Ç¼(Logical Change Record, LCR). Ò»¸öLCR¶ÔÓ¦Ò»¸öÔ×ÓµÄÐбä¸ü£¬Òò´ËÔ´Êý¾Ý¿âÉϵÄÒ»¸öDMLÓï¾ä£¬¿ÉÄܶÔÓ¦Èô¸É¸öLCR¼Ç¼¡£ ÕâЩLCR»á±£´æµ½Sourece DatabaseµÄ±¾µØ·¢ËͶÓÁÐÖС£È»ºó´«²¥½ø³Ì(Propagation Process)°ÑÕâЩ¼Ç¼ͨ¹ýÍøÂç·¢Ë͵½Target DatabaseµÄ½ÓÊÕ¶ÓÁС£ ÔÚTarget DatabaseÉÏ»áÓÐÒ»¸öÓ¦Óýø³Ì(Apply Process)£¬ Õâ¸ö½ø³Ì´Ó±¾µØµÄ½ÓÊÕ¶ÓÁÐÖÐÈ¡³öLCR¼Ç¼£¬È»ºóÔÚ±¾µØÓ¦Óã¬ÊµÏÖÊý¾Ýͬ²½
2. Data Guard ºÍStream Çø±ð
Date GuardÓÐÁ½ÖÖÀàÐÍ£ºphysical sta
Ïà¹ØÎĵµ£º
(1) v$sql
¡¡¡¡Ò»ÌõÓï¾ä¿ÉÒÔÓ³Éä¶à¸öcursor,ÒòΪ¶ÔÏóËùÖ¸µÄcursor¿ÉÒÔÓв»Í¬Óû§(ÈçÀý1)¡£Èç¹ûÓжà¸öcursor(×ÓÓαê)´æÔÚ£¬ÔÚV$SQLAREAΪËùÓÐcursorÌṩ¼¯ºÏÐÅÏ¢¡£
Àý1£º
ÕâÀï½éÉÜÒÔÏÂchild cursor
user A: select * from tbl
user B: select * from tbl
´ó¼ÒÈÏΪÕâÁ½ÌõÓï¾äÊDz»ÊÇÒ»ÑùµÄ°¡£¬¿ÉÄÜ»áÓкܶàÈË»á˵ÊÇÒ»Ñù ......
¸Õ¸ÕÔÚinthirtiesÀÏ´óµÄ²©¿ÍÀï¿´µ½ÕâÆªÎÄÕ£¬Ð´µÄ²»´í£¬ÕýºÃ×Ô¼º×î½üÔÚѧϰPL/SQL£¬×ª¹ýÀ´Ñ§Ï°Ñ§Ï°¡£
==================================================================================
bulk collectÊÇ¿ÉÒÔ¿´×öÊÇÒ»ÖÖÅú»ñÈ¡µÄ·½Ê½£¬ÔÚÎÒÃǵÄplsqlµÄ´úÂë¶ÎÀï¾³£×÷ΪintoµÄÀ©Õ¹À´Ê¹Ó᣶ÔÓÚselect id into v from ... ......
Oracle±¸·Ý¹ÜÀí
×î¼òµ¥µÄOracle Âß¼±¸·ÝÈí¼þ£¬Ç¿´óµÄ¼Æ»®±¸·Ý¼°ÈßÓ౸·Ý¹¦ÄÜ
Èí¼þÌØÉ«£º
1.ÂéȸËäС£¬ÎåÔà¾ãÈ«¡£±¾×ÅʵÓõĽǶȿª·¢Õâ¸öÈí¼þ£¬Í¬Ê±¼æ¹Ë½çÃæÓ빦ÄÜ
2.ÖÇÄÜ»¯±¸·Ý¹¦ÄÜ£¬µ÷ÓÃOracle µÄexp±¸·Ý¹¦ÄÜ£¬ÖÇÄܼì²â±¸·Ý²ÎÊý
3.ÖÇÄÜѹËõ±¸·ÝÎļþ£¬²»Óõ£Ðı¸·ÝÊý¾Ý¹ý´ó¶øÓ²Å̳ÔÁ¦
4.¼°Æä¼òµ¥µÄ²Ù×÷½çÃæ£¬¼¸·ÖÖÓ¼ ......
¿ª·¢×éÔÚÊý¾ÝÇ¨ÒÆÊ±£¬±¨¸æ·¢ÏÖһЩÊýֵΪ'0000/00/00'µÄdateÊý¾Ý£¬µ¼ÖÂÊý¾ÝÇ¨ÒÆÊ§°Ü¡£
Õâ¸öÎÊÌâÓÐµãÆæ¹Ö£¬ÒòΪÔÚOracleÖУ¬dateÀàÐ͵ÄÊý¾ÝµÄȡֵ·¶Î§ÊÇ´Ó-4712/12/31µ½9999/12/31Ö®¼ä£¬²¢ÇÒÄê·Ý²»ÄÜΪ0¡£Ò²¾ÍÊÇ˵'0000/00/00'ÊÇÒ»¸ö·Ç·¨Êý¾Ý£¬²»ÎªOracleËù½ÓÊÜ¡£
SQL> select to_date('0000-00-00', 'yyyy-mm- ......