1. æ¥ç¶ãã§ã¤ã«ãªã¼ãã¼
ãæ¥ç¶ãã§ã¤ã«ãªã¼ãã¼ã¯ãä½ããã®é害ã«ããRACãã¼ã¿ãã¼ã¹ã¸ã®æ¥ç¶ã確ç«ã§ããªãå ´åã«ä»ã®ãã¼ãã¸åæ¥ç¶ããæ©è½ã§ãã
ãOracle RAC ã«ã¯æ°è¦æ¥ç¶æã«ã¨ã©ã¼ãçºçããå ´åã«åæ¥ç¶ã試ã¿ãæ¥ç¶æãã§ã¤ã«ãªã¼ãã¼(CTFï¼Connection Time Failover)ã¨æ¥ç¶ä¸ã«ã¨ã©ã¼ãçºçããå ´åã«åæ¥ç¶ã試ã¿ãééçã¢ããªã±ã¼ã·ã§ã³ã»ãã§ã¤ã«ãªã¼ãã¼(TAFï¼Transparent Application Failover)ã¨ãã 2 種é¡ã®æ¥ç¶ãã§ã¤ã«ãªã¼ãã¼ãæä¾ããã¦ãã¾ãã
ã
æ¥ç¶æãã§ã¤ã«ãªã¼ãã¼(CTF)
ãæ¥ç¶æãã§ã¤ã«ãªã¼ãã¼ã¯ãæ°è¦æ¥ç¶æã«ãããªã¹ãã¼ã¸ã®æ¥ç¶ã«å¤±æããã¨ãå¥ã®ãªã¹ãã¼ã«å¯¾ãã¦æ¥ç¶ã試è¡ããæ©è½ã§ãã
ãè¨å®ã¯ tnsnames.ora ã®æ¥ç¶è¨è¿°åã« FAILOVER=ON ãè¨è¿°ãã¾ããSCAN ãå°å ¥ããã¦ããªããªãªã¼ã¹11.1 以åã§ã¯ ADDRESS_LISTå¥ ã« VIP ãåè¨ãã¦ãã¾ãããSCAN å©ç¨æã¯ãADDRESS_LISTå¥ã« SCAN åãæå®ããã¨ãèªåçã« 3 ã¤ã® SCAN VIP ã使ç¨ããæ¥ç¶æãã§ã¤ã«ãªã¼ãã¼ã®è¨å®ãè¡ããã¾ããã¾ããADDRESS_LISTå¥ ã« VIP ãåè¨ããå¿ è¦ããªããªããã¨ã§ãã¼ãã®è¿½å ãåé¤ã®éã«åã¯ã©ã¤ã¢ã³ãã® tnsnames.ora ãç·¨éããå¿ è¦ããªããªãã¾ããã
ä¾ï¼SCANæªå°å ¥æã®è¨å®æ¹æ³(tnsnames.ora) ================================================================================= TEST_CTF = (DESCRIPTION = (ADDRESS_LIST = (FAILOVER=ON) (ADDRESS = (PROTOCOL = TCP)(HOST = [VIP1])(PORT = 1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = [VIP2])(PORT = 1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = [VIP3])(PORT = 1521)) ) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl) ) ) =================================================================================
ä¾ï¼SCANãå©ç¨ããè¨å®æ¹æ³(tnsnames.ora) ================================================================================= TEST_CTF = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = [SCAN])(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl) ) ) =================================================================================
ééçã¢ããªã±ã¼ã·ã§ã³ã»ãã§ã¤ã«ãªã¼ãã¼(TAF)
ãééçã¢ããªã±ã¼ã·ã§ã³ãã§ã¤ã«ãªã¼ãã¼ã¯ãRAC ãã¼ã¿ãã¼ã¹ã«æ¥ç¶ä¸ã®ã¤ã³ã¹ã¿ã³ã¹ã§é害ãçºçããéã«ãé害ãçºçãã¦ããªãã¤ã³ã¹ã¿ã³ã¹ã«èªåçã«åæ¥ç¶ããæ©è½ã§ããã¾ããå®è¡ä¸ã® SELECT æãåéãããè¨å®ãå¯è½ã§ããINSERTãUPDATEãDELETEãªã©ã®ä»ã®ãã©ã³ã¶ã¯ã·ã§ã³ã®å ´åã¯ãã¢ããªã±ã¼ã·ã§ã³ã§å¤±æãããã©ã³ã¶ã¯ã·ã§ã³ããã¼ã«ããã¯ãåå®è¡ããå¿ è¦ãããäºã«æ³¨æãã¦ãã ããã
ãè¨å®ã¯ãµã¼ãã¹ã« TAF ããªã·ã¼ãå®ç¾©ãããµã¼ãã¼ã»ãµã¤ã㨠tnsnames.ora ã«è¨è¿°ããã¯ã©ã¤ã¢ã³ãã»ãµã¤ãã® 2 ã¤ã®æ¹æ³ãæä¾ããã¦ããã両æ¹è¨å®ããå ´åã¯ãµã¼ãã¼ã»ãµã¤ãã®è¨å®ãåªå ããã¾ãã
ä¾ï¼ãµã¼ãã¼ã»ãµã¤ãã®è¨å®æ¹æ³ ================================================================================= $ srvctl modify service -d orcl -s service_taf -P BASIC -e SELECT ================================================================================= â»ããªã·ã¼ç®¡çã§ã¯ -P ãªãã·ã§ã³ã¯å©ç¨ã§ãã¾ããã ä¾ï¼SCANæªå°å ¥æã®ã¯ã©ã¤ã¢ã³ãã»ãµã¤ãã®è¨å®æ¹æ³(tnsnames.ora) ================================================================================= TEST_TAF = (DESCRIPTION = (ADDRESS_LIST = (FAILOVER=ON) (ADDRESS = (PROTOCOL = TCP)(HOST = [VIP1])(PORT = 1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = [VIP2])(PORT = 1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = [VIP3])(PORT = 1521)) ) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl) (FAILOVER_MODE=(TYPE=SELECT)(METHOD=BASIC)) ) ) ================================================================================= ä¾ï¼SCANãå©ç¨ããã¯ã©ã¤ã¢ã³ãã»ãµã¤ãã®è¨å®æ¹æ³(tnsnames.ora) ================================================================================= TEST_TAF = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = [SCAN])(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl) (FAILOVER_MODE=(TYPE=SELECT)(METHOD=BASIC)) ) ) =================================================================================