{"id":1304,"date":"2016-03-24T01:43:06","date_gmt":"2016-03-24T01:43:06","guid":{"rendered":"http:\/\/haisins.epac.to\/wordpress\/?p=1304"},"modified":"2016-03-24T01:43:06","modified_gmt":"2016-03-24T01:43:06","slug":"taf-%eb%9e%80","status":"publish","type":"post","link":"https:\/\/haisins.synology.me\/wordpress\/?p=1304","title":{"rendered":"TAF \ub780?"},"content":{"rendered":"<p style=\"text-align: left;\">\n&nbsp;<\/p>\n<p style=\"text-align: left;\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\"><strong>TAF &#8211; Connection Failover options<br \/>\n<\/strong><\/span><\/p>\n<p style=\"text-align: left;\">&nbsp;<\/p>\n<p style=\"text-align: left;\">\n&nbsp;<\/p>\n<h4 style=\"text-align: left;\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">\uc804\uc81c \uc0ac\ud56d : Oracle Server\ub294 RAC\ub85c \uad6c\uc131\ub418\uc5b4\uc57c \ud55c\ub2e4.<br \/>\n<\/span><\/h4>\n<p style=\"text-align: left;\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">OCI\ub97c \uc774\uc6a9\ud558\uc9c0 \uc54a\uc740 Application\uc740 TAF\ub97c \uc704\ud55c \ud2b9\ubcc4\ud55c \uae30\ub2a5\uc744 \uc81c\uacf5 \ud558\uc9c0 \uc54a\uc73c\uba70, \uac1c\ubc1c\uc790\uac00 Logic\uc744 \uad6c\ud604\ud574\uc57c \ud55c\ub2e4.<br \/>\n<\/span><\/p>\n<p style=\"text-align: left;\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">TAF\ub97c \uc704\ud55c Server Configuration\uc740 \uc774 \ubb38\uc11c\uc5d0\uc11c \uace0\ub824\ud558\uc9c0 \uc54a\ub294\ub2e4. CONNECTION TIME FAIL OVER\ub294 \uc774 \ubb38\uc11c\uc5d0\uc11c \uace0\ub824\ud558\uc9c0 \uc54a\ub294\ub2e4. \uc704\uc758 \uc0ac\ud56d\ub4e4\uc744 \uc2dc\uac04\uc758 \uc5ec\uc720\uac00 \uc788\uc744 \uacbd\uc6b0\uc5d0\ub294 \uc791\uc131\ud55c\ub2e4.<br \/>\n<\/span><\/p>\n<p style=\"text-align: left;\">&nbsp;<\/p>\n<p style=\"text-align: left;\">\n&nbsp;<\/p>\n<p style=\"text-align: left;\">\n&nbsp;<\/p>\n<p style=\"text-align: left;\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">\uf051 <strong>TAF\ub294 RAC\ub97c \uc0ac\uc6a9\ud558\ub294 \ud658\uacbd\uc5d0\uc11c \uac00\uc6a9\uc131\uc744 \uadf9\ub300\ud654 \ud558\uae30 \uc704\ud574 \uc81c\uacf5 \ub418\ub294 \uae30\ub2a5\uc774\uba70, \ubaa8\ub4e0 Application\uc744 \uc801\uc6a9\ud558\uae30 \ubcf4\ub2e4\ub294 \uc911\uc694\ud55c  Application\uc5d0 \ub300\ud574\uc11c\ub9cc  \uc801\uc6a9\ud1a0\ub85d \ud55c\ub2e4.<br \/>\n<\/strong><\/span><\/p>\n<p style=\"text-align: left;\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">\uf051 <strong>TAF \uc801\uc6a9\uc2dc \uace0\ub824 \uc0ac\ud56d\ub4e4<br \/>\n<\/strong><\/span><\/p>\n<p style=\"text-align: left;\">\n&nbsp;<\/p>\n<div style=\"margin-left: 20pt; text-align: left;\">\n<table style=\"border-collapse:collapse\" border=\"0\" align=\"left\">\n<colgroup>\n<col style=\"width:168px\">\n<col style=\"width:416px\">\n<col style=\"width:436px\"><\/colgroup>\n<tbody valign=\"top\">\n<tr style=\"height: 29px; background: #ffff99\">\n<td style=\"border-style: solid; border-color: black; border-width: 2.125pt 1pt 1pt 2.125pt; width: 137px;\">\n<p style=\"text-align: center; margin-left: 1em;\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\"><strong>\uad6c &nbsp;\ubd84<\/strong><\/span><\/p>\n<\/td>\n<td style=\"border-style: solid solid solid none; border-top-color: black; border-top-width: 2.125pt; border-bottom-color: black; border-bottom-width: 1pt; border-right-color: black; border-right-width: 1pt; width: 245px;\">\n<p style=\"text-align: center;\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\"><strong>&nbsp; \ub0b4&nbsp;&nbsp;&nbsp;&nbsp;\uc6a9<\/strong><\/span><\/p>\n<\/td>\n<td style=\"border-top:  solid black 2.125pt; border-left:  none; border-bottom:  solid black 1.0pt; border-right:  solid black 2.125pt\">\n<p style=\"text-align: center;\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\"><strong>&nbsp; \uace0\ub824\uc0ac\ud56d <\/strong><\/span><\/p>\n<\/td>\n<\/tr>\n<tr style=\"height: 60px\">\n<td style=\"border-style: none solid solid; border-left-color: black; border-left-width: 2.125pt; border-bottom-color: black; border-bottom-width: 1pt; border-right-color: black; border-right-width: 1pt; width: 137px;\">\n<p style=\"text-align: left; margin-left: 6pt;\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\"><strong>CTF(Connection Time FailOver)<\/strong><\/span><\/p>\n<\/td>\n<td style=\"border-style: none solid solid none; border-bottom-color: black; border-bottom-width: 1pt; border-right-color: black; border-right-width: 1pt; width: 245px;\">\n<p style=\"margin-left: 6pt; text-align: left;\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\"><strong>\ub370\uc774\ud130 \ubca0\uc774\uc2a4\ub85c \uc811\uc18d\ud558\ub294 \uc21c\uac04\uc5d0 Server, DB, Listener\ub4f1\uc774 \uac00\uc6a9\ud558 \uc9c0 \uc54a\uc744 \uacbd\uc6b0\uc5d0 \ub2e4\ub978 \ucabd Server\ub85c \uc811\uc18d\ud558\ub294 \uac83\uc744 \ub9d0\ud568.<\/strong><\/span><\/p>\n<\/td>\n<td style=\"border-top:  none; border-left:  none; border-bottom:  solid black 1.0pt; border-right:  solid black 2.125pt\">\n<p style=\"margin-left: 6pt; text-align: left;\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\"><strong>OCI\ub97c \uc0ac\uc6a9\ud558\uc9c0 \uc54a\ub294 \ud504\ub85c\uadf8\ub7a8\uc740 \ub9e4\ub274\uc5bc \ud558\uac8c Logic\ub97c \uad6c\uc0ac\ud574\uc57c \ud55c\ub2e4.<\/strong><\/span><\/p>\n<\/td>\n<\/tr>\n<tr style=\"height: 58px\">\n<td style=\"border-style: none solid solid; border-left-color: black; border-left-width: 2.125pt; border-bottom-color: black; border-bottom-width: 1pt; border-right-color: black; border-right-width: 1pt; width: 137px;\">\n<p style=\"text-align: left; margin-left: 6pt;\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\"><strong>TAF(Run Time  FailOver)<\/strong><\/span><\/p>\n<\/td>\n<td style=\"border-style: none solid solid none; border-bottom-color: black; border-bottom-width: 1pt; border-right-color: black; border-right-width: 1pt; width: 245px;\">\n<p style=\"text-align: left; margin-left: 6pt;\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\"><strong>\uc811\uc18d \ud6c4 \ub370\uc774\ud130 \ubca0\uc774\uc2a4 \uc0ac\uc6a9 \uc911\uc5d0 DB\ub098 Session\uc774 \uc7a5\uc560\uac00 \ubc1c\uc0dd \ud588 \uc744 \uacbd\uc6b0\uc5d0 \ub2e4\ub978 node\ub85c \uc811\uc18d\ud558\uc5ec \uc9c4\ud589\ud558\ub358 \uc791\uc5c5\uc744 \uacc4\uc18d\ud560 \uc218 \uc788\ub3c4 \ub85d \ud558\ub294 \uac83\uc744 \ub9d0\ud568.<\/strong><\/span><\/p>\n<\/td>\n<td style=\"border-top:  none; border-left:  none; border-bottom:  solid black 1.0pt; border-right:  solid black 2.125pt\">\n<p style=\"text-align: left; margin-left: 6pt;\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\"><strong>OCI\ub97c \uc0ac\uc6a9\ud560 \uacbd\uc6b0\uc5d0\ub294 \uc624\ub77c\ud074\uc5d0\uc11c CallBack method\ub97c\uc9c0 \uc6d0\ud558\ub098 OCI\ub97c \uc0ac\uc6a9\ud558\uc9c0 \uc54a\uc744 \uacbd\uc6b0\uc5d0\ub294 Logic\uc73c\ub85c \uad6c\uc0ac\ud574\uc57c \ud568<\/strong><\/span><\/p>\n<\/td>\n<\/tr>\n<tr style=\"height: 92px\">\n<td style=\"border-style: none solid solid; border-left-color: black; border-left-width: 2.125pt; border-bottom-color: black; border-bottom-width: 1pt; border-right-color: black; border-right-width: 1pt; width: 137px;\">\n<p style=\"text-align: left; margin-left: 6pt;\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\"><strong>FailOver \ubc29\ubc95<\/strong><\/span><\/p>\n<\/td>\n<td style=\"border-style: none solid solid none; border-bottom-color: black; border-bottom-width: 1pt; border-right-color: black; border-right-width: 1pt; width: 245px;\">\n<p style=\"margin-left: 6pt; text-align: left;\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\"><strong>TAF\uc5d0\uc11c \uc81c\uacf5\ud558\ub294 Failover \ubc29\ubc95\ub4e4\uc744 \ub9d0\ud568. Mode : session, select<br \/>\n<\/strong><\/span><\/p>\n<p style=\"margin-left: 6pt; text-align: left;\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\"><strong>Method : Basic , Preconnect<\/strong><\/span><\/p>\n<\/td>\n<td style=\"border-top:  none; border-left:  none; border-bottom:  solid black 1.0pt; border-right:  solid black 2.125pt\">\n<p style=\"margin-left: 6pt; text-align: left;\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\"><strong>Long s elect\uc218\ud589\uc911 \uc7a5\uc560 \ubc1c\uc0dd\uc2dc \uc218\ud589\ud558\ub358 \uc791\uc5c5\uc744 \ub118\uae30\uae30 \uc704\ud574\uc11c\ub294 &#8216;s elect&#8217;\ub85c \ud574\uc57c \ud558\uba70 &#8216;session&#8217;\uc73c\ub85c \ud558\uba74 session \ub9cc \ub118\uc5b4\uac00\uace0 SQL\uc740 \ub2e4\uc2dc \uc218\ud589\ud574\uc57c \ud568.<br \/>\n<\/strong><\/span><\/p>\n<p style=\"margin-left: 6pt; text-align: left;\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\"><strong>Basic\uc740 \uc7a5\uc560 \ubc1c\uc0dd\uc2dc \ub2e4\uc2dc \uc811\uc18d\ud558\ub294 \ubc29\ubc95\uc774\uace0, preconnect\ub294 \ucd5c\ucd08 \uc811\uc18d\uc2dc \ub2e4\ub978 node\uc5d0 \ubbf8\ub9ac<\/strong><\/span><\/p>\n<\/td>\n<\/tr>\n<tr style=\"height: 42px\">\n<td style=\"border-style: none solid solid; border-left-color: black; border-left-width: 2.125pt; border-bottom-color: black; border-bottom-width: 1pt; border-right-color: black; border-right-width: 1pt; width: 137px;\">\n<p style=\"text-align: left; margin-left: 6pt;\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\"><strong>Language \ubcc4<\/strong><\/span><\/p>\n<\/td>\n<td style=\"border-style: none solid solid none; border-bottom-color: black; border-bottom-width: 1pt; border-right-color: black; border-right-width: 1pt; width: 245px;\">\n<p style=\"margin-left: 6pt; text-align: left;\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\"><strong>\ubaa8\ub4e0 programming language \ub97c TAF\uac00 \uc9c0\uc6d0\ud558\uc9c0\ub294 \uc54a\uace0 OCI\ub97c\uc0ac\uc6a9\ud558\ub294 language \ub9cc\uc744 \uc9c0\uc6d0 \ud55c\ub2e4.<\/strong><\/span><\/p>\n<\/td>\n<td style=\"border-top:  none; border-left:  none; border-bottom:  solid black 1.0pt; border-right:  solid black 2.125pt\">\n<p style=\"margin-left: 6pt; text-align: left;\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\"><strong>OCI\ub97c \uc0ac\uc6a9\ud558\uc9c0 \uc54a\ub294 Language \uc758 \uacbd\uc6b0\uc5d0\ub294 \uc790\uccb4\uc801\uc73c\ub85c<br \/>\n<\/strong><\/span><\/p>\n<p style=\"margin-left: 6pt; text-align: left;\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\"><strong>Logic\uc73c\ub85c \ucc98\ub9ac\ud574 \ud55c\ub2e4. Ex) java thin driver\uc0ac\uc6a9\uc2dc<\/strong><\/span><\/p>\n<\/td>\n<\/tr>\n<tr style=\"height: 61px\">\n<td style=\"border-style: none solid solid; border-left-color: black; border-left-width: 2.125pt; border-bottom-color: black; border-bottom-width: 1pt; border-right-color: black; border-right-width: 1pt; width: 137px;\">\n<p style=\"text-align: left; margin-left: 6pt;\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\"><strong>\uc7a5\uc560 \uc720\ud615\ubcc4 \uc0ac\uc6a9 \uc5ec\ubd80<\/strong><\/span><\/p>\n<\/td>\n<td style=\"border-style: none solid solid none; border-bottom-color: black; border-bottom-width: 1pt; border-right-color: black; border-right-width: 1pt; width: 245px;\">\n<p style=\"margin-left: 6pt; text-align: left;\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\"><strong>\uc7a5\uc560 \uc720\ud615\ubcc4 TAF\ub97c \uc0ac\uc6a9\ud574\uc57c \ud560\uc9c0 \uacb0\uc815\ud55c\ub2e4.<\/strong><\/span><\/p>\n<\/td>\n<td style=\"border-top:  none; border-left:  none; border-bottom:  solid black 1.0pt; border-right:  solid black 2.125pt\">\n<p style=\"margin-left: 6pt; text-align: left;\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\"><strong>\uc5ec\ub7ec \uac00\uc9c0 \uc7a5\uc560\uc5d0 \ub530\ub77c, TAF\ub97c \uc0ac\uc6a9\ud560 Error\uc640 \uc0ac\uc6a9\ud558\uc9c0\uc54a \uc744 Error\ub97c \uad6c\ubd84\ud558\uc5ec \uc801\uc6a9\ud574\uc57c \ud568.<\/strong><\/span><\/p>\n<\/td>\n<\/tr>\n<tr style=\"height: 57px\">\n<td style=\"border-style: none solid solid; border-left-color: black; border-left-width: 2.125pt; border-bottom-color: black; border-bottom-width: 2.125pt; border-right-color: black; border-right-width: 1pt; width: 137px;\">\n<p style=\"text-align: left; margin-left: 6pt;\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\"><strong>\uc801\uc6a9\ud560 Application \uc120\uc815<\/strong><\/span><\/p>\n<\/td>\n<td style=\"border-style: none solid solid none; border-bottom-color: black; border-bottom-width: 2.125pt; border-right-color: black; border-right-width: 1pt; width: 245px;\">\n<p style=\"text-align: left; margin-left: 6pt;\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\"><strong>\uc704\uc758 \ub0b4\uc5ed\ub4e4\uc744 \ubaa8\ub450 \uace0\ub824\ud558\uc5ec CTF, TAF\ub97c \uc801\uc6a9\ud55c Application\uc744\uc120 \uc815\ud55c\ub2e4. \uc774\ub54c \ub108\ubb34 \ub9ce\uc740 Application\uc744 \uace0\ub824 \ud560 \uacbd\uc6b0\uc5d0\ub294 \uc0c1\ud669\uc758 \ubcf5 \uc7a1\ud568\uc5d0 \uc2dc\uc2a4\ud15c\uc758 \uc548\uc815\ud654\uc5d0 \ub098\uc05c \uc601\ud5a5\uc744 \uc904 \uc218 \uc788\ub2e4.<\/strong><\/span><\/p>\n<\/td>\n<td style=\"border-top:  none; border-left:  none; border-bottom:  solid black 2.125pt; border-right:  solid black 2.125pt\">\n<p style=\"text-align: left; margin-left: 6pt;\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\"><strong>\ud504\ub85c\uadf8\ub7a8\uc758 \uc911\uc694\ub3c4\uc5d0 \ub530\ub77c CTF, TAF\ub97c \uc801\uc6a9\ud560 Application \uc744 \uc120\uc815\ud558\uba70, \ub2e4\uc591\ud55c Error\uc5d0 \ub300\ud55c \uc870\uce58\uc0ac\ud56d\uc744 \uc801\uc808\ud558\uac8c \uc801\uc6a9\ud574\uc57c \ud55c\ub2e4.<\/strong><\/span><\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p style=\"text-align: left;\">&nbsp;<\/p>\n<p style=\"text-align: left;\">\n&nbsp;<\/p>\n<h1 style=\"text-align: left;\"><span style=\"font-size:10pt\">TAF\uc5d0\ub294 \uc5ec\ub7ec \uac00\uc9c0 mode \ubc0f method\uac00 \uc788\ub294\ub370, \uac01 Application\uc5d0 \uc801\ud569\ud55c TAF\ubc29\ubc95\uc744 \uacb0\uc815\ud55c\ub2e4.<br \/>\n<\/span><\/h1>\n<p style=\"text-align: left;\">\n&nbsp;<\/p>\n<div style=\"margin-left: 8pt; text-align: left;\">\n<table style=\"border-collapse:collapse\" border=\"0\" align=\"left\">\n<colgroup>\n<col style=\"width:247px\">\n<col style=\"width:364px\">\n<col style=\"width:397px\"><\/colgroup>\n<tbody valign=\"top\">\n<tr style=\"height: 32px; background: #ffff99\">\n<td style=\"border-top:  solid black 2.125pt; border-left:  solid black 2.125pt; border-bottom:  solid black 1.0pt; border-right:  solid black 1.0pt\">\n<p style=\"text-align: center;\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\"><strong>Method\/ Mod<\/strong><\/span><\/p>\n<\/td>\n<td style=\"border-top:  solid black 2.125pt; border-left:  none; border-bottom:  solid black 1.0pt; border-right:  solid black 1.0pt\">\n<p style=\"text-align: center;\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\"><strong>SESSION<\/strong><\/span><\/p>\n<\/td>\n<td style=\"border-top:  solid black 2.125pt; border-left:  none; border-bottom:  solid black 1.0pt; border-right:  solid black 2.125pt\">\n<p style=\"text-align: center;\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\"><strong>SELECT<\/strong><\/span><\/p>\n<\/td>\n<\/tr>\n<tr style=\"height: 29px\">\n<td style=\"border-top:  none; border-left:  solid black 2.125pt; border-bottom:  solid black 1.0pt; border-right:  solid black 1.0pt\">\n<p style=\"text-align: center;\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\"><strong>BASIC<\/strong><\/span><\/p>\n<\/td>\n<td style=\"border-top:  none; border-left:  none; border-bottom:  solid black 1.0pt; border-right:  solid black 1.0pt\">\n<p style=\"margin-left: 6pt; text-align: left;\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\"><strong>\uc7a5\uc560 \ubc1c\uc0dd\uc2dc client\ub294 \uc790\ub3d9\uc801\uc73c\ub85c \ub2e4\ub978 node\ub85c Login\uc774 \ub41c\ub2e4. \ub9cc\uc57d \uc218\ud589\ud558\ub358 Select\ubb38\uc774 \uc788\uc744 \uacbd\uc6b0 \uc5d0\ub294 \ub2e4\uc2dc \uc218\ud589\ud574\uc57c \ud55c\ub2e4.<\/strong><\/span><\/p>\n<\/td>\n<td style=\"border-top:  none; border-left:  none; border-bottom:  solid black 1.0pt; border-right:  solid black 2.125pt\">\n<p style=\"margin-left: 6pt; text-align: left;\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\"><strong>Query\ub97c \uc218\ud589\ud558\ub294 \ub3d9\uc548 \uc7a5\uc560\uac00 \ubc1c\uc0dd\ud558\uba74 \uc790\ub3d9\uc73c\ub85c \ub2e4\ub978 node\ub85c Log in\uc774 \ub418\uba70, \uc218\ud589\ud558\ub358 Query\ub97c \uc790\ub3d9\uc73c\ub85c \ub2e4\uc2dc \uc218\ud589\ud558\uac8c \ub41c\ub2e4.<\/strong><\/span><\/p>\n<\/td>\n<\/tr>\n<tr style=\"height: 29px\">\n<td style=\"border-top:  none; border-left:  solid black 2.125pt; border-bottom:  none; border-right:  solid black 1.0pt\">\n<p style=\"text-align: center;\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\"><strong>PRECONNECT<\/strong><\/span>&nbsp;<\/p>\n<\/td>\n<td rowspan=\"4\" style=\"border-top:  none; border-left:  none; border-bottom:  solid black 2.125pt; border-right:  solid black 1.0pt\">\n<p style=\"margin-left: 6pt; text-align: left;\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\"><strong>Client\ub294 \uc811\uc18d \uc2dc 2\uac1c\uc758 node\uc5d0 \ubaa8\ub450 \uc811\uc18d\ud55c\ub2e4.<br \/>\n<\/strong><\/span><\/p>\n<p style=\"margin-left: 6pt; text-align: left;\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\"><strong>\uc774\ub7ec\ud55c \ubc29\uc2dd\uc740 \uc7a5\uc560 \ubc1c\uc0dd\uc2dc \uc811\uc18d\uc758 \ubd80\ud558\ub97c \uc904\uc77c \uc218 \uc788\ub2e4. \ubb3c\ub85c \uc591\ucabd node\uc5d0 \uc811\uc18d\ud558\uace0 \uc788\uc73c\ubbc0\ub85c \uc811\uc18d\uc5d0 \ub300\ud55c  \ubd80\ub2f4<br \/>\n<\/strong><\/span><\/p>\n<p style=\"margin-left: 6pt; text-align: left;\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\"><strong>\uc774 \uc874\uc7ac\ud55c\ub2e4.<\/strong><\/span><\/p>\n<\/td>\n<td rowspan=\"4\" style=\"border-top:  none; border-left:  none; border-bottom:  solid black 2.125pt; border-right:  solid black 2.125pt\">\n<p style=\"margin-left: 6pt; text-align: left;\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\"><strong>Client\ub294 \uc811\uc18d \uc2dc 2\uac1c\uc758 node\uc5d0 \ubaa8\ub450 \uc811\uc18d\ud55c\ub2e4.<\/strong><\/span><\/p>\n<\/td>\n<\/tr>\n<tr style=\"height: 25px\">\n<td style=\"border-top:  none; border-left:  solid black 2.125pt; border-bottom:  none; border-right:  solid black 1.0pt\">&nbsp;<\/td>\n<\/tr>\n<tr style=\"height: 24px\">\n<td style=\"border-top:  none; border-left:  solid black 2.125pt; border-bottom:  none; border-right:  solid black 1.0pt\">&nbsp;<\/td>\n<\/tr>\n<tr style=\"height: 26px\">\n<td style=\"border-top:  none; border-left:  solid black 2.125pt; border-bottom:  solid black 2.125pt; border-right:  solid black 1.0pt\">&nbsp;<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p style=\"text-align: left;\">\n&nbsp;<\/p>\n<h2 style=\"text-align: left;\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">\uc81c\uc57d\uc0ac\ud56d :OCI(NET8)\uc744 \uc0ac\uc6a9\ud558\ub294 Application\uc5d0 \ud55c \ud574\uc11c \uc801\uc6a9\uac00\ub2a5 \ud558\ub2e4.<br \/>\n<\/span><\/h2>\n<p style=\"text-align: left;\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\"><strong>\ub9cc\uc57d OCI\ub97c \uc0ac\uc6a9\ud558\uc9c0 \uc54a\ub294 Application\uc740 Manual\ud558\uac8c \uc870\uce58\ud574\uc57c \ud568. \uc131\ub2a5 \uce21\uba74\uc5d0\uc11c Application Partitioning\ud6c4\uc5d0 TAF\ub85c Failover\ub294 RAC\uc758 \ubd80\ub2f4\uc744 \uc904 \uc218 \uc788\uc73c\ubbc0\ub85c \uc774\uc5d0 \ub300\ud55c \uace0\ub824\ub3c4 \ud544\uc694\ud568(ping\uc758 \ubd80\ud558)<br \/>\n<\/strong><\/span><\/p>\n<p style=\"text-align: left;\">&nbsp;<\/p>\n<p style=\"text-align: left;\">\n&nbsp;<\/p>\n<h2 style=\"text-align: left;\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">\uf051  TAF Application \uc120\ud0dd \uae30\uc900<br \/>\n<\/span><\/h2>\n<p style=\"margin-left: 47pt; text-align: left;\">\n&nbsp;<\/p>\n<div style=\"margin-left: 27pt; text-align: left;\">\n<table style=\"border-collapse:collapse\" border=\"0\" align=\"left\">\n<colgroup>\n<col style=\"width:286px\">\n<col style=\"width:640px\"><\/colgroup>\n<tbody valign=\"top\">\n<tr style=\"height: 29px; background: #ffff99\">\n<td style=\"border-top:  solid black 2.125pt; border-left:  solid black 2.125pt; border-bottom:  solid black 1.0pt; border-right:  solid black 1.0pt\">\n<p style=\"text-align: center;\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\"><strong>\uc801\uc6a9 \uc5ec\ubd80<\/strong><\/span><\/p>\n<\/td>\n<td style=\"border-top:  solid black 2.125pt; border-left:  none; border-bottom:  solid black 1.0pt; border-right:  solid black 2.125pt\">\n<p style=\"text-align: center;\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\"><strong>Application\uc758 \uc131\uaca9<\/strong><\/span><\/p>\n<\/td>\n<\/tr>\n<tr style=\"height: 42px\">\n<td rowspan=\"2\" style=\"border-top:  none; border-left:  solid black 2.125pt; border-bottom:  solid black 2.125pt; border-right:  solid black 1.0pt\">\n<p style=\"margin-left: 61pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\"><strong>TAF \uc801\uc6a9<\/strong><\/span><\/p>\n<\/td>\n<td style=\"border-top:  none; border-left:  none; border-bottom:  solid black 1.0pt; border-right:  solid black 2.125pt\">\n<p style=\"margin-left: 4pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\"><strong>24X365\ub85c \uc218\ud589\ub418\ub294 Application(daemon \ud615\ud0dc\uc758 \ud504\ub85c\uadf8\ub7a8\uc73c\ub85c \uc790\uccb4\uc801\uc73c\ub85c \uc7ac\uae30\ub3d9 \ud560 \uc218 \uc5c6\ub294Application)<\/strong><\/span><\/p>\n<\/td>\n<\/tr>\n<tr style=\"height: 25px\">\n<td style=\"border-top:  none; border-left:  solid black 1.0pt; border-bottom:  solid black 1.0pt; border-right:  solid black 2.125pt\">\n<p style=\"margin-left: 4pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\"><strong>\uc911\uc694 Transaction\uc744 \ud3ec\ud568\ud558\ub294 Application<\/strong><\/span><\/p>\n<\/td>\n<\/tr>\n<tr style=\"height: 26px\">\n<td rowspan=\"3\" style=\"border-top:  none; border-left:  solid black 2.125pt; border-bottom:  solid black 2.125pt; border-right:  solid black 1.0pt\">\n<p style=\"margin-left: 57pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\"><strong>TAF \ubbf8\uc801\uc6a9<\/strong><\/span><\/p>\n<\/td>\n<td style=\"border-top:  none; border-left:  none; border-bottom:  solid black 1.0pt; border-right:  solid black 2.125pt\">\n<p style=\"margin-left: 4pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\"><strong>\ub2e8\uc21c \uc870\ud68c Web Application<\/strong><\/span><\/p>\n<\/td>\n<\/tr>\n<tr style=\"height: 26px\">\n<td style=\"border-top:  none; border-left:  solid black 1.0pt; border-bottom:  solid black 1.0pt; border-right:  solid black 2.125pt\">\n<p style=\"margin-left: 4pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\"><strong>C\/ S \ud658\uacbd\uc758 \uc870\ud68c Application<\/strong><\/span><\/p>\n<\/td>\n<\/tr>\n<tr style=\"height: 25px\">\n<td style=\"border-top:  none; border-left:  solid black 1.0pt; border-bottom:  solid black 2.125pt; border-right:  solid black 2.125pt\">\n<p style=\"margin-left: 4pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\"><strong>\ub2e4\uc2dc \uc2dc\uc791\ud574\ub3c4 \ub418\ub294 Transaction\uc744 \uac00\uc9c4 Application<\/strong><\/span><\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p style=\"text-align: left;\">\n&nbsp;<\/p>\n<p style=\"margin-left: 47pt; text-align: left;\">\n&nbsp;<\/p>\n<p style=\"margin-left: 47pt; text-align: left;\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">\uf051  <strong>Application TAF \uc801\uc6a9 \ub2e8\uacc4 Flow<br \/>\n<\/strong><\/span><\/p>\n<p style=\"margin-left: 47pt; text-align: left;\">\n&nbsp;<\/p>\n<p style=\"margin-left: 47pt; text-align: left;\">\n&nbsp;<\/p>\n<p style=\"text-align: left;\"><img src=\"https:\/\/i0.wp.com\/oracledba.zapto.org\/wordpress\/wp-content\/uploads\/1\/cfile8.uf.2452314456F346230C238B.png?w=640\" data-recalc-dims=\"1\" \/><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\"><br \/>\n\t\t<\/span><\/p>\n<p style=\"text-align: left;\">&nbsp;<\/p>\n<p style=\"text-align: left;\">\n&nbsp;<\/p>\n<p style=\"text-align: left;\">\n&nbsp;<\/p>\n<p style=\"text-align: left;\">\n&nbsp;<\/p>\n<h1 style=\"text-align: left;\"><span style=\"font-size:10pt\">\uf051 \uac1c\ubc1c \uc5b8\uc5b4\uc5d0 \ub530\ub978 TAF \uc0ac\uc6a9 \uc5ec\ubd80<br \/>\n<\/span><\/h1>\n<h3 style=\"text-align: left;\"><span style=\"font-size:10pt\">Java, C++, etc<br \/>\n<\/span><\/h3>\n<p style=\"margin-left: 101pt; text-align: left;\">\n&nbsp;<\/p>\n<p style=\"margin-left: 29pt; text-align: left;\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">\uf051 <strong>TAF\ub97c \uc0ac\uc6a9 \uac00\ub2a5\ud55c Client Application Product<br \/>\n<\/strong><\/span><\/p>\n<p style=\"text-align: left;\">\n&nbsp;<\/p>\n<div style=\"margin-left: 128pt; text-align: left;\">\n<table style=\"border-collapse:collapse\" border=\"0\" align=\"left\">\n<colgroup>\n<col style=\"width:232px\">\n<col style=\"width:296px\"><\/colgroup>\n<tbody valign=\"top\">\n<tr style=\"height: 32px; background: #ffff99\">\n<td style=\"border-top:  solid black 2.125pt; border-left:  solid black 2.125pt; border-bottom:  solid black 1.0pt; border-right:  solid black 1.0pt\">\n<p style=\"text-align: center;\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\"><strong>Product<\/strong><\/span><\/p>\n<\/td>\n<td style=\"border-top:  solid black 2.125pt; border-left:  none; border-bottom:  solid black 1.0pt; border-right:  solid black 2.125pt\">\n<p style=\"text-align: center;\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\"><strong>\uad6c\ubd84 <\/strong><\/span><\/p>\n<\/td>\n<\/tr>\n<tr style=\"height: 32px\">\n<td style=\"border-top:  none; border-left:  solid black 2.125pt; border-bottom:  solid black 1.0pt; border-right:  solid black 1.0pt\">\n<p style=\"margin-left: 6pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\"><strong>Oracle Call Inte rface<\/strong><\/span><\/p>\n<\/td>\n<td style=\"border-top:  none; border-left:  none; border-bottom:  solid black 1.0pt; border-right:  solid black 2.125pt\">\n<p style=\"margin-left: 6pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\"><strong>Release 8<\/strong><\/span><\/p>\n<\/td>\n<\/tr>\n<tr style=\"height: 32px\">\n<td style=\"border-top:  none; border-left:  solid black 2.125pt; border-bottom:  solid black 1.0pt; border-right:  solid black 1.0pt\">\n<p style=\"margin-left: 6pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\"><strong>ODBC driver<\/strong><\/span><\/p>\n<\/td>\n<td style=\"border-top:  none; border-left:  none; border-bottom:  solid black 1.0pt; border-right:  solid black 2.125pt\">\n<p style=\"margin-left: 6pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\"><strong>Release 8.0.5<\/strong><\/span><\/p>\n<\/td>\n<\/tr>\n<tr style=\"height: 32px\">\n<td style=\"border-top:  none; border-left:  solid black 2.125pt; border-bottom:  solid black 1.0pt; border-right:  solid black 1.0pt\">\n<p style=\"margin-left: 6pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\"><strong>JDBC driver<\/strong><\/span><\/p>\n<\/td>\n<td style=\"border-top:  none; border-left:  none; border-bottom:  solid black 1.0pt; border-right:  solid black 2.125pt\">\n<p style=\"margin-left: 6pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\"><strong>Release 8 (thick driver only)<\/strong><\/span><\/p>\n<\/td>\n<\/tr>\n<tr style=\"height: 32px\">\n<td style=\"border-top:  none; border-left:  solid black 2.125pt; border-bottom:  solid black 1.0pt; border-right:  solid black 1.0pt\">\n<p style=\"margin-left: 6pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\"><strong>Pro*C<\/strong><\/span><\/p>\n<\/td>\n<td style=\"border-top:  none; border-left:  none; border-bottom:  solid black 1.0pt; border-right:  solid black 2.125pt\">\n<p style=\"margin-left: 6pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\"><strong>Release 8i<\/strong><\/span><\/p>\n<\/td>\n<\/tr>\n<tr style=\"height: 32px\">\n<td style=\"border-top:  none; border-left:  solid black 2.125pt; border-bottom:  solid black 1.0pt; border-right:  solid black 1.0pt\">\n<p style=\"margin-left: 6pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\"><strong>SQL*Plus<\/strong><\/span><\/p>\n<\/td>\n<td style=\"border-top:  none; border-left:  none; border-bottom:  solid black 1.0pt; border-right:  solid black 2.125pt\">\n<p style=\"margin-left: 6pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\"><strong>Release 8.0.4<\/strong><\/span><\/p>\n<\/td>\n<\/tr>\n<tr style=\"height: 32px\">\n<td style=\"border-top:  none; border-left:  solid black 2.125pt; border-bottom:  solid black 2.125pt; border-right:  solid black 1.0pt\">\n<p style=\"margin-left: 6pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\"><strong>Oracle Object for OLE<\/strong><\/span><\/p>\n<\/td>\n<td style=\"border-top:  none; border-left:  none; border-bottom:  solid black 2.125pt; border-right:  solid black 2.125pt\">\n<p style=\"margin-left: 6pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\"><strong>Release 8i(Planned)<\/strong><\/span><\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p style=\"text-align: left;\">\n&nbsp;<\/p>\n<p style=\"text-align: left;\">\n&nbsp;<\/p>\n<p style=\"margin-left: 29pt; text-align: left;\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">\uf051 <strong>\ud2b9\uc218\ud55c \uc0ac\uc6a9 \ud615\ud0dc\uc5d0 \ub530\ub978 \uace0\ub824\uc0ac\ud56d.<br \/>\n<\/strong><\/span><\/p>\n<p style=\"margin-left: 101pt; text-align: left;\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\"><strong>Java\uc758 Connection Pool \ud615\ud0dc\uc758 Connection\uc5d0 \ub300\ud55c TAF \uad6c\ud604\ubc29\ubc95 \ubaa8\uc0c9.<br \/>\n<\/strong><\/span><\/p>\n<p style=\"margin-left: 101pt; text-align: left;\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\"><strong>OCI\ub97c \uc0ac\uc6a9\ud558\uc9c0 \uc54a\ub294 Application \uc740 \uc790\uccb4\uc801\uc73c\ub85c Error\ub97c \ud0d0\uc9c0 \ud558\uc5ec \ud504\ub85c\uadf8\ub7a8 \ub0b4\uc5d0 \uc11c Logic\uc73c\ub85c \ucc98\ub9ac\ud558\uc5ec\uc57c \ud55c\ub2e4.<br \/>\n<\/strong><\/span><\/p>\n<p style=\"text-align: left;\">&nbsp;<\/p>\n<p style=\"text-align: left;\">\n&nbsp;<\/p>\n<p style=\"text-align: left;\">\n&nbsp;<\/p>\n<ul>\n<li style=\"text-align: left;\">\n<h1><span style=\"font-size:10pt\">\uc7a5\uc560 \ubc1c\uc0dd \uc2dc\uc810  \uc2dc\ub098\ub9ac\uc624<br \/>\n<\/span><\/h1>\n<\/li>\n<\/ul>\n<p style=\"text-align: left;\">\n&nbsp;<\/p>\n<p style=\"text-align: left;\"><img src=\"https:\/\/i0.wp.com\/oracledba.zapto.org\/wordpress\/wp-content\/uploads\/1\/cfile25.uf.257C074556F3462313DA29.png?w=640\" data-recalc-dims=\"1\" \/><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\"><br \/>\n\t\t<\/span><\/p>\n<p style=\"text-align: left;\">\n&nbsp;<\/p>\n<p style=\"text-align: left;\"><img src=\"https:\/\/i0.wp.com\/oracledba.zapto.org\/wordpress\/wp-content\/uploads\/1\/cfile9.uf.243EC53E56F346231061A9.png?w=640\" data-recalc-dims=\"1\" \/><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\"><br \/>\n\t\t<\/span><\/p>\n<p style=\"text-align: left;\">\n&nbsp;<\/p>\n<p style=\"text-align: left;\">\n&nbsp;<\/p>\n<p style=\"text-align: left;\">\n&nbsp;<\/p>\n<h1 style=\"text-align: left;\"><span style=\"font-size:10pt\">\uc7a5\uc560\uc758 \uc720\ud615\uc5d0 \ub530\ub77c TAF\ub97c \uc0ac\uc6a9\ud558\ub294 \uacbd\uc6b0\uc640 \uc0ac\uc6a9\ud558\uc9c0 \uc54a\ub294 \uacbd\uc6b0\ub97c \uad6c\ubd84\ud558\uc5ec \ub098\ub204\uc5b4 \uace0\ub824\ud55c\ub2e4.<br \/>\n<\/span><\/h1>\n<p style=\"text-align: left;\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\"><br \/>\n\t\t\t<\/span><\/p>\n<div style=\"margin-left: 44pt; text-align: left;\">\n<table style=\"border-collapse:collapse\" border=\"0\" align=\"left\">\n<colgroup>\n<col style=\"width:248px\">\n<col style=\"width:192px\">\n<col style=\"width:432px\"><\/colgroup>\n<tbody valign=\"top\">\n<tr style=\"height: 40px; background: #ffff99\">\n<td style=\"border-top:  solid black 2.125pt; border-left:  solid black 2.125pt; border-bottom:  solid black 1.0pt; border-right:  solid black 1.0pt\">&nbsp;<\/td>\n<td style=\"border-top:  solid black 2.125pt; border-left:  none; border-bottom:  solid black 1.0pt; border-right:  solid black 1.0pt\">\n<p style=\"margin-left: 39pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\"><strong>Error \ubc88\ud638<\/strong><\/span><\/p>\n<\/td>\n<td style=\"border-top:  solid black 2.125pt; border-left:  none; border-bottom:  solid black 1.0pt; border-right:  solid black 2.125pt\">\n<p style=\"text-align: center; margin-left: 128pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\"><strong>Error \ub0b4\uc6a9<\/strong><\/span><\/p>\n<\/td>\n<\/tr>\n<tr style=\"height: 121px\">\n<td style=\"border-top:  none; border-left:  solid black 2.125pt; border-bottom:  solid black 1.0pt; border-right:  solid black 1.0pt\">\n<p style=\"margin-left: 6pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\"><strong>\uc0ac\uc6a9\uc911 \uc7a5\uc560(TAF \ud568)<\/strong><\/span><\/p>\n<\/td>\n<td style=\"border-top:  none; border-left:  none; border-bottom:  solid black 1.0pt; border-right:  solid black 1.0pt\">\n<p style=\"margin-left: 6pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\"><strong>ORA- 01034<br \/>\n<\/strong><\/span><\/p>\n<p style=\"margin-left: 6pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\"><strong>ORA- 3113, ORA- 3114<br \/>\n<\/strong><\/span><\/p>\n<p style=\"margin-left: 6pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\"><strong>ORA- 1033<br \/>\n<\/strong><\/span><\/p>\n<p style=\"margin-left: 6pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\"><strong>ORA- 25401<br \/>\n<\/strong><\/span><\/p>\n<p style=\"margin-left: 6pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\"><strong>ORA- 00020<\/strong><\/span><\/p>\n<\/td>\n<td style=\"border-top:  none; border-left:  none; border-bottom:  solid black 1.0pt; border-right:  solid black 2.125pt\">\n<p style=\"margin-left: 6pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\"><strong>Oracle Not Available Instance Down Shutdown progress<br \/>\n<\/strong><\/span><\/p>\n<p style=\"margin-left: 6pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\"><strong>Cannot Continue Fetch(Fetch \uc911 Error)<br \/>\n<\/strong><\/span><\/p>\n<p style=\"margin-left: 6pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\"><strong>Maximum number of processes xx exceeded<\/strong><\/span><\/p>\n<\/td>\n<\/tr>\n<tr style=\"height: 52px\">\n<td style=\"border-top:  none; border-left:  solid black 2.125pt; border-bottom:  solid black 1.0pt; border-right:  solid black 1.0pt\">\n<p style=\"margin-left: 6pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\"><strong>\uc811\uc18d \uc2dc \uc7a5\uc560(CTF \ud568)<\/strong><\/span><\/p>\n<\/td>\n<td style=\"border-top:  none; border-left:  none; border-bottom:  solid black 1.0pt; border-right:  solid black 1.0pt\">\n<p style=\"margin-left: 6pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\"><strong>ORA- 12541<br \/>\n<\/strong><\/span><\/p>\n<p style=\"margin-left: 6pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\"><strong>ORA- 01034<\/strong><\/span><\/p>\n<\/td>\n<td style=\"border-top:  none; border-left:  none; border-bottom:  solid black 1.0pt; border-right:  solid black 2.125pt\">\n<p style=\"margin-left: 6pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\"><strong>TNS:nolis tener Oracle Not Available<\/strong><\/span><\/p>\n<\/td>\n<\/tr>\n<tr style=\"height: 48px\">\n<td style=\"border-top:  none; border-left:  solid black 2.125pt; border-bottom:  solid black 2.125pt; border-right:  solid black 1.0pt\">\n<p style=\"margin-left: 6pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\"><strong>\uc77c\ubc18 Error(TAF\ud558\uc9c0 \uc54a\uc74c)<\/strong><\/span><\/p>\n<\/td>\n<td style=\"border-top:  none; border-left:  none; border-bottom:  solid black 2.125pt; border-right:  solid black 1.0pt\">\n<p style=\"margin-left: 6pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\"><strong>Others<\/strong><\/span><\/p>\n<\/td>\n<td style=\"border-top:  none; border-left:  none; border-bottom:  solid black 2.125pt; border-right:  solid black 2.125pt\">\n<p style=\"margin-left: 6pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\"><strong>\uc77c\ubc18 SQL\uc218\ud589\uc2dc \ubc1c\uc0dd\ud558\ub294 Error\ub294 TAF\uc5d0 \uc801\uc6a9\ud558\uc9c0 \uc54a\ub294\ub2e4. Ex) extent error\ub098 unique violation error\ub4f1.<\/strong><\/span><\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p style=\"text-align: left;\">\n&nbsp;<\/p>\n<p style=\"text-align: left;\">\n&nbsp;<\/p>\n<h3 style=\"text-align: left;\"><span style=\"font-size:10pt\">\uc7a5\uc560\uc758 \ubcf5\uad6c\ub97c \uc704\ud55c \uc2dc\ub3c4\uc5d0 \ub300\ud55c \uc81c\ud55c(\uc608, 10\ud68c)\uc744 \ub450\uc5b4 \uc7a5\uae30\uc801\uc778 \uc7a5\uc560\uc2dc \ubd88\ud544\uc694\ud55c \uc790\uc6d0 \ub0ad\ube44\ub97c \uc608\ubc29\ud55c\ub2e4.<br \/>\n<\/span><\/h3>\n<p style=\"text-align: left;\">&nbsp;<span style=\"line-height: 1.5;\">&nbsp;&nbsp;<\/span><\/p>\n<h3 style=\"text-align: left;\"><span style=\"font-size:10pt\">\uf051 FailOver(TAF)\uc758 \uacbd\uc6b0\uc5d0 \uc544\ub798\uc758 \uba87 \uac00\uc9c0 \uc815\ubcf4\ub4e4\uc744 \uc783\uc5b4\ubc84\ub9ac\uac8c \ub418\ubbc0\ub85c, TAF\ub97c \uc801\uc6a9\ud558\uae30\ub85c\uc120\uc815 \ub41c Application\ub0b4\uc5d0\uc11c \uc783\uc5b4\ubc84\ub9b0 \uc815\ubcf4\uc5d0 \ub300\ud55c \ucc98\ub9ac Logic\uc744 \ub123\uc5b4\uc57c \ud55c\ub2e4.<br \/>\n<\/span><\/h3>\n<div><span style=\"font-size:10pt\"><br \/><\/span><\/div>\n<p style=\"text-align: left;\"><span style=\"font-size:10pt\">\uf051 <strong>FailOver\ub420 \ub54c, RAC\ud658\uacbd \uc758 Global Loc\uc5d0 \ub300\ud55c remastering \uc791\uc5c5\uc73c\ub85c \uc57d\uac04\uc758 \uc9c0\uccb4 \ud604\uc0c1\uc774 \ub098\ud0c0\ub0a0 \uc218  \uc788\ub2e4.<br \/>\n<\/strong><\/span><\/p>\n<p style=\"text-align: left;\">\n&nbsp;<\/p>\n<p style=\"text-align: left;\">\n&nbsp;<\/p>\n<div style=\"margin-left: 62pt; text-align: left;\">\n<table style=\"border-collapse:collapse\" border=\"0\" align=\"left\">\n<colgroup>\n<col style=\"width:272px\">\n<col style=\"width:544px\"><\/colgroup>\n<tbody valign=\"top\">\n<tr style=\"height: 32px; background: #ffff99\">\n<td style=\"border-top:  solid black 2.125pt; border-left:  solid black 2.125pt; border-bottom:  solid black 1.0pt; border-right:  solid black 1.0pt\">\n<p style=\"text-align: center;\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\"><strong>\uc885 \ub958<\/strong><\/span><\/p>\n<\/td>\n<td style=\"border-top:  solid black 2.125pt; border-left:  none; border-bottom:  solid black 1.0pt; border-right:  solid black 2.125pt\">\n<p style=\"text-align: center;\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\"><strong>\ub0b4 \uc6a9<\/strong><\/span><\/p>\n<\/td>\n<\/tr>\n<tr style=\"height: 32px\">\n<td style=\"border-top:  none; border-left:  solid black 2.125pt; border-bottom:  solid black 1.0pt; border-right:  solid black 1.0pt\">\n<p style=\"margin-left: 4pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\"><strong>PL\/ SQL Pac kage s tatus<\/strong><\/span><\/p>\n<\/td>\n<td style=\"border-top:  none; border-left:  none; border-bottom:  solid black 1.0pt; border-right:  solid black 2.125pt\">\n<p style=\"margin-left: 5pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\"><strong>Package \uc758 global \ubcc0\uc218 \uac19\uc740 \uc815\ubcf4\ub294 \uc190\uc2e4\ub428<\/strong><\/span><\/p>\n<\/td>\n<\/tr>\n<tr style=\"height: 48px\">\n<td style=\"border-top:  none; border-left:  solid black 2.125pt; border-bottom:  solid black 1.0pt; border-right:  solid black 1.0pt\">\n<p style=\"margin-left: 4pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\"><strong>Alter Sess ion Statement<\/strong><\/span><\/p>\n<\/td>\n<td style=\"border-top:  none; border-left:  none; border-bottom:  solid black 1.0pt; border-right:  solid black 2.125pt\">\n<p style=\"margin-left: 5pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\"><strong>Alter s ess ion\uc744 \uc774\uc6a9\ud55c \uc791\uc5c5\uc740 \uc190\uc2e4 \ub418\uba70, \uc774\ub294 TAF\ud6c4\uc5d0 \ub2e4\uc2dc \uc801\uc6a9\ud558\uc5ec\uc218 \ud589 \ud574\uc57c \ud55c\ub2e4.<\/strong><\/span><\/p>\n<\/td>\n<\/tr>\n<tr style=\"height: 33px\">\n<td style=\"border-top:  none; border-left:  solid black 2.125pt; border-bottom:  solid black 1.0pt; border-right:  solid black 1.0pt\">\n<p style=\"margin-left: 4pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\"><strong>\uc9c4\ud589\uc911\uc778 Trans action<\/strong><\/span><\/p>\n<\/td>\n<td style=\"border-top:  none; border-left:  none; border-bottom:  solid black 1.0pt; border-right:  solid black 2.125pt\">\n<p style=\"margin-left: 5pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\"><strong>Trans action\uc740 \ubc18\ub4dc\uc2dc rollbac k\ud55c\ud6c4 \uc791\uc5c5\uc744 \uc9c4\ud589\ud560\uc218 \uc788\ub2e4.<\/strong><\/span><\/p>\n<\/td>\n<\/tr>\n<tr style=\"height: 54px\">\n<td style=\"border-top:  none; border-left:  solid black 2.125pt; border-bottom:  solid black 1.0pt; border-right:  solid black 1.0pt\">\n<p style=\"margin-left: 4pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\"><strong>Cursor<\/strong><\/span><\/p>\n<\/td>\n<td style=\"border-top:  none; border-left:  none; border-bottom:  solid black 1.0pt; border-right:  solid black 2.125pt\">\n<p style=\"margin-left: 5pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\"><strong>Cursor\ub97c \uc5f4\uace0 \uc5f0\uc18d\uc801\uc778 \uc791\uc5c5\uc744 \ud558\ub294 \uac83\uc740 e rro r\ub97c \ubc1c\uc0dd\ud560\uc218 \uc788\ub2e4. (ora-<br \/>\n<\/strong><\/span><\/p>\n<p style=\"margin-left: 5pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\"><strong>25401)<\/strong><\/span><\/p>\n<\/td>\n<\/tr>\n<tr style=\"height: 28px\">\n<td style=\"border-top:  none; border-left:  solid black 2.125pt; border-bottom:  solid black 1.0pt; border-right:  solid black 1.0pt\">\n<p style=\"margin-left: 4pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\"><strong>Temporary table data<\/strong><\/span><\/p>\n<\/td>\n<td style=\"border-top:  none; border-left:  none; border-bottom:  solid black 1.0pt; border-right:  solid black 2.125pt\">\n<p style=\"margin-left: 5pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\"><strong>Temporary table\uc744 \uc0ac\uc6a9\ud558\ub294 \uc815\ubcf4\ub294 \uc783\uc5b4\ubc84\ub9b0\ub2e4.<\/strong><\/span><\/p>\n<\/td>\n<\/tr>\n<tr style=\"height: 29px\">\n<td style=\"border-top:  none; border-left:  solid black 2.125pt; border-bottom:  solid black 2.125pt; border-right:  solid black 1.0pt\">\n<p style=\"margin-left: 4pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\"><strong>Lob loc ator reads<\/strong><\/span><\/p>\n<\/td>\n<td style=\"border-top:  none; border-left:  none; border-bottom:  solid black 2.125pt; border-right:  solid black 2.125pt\">&nbsp;<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p style=\"text-align: left;\">&nbsp;<\/p>\n<p style=\"text-align: left;\">\n&nbsp;<\/p>\n<p style=\"text-align: left;\">\n&nbsp;<\/p>\n<p style=\"text-align: left;\">\n&nbsp;<\/p>\n<p style=\"text-align: left;\">&nbsp;<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\"><span style=\"font-size:10pt\">\uf051 <strong>OCI\ub97c \uc0ac\uc6a9\ud558\ub294 \uacbd\uc6b0\uc758 CTF<br \/>\n<\/strong><\/span><\/p>\n<p style=\"margin-left: 35pt; text-align: left;\"><img src=\"https:\/\/i0.wp.com\/oracledba.zapto.org\/wordpress\/wp-content\/uploads\/1\/cfile25.uf.227D283556F346240B647F.png?w=640\" data-recalc-dims=\"1\" \/><span style=\"font-size:10pt\"><strong><br \/>\n\t\t\t\t\t<\/strong><\/span><\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">\n&nbsp;<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">\n&nbsp;<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\"><span style=\"font-size:10pt\">\uf051 <strong>OCI \uc5c6\uc774 CTF \uad6c\ud604<br \/>\n<\/strong><\/span><\/p>\n<p style=\"margin-left: 35pt; text-align: left;\"><img src=\"https:\/\/i0.wp.com\/oracledba.zapto.org\/wordpress\/wp-content\/uploads\/1\/cfile1.uf.2353B33A56F3462408334B.png?w=640\" data-recalc-dims=\"1\" \/><span style=\"font-size:10pt\"><strong><br \/>\n\t\t\t\t\t<\/strong><\/span><\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">\n&nbsp;<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\"><span style=\"font-size:10pt\">\uf051 <strong>OCI\ub97c \uc0ac\uc6a9\ud558\ub294 \uacbd\uc6b0\uc758 TAF<br \/>\n<\/strong><\/span><\/p>\n<p style=\"margin-left: 35pt; text-align: left;\"><img src=\"https:\/\/i0.wp.com\/oracledba.zapto.org\/wordpress\/wp-content\/uploads\/1\/cfile21.uf.245A0C4256F3462512F97B.png?w=640\" data-recalc-dims=\"1\" \/><span style=\"font-size:10pt\"><strong><br \/>\n\t\t\t\t\t<\/strong><\/span><\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">\n&nbsp;<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\"><span style=\"font-size:10pt\">\uf051 <strong>OCI \uc5c6\uc774 TAF \uad6c\ud604<br \/>\n<\/strong><\/span><\/p>\n<p style=\"text-align: left;\"><img src=\"https:\/\/i0.wp.com\/oracledba.zapto.org\/wordpress\/wp-content\/uploads\/1\/cfile22.uf.244E724456F346250F4C65.png?w=640\" data-recalc-dims=\"1\" \/>\n\t\t\t<\/p>\n<p style=\"text-align: left;\">\n&nbsp;<\/p>\n<p style=\"text-align: left;\">\n&nbsp;<\/p>\n<p style=\"text-align: left;\">\n&nbsp;<\/p>\n<p style=\"text-align: left;\"><span style=\"font-size:11pt\">TAF Sample  \ud504\ub85c\uadf8\ub7a8<br \/>\n<\/span><\/p>\n<p style=\"text-align: left;\">\n&nbsp;<\/p>\n<p style=\"text-align: left;\">Test\ud658\uacbd \ud658\uacbd Server : THVSD01, THVSD02\n<\/p>\n<p style=\"text-align: left;\">Java : Thick(OCI\uc5d0\uc11c \uc81c\uacf5\ub418\ub294 callback\uc774\uc6a9), Thin(Logic\uc73c\ub85c \ucc98\ub9ac)\n<\/p>\n<p style=\"text-align: left;\">User : oraerp01\n<\/p>\n<p style=\"text-align: left;\">\n&nbsp;<\/p>\n<p style=\"text-align: left;\">\n&nbsp;<\/p>\n<p style=\"text-align: left;\">Listener.ora \ub0b4\uc5ed \ub0b4\uc5ed\n<\/p>\n<p style=\"text-align: left;\">\n&nbsp;<\/p>\n<p style=\"text-align: left;\">\n&nbsp;<\/p>\n<p style=\"text-align: left;\">listener.ora(node 1)\n<\/p>\n<p style=\"text-align: left;\">\n&nbsp;<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">ERP01 =\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">(ADDRESS_LIST =\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">(ADDRESS= (PROTOCOL= IPC)(KEY= EXTPROCERP01))\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">(ADDRESS= (PROTOCOL= TCP)(Host= td01_net)(Port= 1812)) )\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">\n&nbsp;<\/p>\n<p style=\"text-align: left;\">listener.ora(node 2)\n<\/p>\n<p style=\"text-align: left;\">\n&nbsp;<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">ERP02 =\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">(ADDRESS_LIST =\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">(ADDRESS= (PROTOCOL= IPC)(KEY= EXTPROCERP01))\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">(ADDRESS= (PROTOCOL= TCP)(Host= td02_net)(Port= 1812)) )\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">\n&nbsp;<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">\n&nbsp;<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">Tnsnames.ora\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">\n&nbsp;<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">TAF_ERP01=\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">(DESCRIPTION_LIST=\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">(DESCRIPTION=\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">(FAILOVER=on)\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">(ADDRESS_LIST =\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">(ADDRESS=(PROTOCOL=tcp)(HOST=TD01_net) (PORT=1812))\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">(ADDRESS=(PROTOCOL=tcp)(HOST=TD02_net) (PORT=1812))\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">)\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">(CONNECT_DATA=\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">(SERVICE_NAME=ERP)\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">(FAILOVER_MODE=\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">(BACKUP=TAF_ERP01)\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">(TYPE=SELECT)\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">(METHOD=BASIC)\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">) ) )\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">)\n<\/p>\n<p style=\"text-align: left;\">\n&nbsp;<\/p>\n<p style=\"text-align: left;\">\n&nbsp;<\/p>\n<p style=\"text-align: left;\">TAFwithOCI.java Sample\n<\/p>\n<p style=\"text-align: left;\">\n&nbsp;<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">\/\/OCI \ub97c \uc774\uc6a9\ud55c Sample\ub85c \ub85c\uc368 \uc368 CallBack Class \ub97c \uc774\uc6a9\ud558\uc5ec \ucc98\ub9ac\ud55c\ub2e4.\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">\/\/ You need to import java.sql and oracle.jdbc packages to use\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">\/\/ JDBC OCI failover callback\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">import java.sql.*;\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">import java.net.*;\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">import java.io.*;\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">import java.util.*;\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">import oracle.jdbc.OracleConnection;\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">import oracle.jdbc.OracleOCIFailover;\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">public class TAFwithOCI {\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">static final String user = &#8220;scott&#8221;;\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">static final String password = &#8220;tiger&#8221;;\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">static final String driver_class = &#8220;oracle.jdbc.driver.OracleDriver&#8221;;\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">static final String URL = &#8220;jdbc:oracle:oci8:@TAF_ERP01&#8221;;\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">public static void main (String[] args) throws Exception {\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">Connection conn = null;\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">CallBack fcbk= new CallBack();\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">String msg = null;\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">Statement stmt = null;\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">ResultSet rset = null;\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">\/\/ Load JDBC driver\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">try {\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">Class.forName(driver_class);\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">}\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">catch(Exception e) {\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">System.out.println(e);\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">}\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">\/\/ Connect to the database\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">conn = DriverManager.getConnection(URL, user, password);\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">\/\/ register TAF callback function\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">((OracleConnection) conn).registerTAFCallback(fcbk, msg);\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">\/\/ Create a Statement\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">stmt = conn.createStatement ();\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">for (int i=0; i&lt;30; i++) {\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">\/\/ Select the ENAME column from the EMP table\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">rset = stmt.executeQuery (&#8221; select to_char(sysdate,&#8217;YYYY MM DD HH24:MI:SS&#8217;)|| &#8221; +\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">&#8221; &#8216;[&#8216;||instance_name||&#8217;][&#8216;||host_name||&#8217;]&#8217; from v$instance &#8220;);\n<\/p>\n<p style=\"text-align: left;\">\n&nbsp;<\/p>\n<p style=\"text-align: left;\">\n&nbsp;<\/p>\n<p style=\"text-align: left;\">TAFwithOCI.java Sample\n<\/p>\n<p style=\"text-align: left;\">\n&nbsp;<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">\/\/ Iterate through the result and print the employee names\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">while (rset.next ())\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">System.out.println (rset.getString (1));\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">\/\/ Sleep one second to make it possible to shutdown the DB.\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">Thread.sleep(1000);\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">} \/\/ End for\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">rset.close();\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">stmt.close();\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">conn.close();\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">} \/\/ End Main()\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">} \/\/ End class jdemofo\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">\/* * Define class CallBack *\/\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">class CallBack implements OracleOCIFailover {\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">\/\/ TAF callback function\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">public int callbackFn (Connection conn, Object ctxt, int type, int event) {\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">\/*********************************************************************\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">* There are 7 possible failover event\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">* FO_BEGIN = 1 indicates that failover has detected a\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">* lost conenction and faiover is starting.\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">* FO_END = 2 indicates successful completion of failover.\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">* FO_ABORt = 3 indicates that failover was unsuccessful,\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">* and there is no option of retrying.\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">* FO_REAUTH = 4 indicates that a user handle has been re-\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">* authenticated.\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">* FO_ERROR = 5 indicates that failover was temporarily un-\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">* successful, but it gives the apps the opp-\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">* ortunity to handle the error and retry failover.\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">* The usual method of error handling is to issue\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">* sleep() and retry by returning the value FO_RETRY\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">* FO_RETRY = 6\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">* FO_EVENT_UNKNOWN = 7 It is a bad failover event\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">*********************************************************************\/\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">String failover_type = null;\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">switch (type) {\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">case FO_SESSION:\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">failover_type = &#8220;SESSION&#8221;;\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">break;\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">case FO_SELECT:\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">failover_type = &#8220;SELECT&#8221;;\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">break;\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">default:\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">failover_type = &#8220;NONE&#8221;;\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">}\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">\n&nbsp;<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">switch (event) {\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">case FO_BEGIN:\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">System.out.println(ctxt + &#8220;: &#8220;+ failover_type + &#8221; failing over&#8230;&#8221;);\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">break;\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">case FO_END:\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">System.out.println(ctxt + &#8220;: failover ended&#8221;);\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">break;\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">case FO_ABORT:\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">System.out.println(ctxt + &#8220;: failover aborted.&#8221;);\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">break;\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">case FO_REAUTH:\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">System.out.println(ctxt + &#8220;: failover.&#8221;);\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">break;\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">case FO_ERROR:\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">System.out.println(ctxt + &#8220;: failover error gotten. Sleeping&#8230;&#8221;);\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">\/\/ Sleep for a while\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">try {\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">Thread.sleep(100);\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">}\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">catch (InterruptedException e) {\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">System.out.println(&#8220;Thread.sleep has problem: &#8221; + e.toString());\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">}\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">return FO_RETRY;\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">default:\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">System.out.println(ctxt + &#8220;: bad failover event.&#8221;);\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">break;\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">}\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">return 0;\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">}\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">}\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">\n&nbsp;<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">\n&nbsp;<\/p>\n<p style=\"text-align: left;\">TAFwithLogic.java Sample\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">\n&nbsp;<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">\/\/ \uc7a5\uc560\uc5d0 \ub300\ud55c \ucc98\ub9ac\ub97c Application \uc5d0\uc11c Logic\uc73c\ub85c \ucc98\ub9ac\ud55c\ub2e4 \uc73c\ub85c \ucc98\ub9ac\ud55c\ub2e4\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">import java.io.*;\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">import java.util.*;\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">import java.sql.*;\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">import java.text.*;\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">public class TAFwithLogic\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">{\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">public static void main( String[] args ) throws Exception\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">{\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">DriverManager.registerDriver( new oracle.jdbc.driver.OracleDriver() );\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">Connection conn = null;\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">Statement stmt = null;\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">\/\/while ( true )\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">for(int i = 1; i &lt; 100; i++)\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">{\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">if ( conn == null )\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">try\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">{\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">conn = DriverManager.getConnection( &#8220;jdbc:oracle:oci8:@TAF_ERP01&#8221;, &#8220;apps&#8221;, &#8220;apps&#8221; );\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">System.out.println ( &#8220;[&#8221; + DateFormat.getDateTimeInstance().format( new java.util.Date() ) +\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">&#8220;] Connection Success&#8221; );\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">}\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">catch ( SQLException e )\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">{\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">System.out.println ( &#8220;[&#8221; +\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">DateFormat.getDateTimeInstance().format( new java.util.Date() ) + &#8220;] Connect FAIL!!&#8221; );\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">System.out.println( e );\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">Thread.sleep( 1000 );\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">continue;\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">}\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">try\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">{\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">stmt = conn.createStatement();\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">\/\/ResultSet rs = stmt.executeQuery( &#8220;select sid froM v$session&#8221; );\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">ResultSet rs = stmt.executeQuery(\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">&#8221; select to_char(sysdate,&#8217;YYYY MM DD HH24:MI:SS&#8217;)|| &#8221; +\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">&#8221; &#8216;[&#8216;||instance_name||&#8217;][&#8216;||host_name||&#8217;]&#8217; from v$instance &#8221; );\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">rs.next();\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">System.out.println(rs.getString(1));\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">stmt.close();\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">Thread.sleep( 1000 ); \/\/ wait 1 second\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">}\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">catch ( SQLException e ) \/\/ SQL \uc218\ud589\uc911\uc5d0 Error\uac00 \ubc1c\uc0dd\ud558 \uac00 \ubc1c\uc0dd\ud558 \uba74  \ub2e4\uc2dc  \uc811\uc18d\ud55c\ub2e4 \ud55c\ub2e4.\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">{\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">System.out.println ( &#8220;[&#8221; +\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">DateFormat.getDateTimeInstance().format( new java.util.Date() ) + &#8220;] Select FAIL!!&#8221; );\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">System.out.println( e );\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">conn = null;\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">}\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">}\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">}\n<\/p>\n<p style=\"margin-left: 35pt; text-align: left;\">}<\/p>\n<p style=\"text-align: left;\">&nbsp;<\/p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>&nbsp; TAF &#8211; Connection Failover options &nbsp; &nbsp; \uc804\uc81c \uc0ac\ud56d : Oracle Server\ub294 RAC\ub85c \uad6c\uc131\ub418\uc5b4\uc57c \ud55c\ub2e4. OCI\ub97c \uc774\uc6a9\ud558\uc9c0 \uc54a\uc740 Application\uc740 TAF\ub97c \uc704\ud55c \ud2b9\ubcc4\ud55c \uae30\ub2a5\uc744 \uc81c\uacf5 \ud558\uc9c0 \uc54a\uc73c\uba70, \uac1c\ubc1c\uc790\uac00 Logic\uc744 \uad6c\ud604\ud574\uc57c \ud55c\ub2e4. TAF\ub97c \uc704\ud55c Server Configuration\uc740 \uc774 \ubb38\uc11c\uc5d0\uc11c \uace0\ub824\ud558\uc9c0 \uc54a\ub294\ub2e4. CONNECTION TIME FAIL OVER\ub294 \uc774 \ubb38\uc11c\uc5d0\uc11c \uace0\ub824\ud558\uc9c0 \uc54a\ub294\ub2e4. \uc704\uc758 \uc0ac\ud56d\ub4e4\uc744 \uc2dc\uac04\uc758 \uc5ec\uc720\uac00 \uc788\uc744 \uacbd\uc6b0\uc5d0\ub294 \uc791\uc131\ud55c\ub2e4. &nbsp; [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":1305,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_bbp_topic_count":0,"_bbp_reply_count":0,"_bbp_total_topic_count":0,"_bbp_total_reply_count":0,"_bbp_voice_count":0,"_bbp_anonymous_reply_count":0,"_bbp_topic_count_hidden":0,"_bbp_reply_count_hidden":0,"_bbp_forum_subforum_count":0,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"spay_email":""},"categories":[25],"tags":[736,737,738,739],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/haisins.synology.me\/wordpress\/wp-content\/uploads\/1\/cfile1.uf.2353B33A56F3462408334B.png?fit=669%2C583&ssl=1","amp_enabled":true,"_links":{"self":[{"href":"https:\/\/haisins.synology.me\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/1304"}],"collection":[{"href":"https:\/\/haisins.synology.me\/wordpress\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/haisins.synology.me\/wordpress\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/haisins.synology.me\/wordpress\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/haisins.synology.me\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1304"}],"version-history":[{"count":0,"href":"https:\/\/haisins.synology.me\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/1304\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/haisins.synology.me\/wordpress\/index.php?rest_route=\/wp\/v2\/media\/1305"}],"wp:attachment":[{"href":"https:\/\/haisins.synology.me\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1304"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/haisins.synology.me\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1304"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/haisins.synology.me\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1304"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}