Ò»¡¢HA
FAILOVER£¬Oracle RACµÄ¸ß¿ÉÓÃÐԵļ¼Êõ»ù´¡ÊÇFailover£¬¾ÍÊÇÖ¸¼¯ÈºÖеÄÈȺÓÒ»¸ö½ÚµãµÄ¹ÊÕ϶¼²»»áÓ°Ïìµ½Óû§µÄʹÓã¬Á¬½Óµ½¹ÊÕϽڵãµÄÓû§»á±»×Ô¶¯×ªÒƵ½½¡¿µ½Úµã£¬´ÓÓû§¸ßÊÖ¶øÑԸоõ²»µ½ÕâÖÖÇл»£¬Õâ¸ö¹¦ÄÜÔÚOracleÖб»³Æ×÷Failover£¨¹ÊÕÏ×ªÒÆ£©¡£
Oracle RACµÄFailover¿ÉÒÔϸ·ÖΪ3ÖУ¬·Ö±ðÊÇ£º
£¨1£© Client-Side Connect time Failover£»
£¨2£© TAF£»
£¨3£© Server-side TAF£»
×¢Ò⣺
²»ÒªÔÙlistener.oraÖÐÉèÖÃGLOBAL_DB_NAME£¬ÒòΪÕâ¸ö²ÎÊý»á½ûÓÃConnect-time FailoverºÍTransparentApplication Failover¡£
Client-Side Connect time Failover
Client-Side Connect timeFailoverµÄº¬ÒåÊÇ£ºÈç¹û¿Í»§¶ËtnsnameÖÐÅäÖÃÁ˶à¸öµØÖ·£¬Óû§·¢ÆðÇëÇóʱ£¬»áÏȳ¢ÊÔÁ¬½ÓµØÖ·±íÖеĵÚÒ»¸öµØÖ·£¬Èç¹ûÕâ¸öÁ¬½Ó³¢ÊÔʧ°Ü£¬Ôò»á¼ÌÐø³¢ÊÔʹÓõڶþ¸öµØÖ·£¬Ö±ÖÁÁ¬½Ó³É¹¦»òÕß±éÀúÁËËùÓеĵØÖ·¡£
ÕâÖÖFailoverµÄÌØµã´ÓËûµÄÃû³ÆÖС°connect time¡±¾Í±í´ïµÄºÜÇå³þÁË£¬Ö»ÔÚ½¨Á¢Á¬½ÓµÄÄÇһʱ¿ÌÆð×÷Óá£Ò²¾ÍÊÇ˵ÕâÖÖFailover·½Ê½Ö»ÔÚ·¢ÆðÁ¬½Óʱ²ÉÈ¡¸ÐÖª½Úµã¹ÊÕÏ£¬Èç¹û·¢ÏÖ½ÚµãûÓÐÏìÓ¦£¬Ôò×Ô¶¯³¢ÊÔµØÖ·ÁбíµÄÏÂÒ»¸öµØÖ·¡£Ò»µ©Á¬½Ó½¨Á¢ÒԺ󣬽ڵã³öÏÖ¹ÊÕ϶¼²»»á×ö´¦Àí£¬´Ó¿Í»§¶ËµÄ±íÏÖÀ´¿´¾ÍÊǶϿª£¬Óû§³ÌÐò±ØÐëÖØÐ½¨Á¢Á¬½Ó¡£
ÆôÓÃÕâÖÖFailoverµÄ·½·¨¾ÍÊÇÔÚ¿Í»§¶ËµÄtnsnames.oraÖÐÌí¼ÓFAILOVER=ONÌõÄ¿£¬Õâ¸ö²ÎÊýĬÈϾÍÊÇON£¬ËùÒÔ¼´Ê¹²»Ìí¼ÓÕâ¸öÌõÄ¿£¬¿Í»§¶ËÒ²»á»ñµÃÕâÖÖFailoverÄÜÁ¦¡£
TAF£¨Transparent Apllication Failover£©
´ÓÉÏÎĶÔClient-Side Connecttime FailoverÌØµãµÄ·ÖÎö¿ÉÒÔ¿´³ö£¬ÕâÖÖfailoverµÄÒâÒåÓÐÏÞ¡£ÏÂÔØ´ó²¿·ÖÁ÷ÐеÄÓ¦ÓÃϵͳ£¨±ÈÈçWebLogic£¬JBOSS£©¶¼ÊÇÆô¶¯Ê±¾Í½¨Á¢Èô¸Éµ½Êý¾Ý¿âµÄ³¤Á¬½Ó£¬ÔÚÓ¦ÓóÌÐòÕû¸öÉúÃüÖÜÆÚÄÚÖØÓÃÕâЩÁ¬½Ó¡£Client-Side Connect Time FailoverµÄ¹¤×÷·½Ê½ÊÇËü¶ÔÓ¦ÓóÌÐòµÄ¿ÉÓÃÐÔûÓм«´óµØ°ïÖú¡£
´Ó8.1.5°æ±¾OracleÒýÈëÁËеÄFailover»úÖÆTAF.ËùνTAF£¬¾ÍÊÇÁ¬½Ó½¨Á¢ÒÔºó£¬Ó¦ÓóÌÐòÔËÐйý³ÌÖУ¬Èç¹ûij¸öʵÀý·¢Éú¹ÊÕÏ£¬Á¬½Óµ½Õâ¸öʵÀýÉϵÄÓû§»á±»×Ô¶¯Ç¨ÒƵ½ÆäËûµÄ½¡¿µÊµÀýÉÏ¡£¶ÔÓÚÓ¦ÓóÌÐò¶øÑÔ£¬Õâ¸öǧÒÚ¹ý³Ì͸Ã÷¡¢²»ÐèÒªÓû§µÄ½éÈ룬µ±È»ÕâÖÖ͸Ã÷Ò²ÊÇÓÐÒýºÅµÄ£¬ÒòΪÓû§µÄδÌá½»ÊÂÎñ»á»Ø¹ö¡£Ïà¶ÔÓÚClient-Side Connect Time FailoverµÄÓû§³ÌÐò±»Öжϡ¢Å׳öÁ¬½Ó´íÎó¡¢Óû§±ØÐëÖÐÆÚÓ¦ÓóÌÐò£¬TAFÕâÖÖ·½Ê½ÔÚÌá¸ßÓ¦ÓóÌÐòHAÄÜÁ¦ÉÏÎÞÒÉÊÇǰ½øÁËÒ»´ó²½¡£
TAFµÄÅäÖÃÒ²ºÜ¼òµ¥£¬Ö»ÐèÒªÔÚ¿Í»§¶ËµÄtnsnames.oraÖÐÌí¼ÓFAILOVER_MODEÅäÖÃÏÕâ¸öÌõÄ¿ÓÐ4¸ö×ÓÏîÄ¿ÐèÒª¶¨Òå¡£?
FRAC =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = frac1-vip)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = frac2-vip)(PORT = 1521))
(LOAD_BALANCE=YES)
(
CONNECT_DATA=
(SERVER=DEDICATED)
(SERVICE_NAME=FRAC)
(
FAILOVER_MODE=
(TYPE=session)
(METHOD=basic)
(RETRIES=180)
(DELAY=5)
)
)
)
£¨1£© METHODÑ¡ÏîÓÃÓÚ¶¨ÒåºÎʱ´´½¨µ½ÆäËûʵÀýµÄÁ¬½Ó£¬ÓÐBASICºÍPERCONNECTÁ½¸öÑ¡ÏîÖµ¡£
a£® BASICÊÇÖ¸ÔÚ¸ÐÖªµ½½Úµã¹ÊÕÏʱ²Å´´½¨µ½ÆäËûʵÀýµÄÁ¬½Ó¡£
b£® PERCONNECTÊÇÔÚ×î³õ½¨Á¢Á¬½Óʱ¾Íͬʱ½¨Á¢µ½ËùÓÐʵÀýµÄÁ¬½Ó£¬µ±·¢Éú¹ÊÕÏʱ£¬Á¢¿Ì¾Í¿ÉÒÔÇл»µ½ÆäËûÁ´Â·ÉÏ¡£
Á½ÖÖ·½·¨µÄ²»Í¬ºÜÈÝÒױȽϡ£BASIC·½Ê½ÔÚFaioverʱ»áÓÐʱ¼äÑÔ´Ç£¬PERCONNECT·½Ê½ËäȻûÓÐʱ¼äÑÔ´Ç£¬µ«ÊÇÔÙ½¨Á¢¶à¸öÈßÓàÁ½½Ú»áÏûºÄ¸ü¶àµÄ×ÊÔ´£¬Á½Õß¾ÍÊÇÓÃʱ¼ä»»×ÊÔ´ºÍ×ÊÔ´»»Ê±¼äµÄÇø±ð¡£
£¨2£© TypeÑ¡ÏîÓÃÓÚ¶¨ÓÚ·¢Éú¹ÊÕÏʱ¶ÔÍê³ÉµÄSQLÓï¾äÈçºÎ´¦Àí£¬ÆäÓÐÁ½ÖÖÀàÐÍ£ºsessionºÍselect¡£
ÕâÁ½ÖÖ·½Ê½¶ÔÓÚδÌá½»µÄÊÂÎñ¶¼×Ô¶¯»Ø¹ö¡£Çø±ðÔÚÓÚ¶ÔÓÚselectÓï¾äµÄ´¦Àí£¬¶ÔÓÚselectÀàÐÍ£¬Óû§ÕýÔÚÖ´ÐеÄselectÓï¾äÒ²»á±»×ªÒƵ½ÐµÄʵÁ¦ÉÏ£¬ÔÚнڵãÉϼÌÐø·µ»ØºóÐø½á¹û¼¯£¬¶øÒѾ·µ»ØµÄ¼Ç¼½á¹û¼¯Åׯú¡£
¼ÙÉèÓû§ÕýÔÚ½Úµã1ÉÏÖ´Ðвéѯ£¬Õû¸ö½á¹û¼¯¹²ÓÐ100Ìõ¼Ç¼£¬ÏÖÔÚÒ»´Ó½Úµã1ÉÏ·µ»Ø10Ìõ¼Ç¼£¬Õâʱ½Úµã1å´»ú£¬Óû§Á¬½Ó±»×ªÒƵ½½Úµã2ÉÏ£¬Èç¹ûÊÇsession·½Ê½ÔòÐèÒªÖØÐÂÖ´ÐвéѯÓï¾ä£»Èç¹ûÊÇselect·½Ê½»á´Ó½Úµã2ÉϼÌÐø·µ»ØÊ£ÏµÄ90Ìõ¼Ç¼£¬¶þÒѾ´Ó½Úµã1·µ»ØµÄ10Ìõ¼Ç¼²»»áÖØ¸´·µ»Ø¸øÓû§£¬¶ÔÓÚÓû§¶øÑԸоõ²»µ½ÕâÖÖÇл»¡£
ºÜÏÔȻΪÁËʵÏÖselect·½Ê½£¬oracle±ØÐëΪÿ¸ösession±£´æ¸ü¶àµÄÄÚÈÝ£¬°üÀ¨ÓαꡢÓû§¡¢ÉÏÏÂÎĵȣ¬ÐèÒª¸ü¶àµÄ×ÊÔ´Ò²ÊÇÓÃ×ÊÔ´»»Ê±¼äµÄ·½°¸¡£
£¨3£© DELAYºÍRETRIESÕâÁ½¸ö²ÎÊýºÍ¼òµ¥£¬´ú±í×ÅÖØÊÔʱ¼ä¼ä¸ôºÍÖØÊÔ´ÎÊý¡£
Failover£¨TAF£©µÄ²âÊÔ½èÖúÓÚÇ°Ãæ¼àÌýºÍtnsnamesµÄÅäÖ㬶øÔÚ11G R2ûÓÐÒýÈë֮ǰ³öÏÖ¹ÊÕÏÓõÄÊÇÖ±½ÓÓü¯ÈºµÄvip¡°Æ¯¡±½øÐйÊÕÏ×ªÒÆ£¬¶øÔÚ11G R2ÒÔºó£¬ÒýÈëÁËÒ»¸öеÄip£¬¼´SCAN£¨SingleClient Access Name£©IP£¬ScanÊÇÒ»¸öÓòÃû£¬¿ÉÒÔ½âÎö1µ½3¸öscan ip£¬¿Í»§¶Ë¿ÉÒÔͨ¹ýSCANÃû½âÎöÀ´·ÃÎÊÊý¾Ý¿â£¬ÆäºÃ´¦¾ÍÊÇÌí¼ÓºÍɾ³ý½Úµãʱ²»ÐèÒªÔÙÓжîÍâµÄ¿Í»§¶Ëά»¤£¬´ó´ó¼õÉÙÁËά»¤·½ÃæµÄ·±Ëö¹¤×÷¡£
ÔÚ¼¯Èº»·¾³ÖУ¬ÎÒÃÇÅäÖõĿͻ§¶ËÊÇÒÔscan ipµÄ·½Ê½½øÐÐÅäÖõġ£µ±ÎÒÃÇij¸öÓû§ÔÚÍâÃæÁ¬½Ó½øÀ´µÄʱºò£¬¼¯Èº»á×Ô¶¯µÄ¸ù¾Ý¸ºÔذѸûỰÁ¬½Óµ½Ò»¸öÌØ¶¨µÄʵÀý£¬Èç¹û¸Ã»á»°ÕýÔÚselectÒ»¸ö±í£¬»¹Î´Íê³É£¬¸ÃʵÀýå´»úÁË£¬oracle»á×Ô¶¯½«¹ÊÕϽڵãµÄʧÎóÇл»µ½ÁíÒ»¸öʵÀýÖÐÖ´ÐУ¬ÕâÑùµÄÇл»¶ÔÓÚÓû§À´ËµÊÇ͸Ã÷µÄ¡£Óû§²»»á¸Ð¾õµ½Òì³££¬ËùÖ´ÐвÙ×÷Ò²½«·µ»ØÕý³£µÄ½á¹û£¬Õâ¸öÒ²ÊÇRAC¼¯ÈºµÄ¸ß¿ÉÓÃÐÔËùÔÚ¡£
ÒÔÏÂÊÇÔÚsessionģʽ×öµÄÍøÂçfailover²âÊÔ£»
Ê×ÏÈÓû§Óÿͻ§¶Ë·þÎñ½øÐÐÁ¬½Ó£º
[oracle@frac1admin]$ sqlplus scott/oracle@frac
SQL*Plus: Release11.2.0.3.0 Production on Wed Apr 16 01:55:37 2014
Copyright (c) 1982,2011, Oracle. All rights reserved.
Connected to:
Oracle Database 11gEnterprise Edition Release 11.2.0.3.0 - 64bit Production
With thePartitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Data Mining and