ãã®èšäºã§ã¯ãäžæïŒå€±æïŒã®ã·ããªãªãšããããã«å¯Ÿãããã©ãŒã®åå¿ã«ã€ããŠæ€èšããŸãã
äŒæ©ã¯èšç»çã§ãèšç»å€ã§ãããŸããŸããã
ã¹ã±ãžã¥ãŒã«ããããã®ã¯ããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ãDBMSããŒãžã§ã³ãã¢ããªã±ãŒã·ã§ã³ã·ã¹ãã ããŒãžã§ã³ãæŽæ°ããããã«ãµãŒããŒãåæ¢ããå¿ èŠããããããã»ã¹ãå¶åŸ¡ããå Žåã§ãã
ã¹ã±ãžã¥ãŒã«ãããäŒæ©ã®äŸïŒ
- ããšãã°ãã¢ããããŒããã€ã³ã¹ããŒã«ããããã«OSãåèµ·åããŸãã
- DBMSã®åèµ·å
- ããŒããŠã§ã¢ãµãŒããŒã®æŽæ°ã
äºå®å€-ãµãŒããŒãæ å ±ã·ã¹ãã ã®ã¯ã©ã€ã¢ã³ããšãç§ãã¡ã®ç¥èãªãã§åäœããããšãã§ããªããªãäœããèµ·ãããšãã ãã®çç±ã¯æ¬¡ã®ãšããã§ãã
- DBMSããªãŒãº
- OSããªãŒãº
- ç·æ¥ïŒãªã»ãããé»æºãªãïŒ;
- ãµãŒããŒã®ããŒããŠã§ã¢é害ã
- ãããã¯ãŒã¯æ©åšã®æ éã
-
æŠäºãæµè¡ãå¹éªãå®å®ãã©ãã¯ããŒã«ã
ãã§ã€ã«ãªãŒããŒ
Cachéãã©ãŒã®èªåãã§ã€ã«ãªãŒããŒã¯ããã©ã€ããªãµãŒããŒã§é害/äžæãçºçããå Žåã«ã®ã¿çºçããŸãããã®èšäºã§ã¯ããã®ãããªå Žåã®ã¿ãæ€èšããŸãã ãã¡ãããããã¯ã¢ãããµãŒããŒã§åé¡ãçºçããã·ããªãªããããŸããããã®å ŽåãIPã¯åŒãç¶ãæ©èœãã管çè ãæåã§ããã¯ã¢ãããµãŒããŒã埩å ãããŸã§ç©ççãªãã©ãŒãªã³ã°ã¯ãããŸããã äž¡æ¹ã®ãµãŒããŒãããã«é害ãèµ·ãããå Žåãå¥ã®ã·ããªãªãå¯èœã§ãããã ãããã®å ŽåãIPã®åäœã®äžæã¯é¿ããããããã®æ±ºæžã¯ãæåãã§å®è¡ãããŸãã
èªåå æé害ã®åºæ¬çãªã·ããªãªïŒ
- ãã©ã€ããªãµãŒããŒã¯ããã©ãŒåãããããŒã¿ããŒã¹ã®1ã€ãšé£æºããISã¯ã©ã€ã¢ã³ãã«å¯Ÿå¿ããããã¯ã¢ãããµãŒããŒã¯ãã¹ã¿ã³ãã€ãç¶æ ã«ãªããŸãã
- ãã©ã€ããªãµãŒããŒã§é害ãçºçããŸããã
- ããã¯ã¢ãããµãŒããŒã¯ããã©ã€ããªãµãŒããŒããããŠã³ãç¶æ ã«ããããšã確èªããèªåçã«ãã©ã€ããªãµãŒããŒã«ãªããæ å ±ã·ã¹ãã ã®ã¯ã©ã€ã¢ã³ãã«ãµãŒãã¹ãæäŸãç¶ããŸãã
- 以åã®ãã©ã€ããªãµãŒããŒã¯ïŒç®¡çè ãªã©ã«ãã£ãŠïŒåŸ©å ãããæ°ããããã¯ã¢ãããµãŒããŒã«ãªããæ°ãããã©ã€ããªãµãŒããŒã®ãã¹ã¿ã³ãã€ãã¢ãŒãã«å ¥ããŸãã
äœãããããã®ã§ããããïŒ
ãã©ã€ããªãµãŒããŒã§ãããã¯ãŒã¯ã€ã³ã¿ãŒãã§ã€ã¹ã«é害ãçºçããããé·ãã¯ç¶ããªãç¶æ³ãæ³åããŠãã ããããã ããããã¯ã¢ãããµãŒããŒããã©ã€ããªãµãŒããŒã«ãªãããšãã決å®ãããã ãã§ååã§ãã çµæã¯ãã¹ããªãããã¬ã€ã³ã®ç¶æ³ã§ãã
ã¹ããªãããã¬ã€ã³
ã¹ããªãããã¬ã€ã³ -äž¡æ¹ã®ãµãŒããŒãåäœããŠããŠããããããçŸåšãã©ã€ããªã§ãããšèããŠããå Žå
ãã®ãããªç¶æ³ã¯ãããšãã°ãããã¯ã¢ãããµãŒããŒããã©ã€ããªãµãŒããŒããããŠã³ãããŠãããšã誀ã£ãŠãå€æããå Žåã«ãã¯ã©ã¹ã¿ãŒå ã«åæã«2ã€ã®ãã©ã€ããªãµãŒããŒã衚瀺ããããŠãŒã¶ãŒãªã¯ãšã¹ããåæã«åŠçããããšãã-ã¯ã©ã¹ã¿ãŒã®åŽ©å£ã
IPãŠãŒã¶ãŒã®å Žåããã®ç¶æ³ã¯äœæ¥ã®ç¡æéã®äžæã§è¡šããã管çè ãæåã§åŸ©å ããŸãã
ãã®ç¶æ³ããå埩ããæãéãæ¹æ³ã¯ãããã¯ã¢ãããŸãã¯éåæã®ããã©ãŒãããããŒã¿ã埩å ããããšã«ãããã¯ã©ã¹ã¿ãŒãåäœæããããšã§ãã
AgentContactRequiredForFailover
é害/äžææã®Cachéãã©ãŒã®åäœã®æ±ºå®çãªèŠå ã¯ãAgentContactRequiredForFailover = yes / noãã©ã¡ãŒã¿ãŒã®å€ã§ãã
AgentContactRequiredForFailover = yes
AgentContactRequiredForFailoverïŒACRFïŒ= yesïŒããã©ã«ãïŒãšãã§ãŒã«ãªãŒããŒã®å Žåãäž¡æ¹ã®ãµãŒããŒã®ISCãšãŒãžã§ã³ããäžææã«æ¥ç¶ããŠããå¿ èŠããããŸãã ãã®ç¶æ³ã¯ããã£ãã·ã¥ã®äºå®å€ã®é害ããã£ãã·ã¥ã®äºå®ãããåèµ·åãOSã®äºå®ãããåèµ·åã®å Žåã«å¯èœã§ãã ãããã£ãŠããã®ã¢ãŒãã§ã¯ãä»ã®ãã¹ãŠã®å Žåãèªåãã§ã€ã«ãªãŒããŒã¯çºçããŸããïŒ
AgentContactRequiredForFailover = no
ãã©ãŒãªã³ã°ã®ãã®åäœã¢ãŒãã«ããããµãŒããŒãšãŒãžã§ã³ãéã®ãªã³ã©ã€ã³æ¥ç¶ããªããŠããã§ãŒã«ãªãŒããŒãå®è¡ã§ããŸãã ãã®ã¢ãŒãã¯ããã©ã€ããªãµãŒããŒãšã®æ¥ç¶ããªãå Žåã«ããã©ã€ããªãµãŒããŒã®é»æºãªãããããã¯ãŒã¯ã¢ããã¿ãŒãŸãã¯ãµãŒããŒéã®ãããã¯ãŒã¯èªäœã®é害ãªã©ã®ç¶æ³ãã«ããŒããããã«å¿ èŠã«ãªãå ŽåããããŸãã ãã®ã¢ãŒãã§ã¯ãããã¯ã¢ãããµãŒããŒããã©ã€ããªãµãŒããŒã®ç¶æ ã«èªåçã«åãæ¿ãã決å®ã¯ãé åïŒïŒ SYSïŒã«ããZMIRRORããã°ã©ã ã®ãŠãŒã¶ãŒæ©èœã«ãã£ãŠæ±ºå®ãããŸãã
è©Šéšçµæ
ãã¡ããããã§ã€ã«ãªãŒããŒãœãªã¥ãŒã·ã§ã³ãæ§ç¯ããå Žåãã»ãšãã©ã®ç¶æ³ã§é害ãèªåçã«å æããããšãæåŸ ãããŸãã çŸåšãCachéãã©ãŒã¯ãèããããã»ãŒãã¹ãŠã®ã·ããªãªãèªåçã«åŠçã§ããŸãã
ACRFå€ãç°ãªãããã€ãã®å žåçãªã·ããªãªã§ããã©ãŒãã©ã®ããã«åäœãããããã¹ãããŸããã
çŸåšãCaché2012.2 RCã®ææ°ããŒãžã§ã³ããã¹ãããŸããã ã¯ã-ãã®ã·ããªãªã®èªåãã§ã€ã«ãªãŒããŒãæå³ããŸãã
N | ã·ããªãª | ACRF =ã¯ã | ACRF =ããã |
---|---|---|---|
1 | ãã©ã€ããªã§ã®CachéDBMSã®èšç»çãŸãã¯ç·æ¥ã®åèµ·åãã·ã£ããããŠã³ | ã¯ã | ã¯ã |
2 | OSã®ã¹ã±ãžã¥ãŒã«ãããåèµ·å | ã¯ã | ã¯ã |
3 | OSã®ç·æ¥åæ¢ããªã»ãããé»æºãªã | ãã | ã¯ã |
4 | ãã©ã€ããªã®ãããã¯ãŒã¯ã€ã³ã¿ãŒãã§ã€ã¹ãç¡å¹ã«ãã | ãã | ã¯ã |
5 | ãã©ã€ããªãšããã¯ã¢ãããåæã«ãªãã«ããæåã«ãã©ã€ããªãèµ·åããŸã | ã¯ã | ã¯ã |
6 | ãã©ã€ããªãšããã¯ã¢ãããåæã«ãªãã«ããŠãããæåã®ããã¯ã¢ãããèµ·åããŸã | ãã | ãã |
ãã¹ãçµæã«ãããšãå€æããŸãã-äžå¿«ãªã·ããªãªã¯ããããã¯ãŒã¯ã€ã³ã¿ãŒãã§ã€ã¹ãç¡å¹ã«ããããšã§ãïŒ4ïŒã ãããã£ãŠããã©ãŒãµãŒããŒéã«åé·ãããã¯ãŒã¯ãªã³ã¯ã確ç«ããããšããå§ãããŸãã
ãµãŒããŒæ§æã®äŸïŒ

äž¡æ¹ã®ãµãŒããŒã§åæã«é害ãçºçããå ŽåïŒã·ããªãª5ã6ïŒé»æºââã®é·æéã®äžæãªã©ïŒãã³ããã·ã§ãã³ã°ã·ãŒã±ã³ã¹ãéµå®ããããšãéèŠã§ãããã©ã€ããªãµãŒããŒãæåã«ã¢ã¯ãã£ãåããå¿ èŠããããŸãã ãã以å€ã®å Žåãããã¯ã¢ãããµãŒããŒã¯ãã©ã€ããªã«ãªããåã®ãã©ã€ããªãµãŒããŒã®èµ·ååŸãã¹ããªãããã¬ã€ã³ã®çµæãšããŠã2ã€ã®ãµãŒããŒãååšããŸãã
è¡šãããããããã«ãACRF = yesïŒæ¢å®å€ïŒã®Cachéåæãã©ãŒã¯ãã¯ã©ã¹ã¿ãŒãµãŒããŒéã®ãããã¯ãŒã¯ããã¢ã¯ãã£ããã§ããå Žåã«ã®ã¿ãç·æ¥äºæ ãæäŸããŸãã
ä»ã®ç¶æ³ã§ã¯ãACRF = noã¢ãŒãããããŸãã管çè ã¯ãèªå·±ã®è²¬ä»»ã«ãããŠããŠãŒã¶ãŒããã°ã©ã ZMIRRORãäœæããŠããã©ã€ããªãµãŒããŒã«é害ãçºçãããã©ãããå€æããŸãã
Zmirror
ãã©ãŒã®æçµã€ã³ã¹ããŒã«çšã«ãã®ãããªããŒããŠã§ã¢ãšãœãããŠã§ã¢ã®ã·ã¹ãã ãæ§ç¯ããããšã¯çè«çã«å¯èœã§ããã©ã®ã·ããªãªã§ãããã©ã€ããªãµãŒããŒã®ç¶æ ããœãããŠã§ã¢ç¶æ ã§äžæã«å€æã§ããå Žåã§ãã
ãµãŒããŒã§ãã®ç¶æ³ãçºçããå Žåã¯ãã¢ãŒããACRF = noã«èšå®ããããšããå§ãããŸãã ãã®åŸããã¬ãŒã¯ãçºçããISCãšãŒãžã§ã³ããã©ã€ããªãµãŒããŒãšã®éä¿¡ããªãå Žåãã·ã¹ãã ã¯é¢æ°$$ IsOtherNodeDown ^ ZMIRRORïŒïŒãåŒã³åºããŸãã é¢æ°ã¯1ãŸãã¯0ãè¿ããŸããé¢æ°ããªãå ŽåããŸãã¯é¢æ°ã0ãè¿ãå Žåãèªåãã§ãŒã«ãªãŒããŒããã»ã¹ã¯çµäºããŸãã
$$ IsOtherNodeDown ^ ZMIRRORïŒïŒé¢æ°ã®ã«ã¹ã¿ã å®è£ ãèšè¿°ãããšããããã°ã©ããŒã®ã¿ã¹ã¯ã¯ããã©ã€ããªãµãŒããŒãå®éã«å€±æãããã®å Žå1ãè¿ãããšã確å®ã«ç¢ºèªããããšã§ãã
ãŠãŒã¶ãŒé¢æ°ZMIRRORã®äŸ
Zmirror
; èªå·±è²¬ä»»ã§äœ¿çšããŠãã ããã
q
IsOtherNodeDown ïŒïŒ public
{
d ##ã¯ã©ã¹ ïŒ ïŒ ããã€ã¹ ïŒã ãããŒããã£ã¹ã ïŒ "" ã "------------> IsOtherNodeDownïŒïŒ" ïŒ
{
s ip = "192.168.169.186"; å¥ã®ãã§ã€ã«ãªãŒããŒããŒãã®ã¢ãã¬ã¹
â PingSuccessful = $ system .INetInfo ã CheckAddressExist ïŒipïŒ
d ##ã¯ã©ã¹ ïŒ ïŒ ããã€ã¹ ïŒã ãããŒããã£ã¹ã ïŒ "" ã "IPã¢ãã¬ã¹" _ip_ "is" _
$ s ïŒPingSuccessfulïŒ "available" ã1ïŒ "unavailable" ïŒ_ "ã" ïŒ
if 'PingSuccessful s returnValue = 1 q ; pingãªã
s url = " " _ip_ "ïŒ57772 / csp / sys / UtilHome.csp"
s stat = $$ GetStatus ïŒurlïŒ
d ##ã¯ã©ã¹ ïŒ ïŒ ããã€ã¹ ïŒã ãããŒããã£ã¹ã ïŒ "" ãurl_ "is" _stat_ "ã" ïŒ
if stat [ "ãšã©ãŒ" s returnValue = 1 q ;
s returnValue = 0
} catch ïŒeïŒ {
d ##ã¯ã©ã¹ ïŒ ïŒ Library.Device ïŒã ãããŒããã£ã¹ã ïŒ "" ã eãDisplayString ïŒïŒïŒ
s returnValue = 0
}
d ##ã¯ã©ã¹ ïŒ ïŒ ããã€ã¹ ïŒã ãããŒããã£ã¹ã ïŒ "" ã "Returning" _returnValue_ "..." ïŒ
d ##ã¯ã©ã¹ ïŒ ïŒ ããã€ã¹ ïŒã ãããŒããã£ã¹ã ïŒ "" ã "<------------ IsOtherNodeDownïŒïŒ" ïŒ
q returnValue
}
CheckBecomePrimaryOK ïŒïŒ public
{
d ##ã¯ã©ã¹ ïŒ ïŒ ããã€ã¹ ïŒã ãããŒããã£ã¹ã ïŒ "" ã "------------> CheckBecomePrimaryOKïŒïŒ" ïŒ
{
s stat = $$ MemberDescription ïŒïŒ
s returnValue = 1
d ##ã¯ã©ã¹ ïŒ ïŒ ããã€ã¹ ïŒã ãããŒããã£ã¹ã ïŒ "" ã "This instance is" _statïŒ
d ##ã¯ã©ã¹ ïŒ ïŒ ããã€ã¹ ïŒã ãããŒããã£ã¹ã ïŒ "" ã "Returning" _returnValue_ "..." ïŒ
} catch ïŒeïŒ {
d ##ã¯ã©ã¹ ïŒ ïŒ Library.Device ïŒã ãããŒããã£ã¹ã ïŒ "" ã eãDisplayString ïŒïŒïŒ
s returnValue = 0
}
d ##ã¯ã©ã¹ ïŒ ïŒ ããã€ã¹ ïŒã ãããŒããã£ã¹ã ïŒ "" ã "<------------ CheckBecomePrimaryOKïŒïŒ" ïŒ
q returnValue
}
NotifyBecomePrimary ïŒïŒ public
{
d ##ã¯ã©ã¹ ïŒ ïŒ ããã€ã¹ ïŒã ãããŒããã£ã¹ã ïŒ "" ã "------------> NotifyBecomePrimaryïŒïŒ" ïŒ
{
d ##ã¯ã©ã¹ ïŒ ïŒ ããã€ã¹ ïŒã ãããŒããã£ã¹ã ïŒ "" ã "ãã®ã€ã³ã¹ã¿ã³ã¹ã¯" _ $$ MemberDescription ïŒïŒïŒ
} catch ïŒeïŒ {
d ##ã¯ã©ã¹ ïŒ ïŒ Library.Device ïŒã ãããŒããã£ã¹ã ïŒ "" ã eãDisplayString ïŒïŒïŒ
}
d ##ã¯ã©ã¹ ïŒ ïŒ ããã€ã¹ ïŒã ãããŒããã£ã¹ã ïŒ "" ã "<------------ NotifyBecomePrimaryïŒïŒ" ïŒ
}
NotifyBecomePrimaryFailed ïŒïŒ public
{
d ##ã¯ã©ã¹ ïŒ ïŒ ããã€ã¹ ïŒã ãããŒããã£ã¹ã ïŒ "" ã "------------> NotifyBecomePrimaryFailedïŒïŒ" ïŒ
{
d ##ã¯ã©ã¹ ïŒ ïŒ ããã€ã¹ ïŒã ãããŒããã£ã¹ã ïŒ "" ã "ãã®ã€ã³ã¹ã¿ã³ã¹ã¯" _ $$ MemberDescription ïŒïŒïŒ
} catch ïŒeïŒ {
d ##ã¯ã©ã¹ ïŒ ïŒ Library.Device ïŒã ãããŒããã£ã¹ã ïŒ "" ã eãDisplayString ïŒïŒïŒ
}
d ##ã¯ã©ã¹ ïŒ ïŒ ããã€ã¹ ïŒã ãããŒããã£ã¹ã ïŒ "" ã "<------------ NotifyBecomePrimaryFailedïŒïŒ" ïŒ
}
MemberDescription ïŒïŒ ; ãã©ãŒã¡ã³ããŒã®ã¹ããŒã¿ã¹ãååŸãã
q $ s ïŒ $ system .MirrorãIsMember ïŒïŒïŒ $ s ïŒ $ system .MirrorãIsBackup ïŒïŒïŒ "a backup" ã
$ system .Mirror ã IsPrimary ïŒïŒïŒ ããã©ã€ããªã ã
$ system .Mirror ã IsAsyncMember ïŒïŒïŒ ãéåæã ã
1ïŒ "äžæ" ïŒ_ "member of" _ $ system .Mirror ã MirrorName ïŒïŒã
1ïŒ ãã¡ã³ããŒã§ã¯ãªãã ïŒ
GetStatus ïŒURLïŒ
; url-address httpïŒ// localhostïŒ57772 / csp / sys / UtilHome.csp
S $ ZT = "HttpError"
N Aãã¹ããŒã¿ã¹ããšã©ãŒãhttprequestãããŒããã³ã³ãã³ããïŒ objlasterror
httprequest = ##ã¯ã©ã¹ ïŒ ïŒ Net.HttpRequest ïŒãèšå®ããŸãã ïŒ æ°èŠ ïŒïŒ
S A = $ P ïŒ $ p ïŒurlã "ïŒ//" ã2ïŒã "/" ã1ïŒ I A = "" Q "ãšã©ãŒïŒURL"
I A [ "ïŒ" S ããŒã= $ P ïŒAã "ïŒ" ã2ïŒãA = $ P ïŒAã "ïŒ" ã1ïŒ httprequestã èšå®ã ãŸãã ããŒã =ããŒã
httprequestã èšå®ã ãŸãã ãµãŒã㌠= a
S A = "/" _ $ P ïŒ $ p ïŒurlã "ïŒ//" ã2ïŒã "/" ã2,991ïŒ
httprequestã èšå®ã ãŸãã ã¿ã€ã ã¢ãŠã = 3
httprequestãå®è¡ããŸãã ååŸ ïŒAïŒ
S ã¹ããŒã¿ã¹= httprequestã HttpResponse StatusLine
httprequestãå®è¡ããŸãã ïŒ éãã ïŒïŒ
i status = "" ã $ g ïŒïŒ objlasterrorïŒ '= "" g HttpError
q ã¹ããŒã¿ã¹
HttpError I $ ZE [ "<ç¡å¹ãªOREF>" Q "ãšã©ãŒïŒãµãŒããŒã«ã¢ã¯ã»ã¹ã§ããŸãããïŒ" _ $ ZE
DecomposeStatus ^ïŒ apiOBJïŒïŒ objlasterrorã.errïŒ
Q "ãšã©ãŒ" _ $ G ïŒerrïŒerrïŒïŒ
; èªå·±è²¬ä»»ã§äœ¿çšããŠãã ããã
q
IsOtherNodeDown ïŒïŒ public
{
d ##ã¯ã©ã¹ ïŒ ïŒ ããã€ã¹ ïŒã ãããŒããã£ã¹ã ïŒ "" ã "------------> IsOtherNodeDownïŒïŒ" ïŒ
{
s ip = "192.168.169.186"; å¥ã®ãã§ã€ã«ãªãŒããŒããŒãã®ã¢ãã¬ã¹
â PingSuccessful = $ system .INetInfo ã CheckAddressExist ïŒipïŒ
d ##ã¯ã©ã¹ ïŒ ïŒ ããã€ã¹ ïŒã ãããŒããã£ã¹ã ïŒ "" ã "IPã¢ãã¬ã¹" _ip_ "is" _
$ s ïŒPingSuccessfulïŒ "available" ã1ïŒ "unavailable" ïŒ_ "ã" ïŒ
if 'PingSuccessful s returnValue = 1 q ; pingãªã
s url = " " _ip_ "ïŒ57772 / csp / sys / UtilHome.csp"
s stat = $$ GetStatus ïŒurlïŒ
d ##ã¯ã©ã¹ ïŒ ïŒ ããã€ã¹ ïŒã ãããŒããã£ã¹ã ïŒ "" ãurl_ "is" _stat_ "ã" ïŒ
if stat [ "ãšã©ãŒ" s returnValue = 1 q ;
s returnValue = 0
} catch ïŒeïŒ {
d ##ã¯ã©ã¹ ïŒ ïŒ Library.Device ïŒã ãããŒããã£ã¹ã ïŒ "" ã eãDisplayString ïŒïŒïŒ
s returnValue = 0
}
d ##ã¯ã©ã¹ ïŒ ïŒ ããã€ã¹ ïŒã ãããŒããã£ã¹ã ïŒ "" ã "Returning" _returnValue_ "..." ïŒ
d ##ã¯ã©ã¹ ïŒ ïŒ ããã€ã¹ ïŒã ãããŒããã£ã¹ã ïŒ "" ã "<------------ IsOtherNodeDownïŒïŒ" ïŒ
q returnValue
}
CheckBecomePrimaryOK ïŒïŒ public
{
d ##ã¯ã©ã¹ ïŒ ïŒ ããã€ã¹ ïŒã ãããŒããã£ã¹ã ïŒ "" ã "------------> CheckBecomePrimaryOKïŒïŒ" ïŒ
{
s stat = $$ MemberDescription ïŒïŒ
s returnValue = 1
d ##ã¯ã©ã¹ ïŒ ïŒ ããã€ã¹ ïŒã ãããŒããã£ã¹ã ïŒ "" ã "This instance is" _statïŒ
d ##ã¯ã©ã¹ ïŒ ïŒ ããã€ã¹ ïŒã ãããŒããã£ã¹ã ïŒ "" ã "Returning" _returnValue_ "..." ïŒ
} catch ïŒeïŒ {
d ##ã¯ã©ã¹ ïŒ ïŒ Library.Device ïŒã ãããŒããã£ã¹ã ïŒ "" ã eãDisplayString ïŒïŒïŒ
s returnValue = 0
}
d ##ã¯ã©ã¹ ïŒ ïŒ ããã€ã¹ ïŒã ãããŒããã£ã¹ã ïŒ "" ã "<------------ CheckBecomePrimaryOKïŒïŒ" ïŒ
q returnValue
}
NotifyBecomePrimary ïŒïŒ public
{
d ##ã¯ã©ã¹ ïŒ ïŒ ããã€ã¹ ïŒã ãããŒããã£ã¹ã ïŒ "" ã "------------> NotifyBecomePrimaryïŒïŒ" ïŒ
{
d ##ã¯ã©ã¹ ïŒ ïŒ ããã€ã¹ ïŒã ãããŒããã£ã¹ã ïŒ "" ã "ãã®ã€ã³ã¹ã¿ã³ã¹ã¯" _ $$ MemberDescription ïŒïŒïŒ
} catch ïŒeïŒ {
d ##ã¯ã©ã¹ ïŒ ïŒ Library.Device ïŒã ãããŒããã£ã¹ã ïŒ "" ã eãDisplayString ïŒïŒïŒ
}
d ##ã¯ã©ã¹ ïŒ ïŒ ããã€ã¹ ïŒã ãããŒããã£ã¹ã ïŒ "" ã "<------------ NotifyBecomePrimaryïŒïŒ" ïŒ
}
NotifyBecomePrimaryFailed ïŒïŒ public
{
d ##ã¯ã©ã¹ ïŒ ïŒ ããã€ã¹ ïŒã ãããŒããã£ã¹ã ïŒ "" ã "------------> NotifyBecomePrimaryFailedïŒïŒ" ïŒ
{
d ##ã¯ã©ã¹ ïŒ ïŒ ããã€ã¹ ïŒã ãããŒããã£ã¹ã ïŒ "" ã "ãã®ã€ã³ã¹ã¿ã³ã¹ã¯" _ $$ MemberDescription ïŒïŒïŒ
} catch ïŒeïŒ {
d ##ã¯ã©ã¹ ïŒ ïŒ Library.Device ïŒã ãããŒããã£ã¹ã ïŒ "" ã eãDisplayString ïŒïŒïŒ
}
d ##ã¯ã©ã¹ ïŒ ïŒ ããã€ã¹ ïŒã ãããŒããã£ã¹ã ïŒ "" ã "<------------ NotifyBecomePrimaryFailedïŒïŒ" ïŒ
}
MemberDescription ïŒïŒ ; ãã©ãŒã¡ã³ããŒã®ã¹ããŒã¿ã¹ãååŸãã
q $ s ïŒ $ system .MirrorãIsMember ïŒïŒïŒ $ s ïŒ $ system .MirrorãIsBackup ïŒïŒïŒ "a backup" ã
$ system .Mirror ã IsPrimary ïŒïŒïŒ ããã©ã€ããªã ã
$ system .Mirror ã IsAsyncMember ïŒïŒïŒ ãéåæã ã
1ïŒ "äžæ" ïŒ_ "member of" _ $ system .Mirror ã MirrorName ïŒïŒã
1ïŒ ãã¡ã³ããŒã§ã¯ãªãã ïŒ
GetStatus ïŒURLïŒ
; url-address httpïŒ// localhostïŒ57772 / csp / sys / UtilHome.csp
S $ ZT = "HttpError"
N Aãã¹ããŒã¿ã¹ããšã©ãŒãhttprequestãããŒããã³ã³ãã³ããïŒ objlasterror
httprequest = ##ã¯ã©ã¹ ïŒ ïŒ Net.HttpRequest ïŒãèšå®ããŸãã ïŒ æ°èŠ ïŒïŒ
S A = $ P ïŒ $ p ïŒurlã "ïŒ//" ã2ïŒã "/" ã1ïŒ I A = "" Q "ãšã©ãŒïŒURL"
I A [ "ïŒ" S ããŒã= $ P ïŒAã "ïŒ" ã2ïŒãA = $ P ïŒAã "ïŒ" ã1ïŒ httprequestã èšå®ã ãŸãã ããŒã =ããŒã
httprequestã èšå®ã ãŸãã ãµãŒã㌠= a
S A = "/" _ $ P ïŒ $ p ïŒurlã "ïŒ//" ã2ïŒã "/" ã2,991ïŒ
httprequestã èšå®ã ãŸãã ã¿ã€ã ã¢ãŠã = 3
httprequestãå®è¡ããŸãã ååŸ ïŒAïŒ
S ã¹ããŒã¿ã¹= httprequestã HttpResponse StatusLine
httprequestãå®è¡ããŸãã ïŒ éãã ïŒïŒ
i status = "" ã $ g ïŒïŒ objlasterrorïŒ '= "" g HttpError
q ã¹ããŒã¿ã¹
HttpError I $ ZE [ "<ç¡å¹ãªOREF>" Q "ãšã©ãŒïŒãµãŒããŒã«ã¢ã¯ã»ã¹ã§ããŸãããïŒ" _ $ ZE
DecomposeStatus ^ïŒ apiOBJïŒïŒ objlasterrorã.errïŒ
Q "ãšã©ãŒ" _ $ G ïŒerrïŒerrïŒïŒ
å 責äºé ïŒ ãã®ã³ãŒãã䜿çšããŠããACRF =ãããã®å®çšŒåæ§æã§ã®èªåãã§ã€ã«ãªãŒããŒã¯ä¿èšŒãããŸããã ãã®ã¢ãŒããå®éã«äœ¿çšããã«ã¯ãæ§æããšã«åŸ¹åºçãªãã§ãŒã«ãªãŒããŒãã¹ããåå¥ã«å¿ èŠã§ãã
ãã©ãŒã®ãã³ã
InterSystemsããŒã¿ããŒã¹ãã©ãŒãªã³ã°ãšã¯ã¹ããªãšã³ã¹ããã®ããã€ãã®æšå¥šäºé
ãæåã§ãããã¯ã¢ãããµãŒããŒããªãã«ãªã£ãŠããå Žåããã©ã€ããªãµãŒããŒã®ãã°ãã¯ãªã¢ããããšã¯ã§ããŸãããã
確ãã«ãããããŠãããã¯ã¢ãããµãŒããŒãå¿ èŠãªãã°ãååŸã§ããªãã£ãå Žåã¯ãããã¯ã¢ãããµãŒããŒãå床äœæã§ããŸãã
ããã©ã€ããªãµãŒããŒã®å®è¡äžã¯ãããã¯ã¢ãããµãŒããŒãé·æéãªãã«ããããšã¯ã§ããŸããã
ãã®å ŽåãåæãããŠããªããã°ã®ãªãŒããŒãããŒã«ããããã©ã€ããªãµãŒããŒã®ãã£ã¹ã¯é åãäžè¶³ããå¯èœæ§ããããŸãã
ããµãŒããŒã®æå»ãåæããå¿ èŠããããŸãã
ããã¯åçŽãªæ¡ä»¶ã§ãããæºããå¿ èŠããããŸãã ãã以å€ã®å Žåãããšãã°æ°æéã®åæ解é€äžã«ãããã¯ã¢ãããµãŒããŒã¯ãã°ã®é¢é£æ§ãšãæ··ä¹±ãããŸãã ãã®çµæãããã¯ã¢ãããµãŒããŒãå床äœæããŸãã
ããµãŒããŒéã®ãããã¯ãŒã¯ãã¢ã³ããŒãããå¿ èŠããããŸãã
ãããã¯ãŒã¯ãä»ããŠããã°ã¯åžžã«ãã©ã€ããªãµãŒããŒããããã¯ã¢ããã«è»¢éãããŸãã ãµãŒããŒéã®ãããã¯ãŒã¯ããŸã ããžãŒç¶æ ã§ãããããã£ãã«ãããŒã¿è»¢éã«ååã§ãªãå Žåããã©ã€ããªãµãŒããŒã¯ãã¹ããŒããŠã³ããéå§ããISãŠãŒã¶ãŒãå ¥åããããŒã¿ã転éããæéããããŸããã
ãã·ã¹ãã æ§æèšå®ããããã³ã°ãããŒã«ããã³ãŠãŒã¶ãŒèšå®ã¯æåã§åæããå¿ èŠããããŸãã
ã°ããŒãã«ãã¯ã©ã¹ãããã±ãŒãžã®ãããã³ã°ã®èšå®ãããã³ãã©ã€ããªãµãŒããŒãšããã¯ã¢ãããµãŒããŒã®åœ¹å²ããŠãŒã¶ãŒãã·ã¹ãã æ§æã®ãã¹ãŠã®èšå®ãåæããå¿ èŠããããŸãã ãã©ãŒã¯ããã©ãŒãªã³ã°çšã«éžæãããããŒã¿ããŒã¹ã®ã¿ãåæããŸãã ãããã£ãŠããã©ãŒç®¡çè ã¯åãæ§æããããã³ã°ãããã³ãŠãŒã¶ãŒã»ãã¥ãªãã£ããªã·ãŒãæã¡ããã©ã€ããªãµãŒããŒãšããã¯ã¢ãããµãŒããŒã®ãã®ç¶æ ãç¶æããå¿ èŠããããŸãã
éçšç¹æ§
ãã§ãŒã«ãªãŒããŒã«å¿ èŠãªãšãŒãžã§ã³ãã³ã³ã¿ã¯ãã®èªåãã§ãŒã«ãªãŒããŒã®å¹³åå®è¡æé= yesã¯10ã20ç§ã§ãã 10ã20ç§ã®äžæåæ¢ã¯ãã¢ããªã±ãŒã·ã§ã³ãæ°ãããµãŒããŒã§åŒãç¶ãåäœããæéã§ãã ãã®å Žåãæ¥ç¶ãåæ¥ç¶ããïŒãµãŒããŒãžã®çŽæ¥æ¥ç¶ããã£ãå ŽåïŒããäœæ¥ãECPæ¥ç¶ãä»ããŠè¡ãããå Žåãåã«åäœãç¶ç¶ããŸãã
ACRF = noã®å Žåãäžæåæ¢ã¯å¹³å35ã40ç§ã§ãã ãã®å ŽåãECPã¯ã©ã€ã¢ã³ãã¯æ¥ç¶ã倱ããŸãã ECPã®ããã©ã«ãã®ã¿ã€ã ã¢ãŠã= 30ç§ã SYSTEM ^ïŒ ZSTARTã®ECPã¯ã©ã€ã¢ã³ããµãŒããŒã§ECPãšACRF = noã®ãã©ãŒã䜿çšããã·ã¹ãã ã®å ŽåãECPã¿ã€ã ã¢ãŠããå¢å ãããã³ãŒããäœæããããšããå§ãããŸãã
$ system .ECPãå®è¡ã ãŸãã SetProperty ïŒ "ECPRecoveryTimout" ã90ïŒ
äžçªäžã®è¡ãŸãã¯ããããå¿ èŠãïŒ
ãã®è³ªåã«çããŠããã¯ãããšèšããŸãã ãããã«äœ¿çšã§ããããã®ãã€ãŸãACRF = yesã¢ãŒãã䜿çšããŠããOSãCachéãããŒããŠã§ã¢ãªã©ã®æŽæ°ã«é¢ããã¹ã±ãžã¥ãŒã«ãããäœæ¥ãå®è¡ã§ããŸãã æ å ±ã·ã¹ãã ã®ãã³ã¹ãããæäœãããã³CachéDBMSã®é害ã®èªåå æã æ®ãã®ã·ããªãªã¯ãå¿ èŠãªæ°ã®ãå°æ°ç¹ä»¥äž9ãã®ããŒããŠã§ã¢ãã§ãŒã«ãªãŒããŒã¯ã©ã¹ã¿ãŒãšç¡åé»é»æºã·ã¹ãã ã®å©ããåããŠãæ¢ç¥ã®æ段ã§ã«ããŒã§ããŸãã