目次
Applies to:
ホームページ データベース mysql チュートリアル 11gR2中的SCAN监听器和本地监听器配置

11gR2中的SCAN监听器和本地监听器配置

Jun 07, 2016 pm 03:48 PM
s scan 地元 リスナー 構成

11.2 Scan and Node TNS Listener Setup Examples [ID 1070607.1] 修改时间 29-JAN-2012 类型 HOWTO 状态 PUBLISHED In this Document 6MC^A!H7uKAn3m0 Goal %~2FZ1TA2uYy0 Solution :q-B3g]s}j,E0 References H0u{)Q }9{A4X,O2ax0 Applies to: Oracle Net S

11.2 Scan and Node TNS Listener Setup Examples [ID 1070607.1]

  修改时间 29-JAN-2012     类型 HOWTO     状态 PUBLISHED  

In this Document
6MC^A!H7uKAn3m0  Goal
%~2FZ1TA2uYy0  Solution
:q-B3g]s}j,E0  References
&H0u{)Q }9{A4X,O2ax0


Applies to:

Oracle Net Services - Version: 11.2.0.1 and later   [Release: 11.2 and later ]ITPUB个人空间:tD0Ud0rN]Zjq
Information in this document applies to any platform.
/BCr\vs0

Goal

Document to show 11.2 Scan and Node TNS listener examples for RAC, along with client trace connection, showing possible route taken to database from client.  
:gZF0AM:h6p@0

Solution

Example for 2 Node cluster with 2 Scan listeners running, with following details:ITPUB个人空间I6n8F6aK.|

H U8R#D-e sia0

Ipaddress        Hostname<span>ITPUB个人空间h6g4Z.[ I*~1[</span><br> --------------   -------------------------------------<span>ITPUB个人空间"`8}%D(V f</span><br> Scan Addresses:<span>ITPUB个人空间i~%OZ.j!e4?c</span><br> 11.111.111.11    netrac-scan netrac-scan.uk.oracle.com<br> <span>)s\2}_1MO \2N2t+b0</span>22.222.222.22    netrac-scan netrac-scan.uk.oracle.com<br> <span>@ ~,n7G(i-J)R$P\0</span><br> <span>sE#HrY$N0</span>Node Addresses:<br> <span>o]6} t.GC{0</span>12.345.678.111   netrac1 netrac1.uk.oracle.com<br> <span>7j(v!`0Of b+h0</span>12.345.678.222   netrac2 netrac2.uk.oracle.com<span>ITPUB个人空间L5@.P#z};wC</span><br> <span>ITPUB个人空间qr3B z-YK</span><br> Node VIP's<br> <span>M$f^Aph+N$[+PXlE m0</span>12.345.678.888   netrac1-vip netrac1-vip.uk.oracle.com<br> <span>FYRIZ1~&]0</span>12.345.678.999   netrac2-vip netrac2-vip.uk.oracle.com<br> <span>tF4nG:`/kd!fe0</span><br> <span>'w.X/Y1iI.v0</span>


8ej9T*O:a{\^0Database called "v11gr2"
nn4y m7c0N*mZxp0Scan listeners called LISTENER_SCAN1 and LISTENER_SCAN2ITPUB个人空间}U2IX9ht5]B6G
(Most configurations will have upto 3 SCAN listeners configured)ITPUB个人空间%APw+AYF|%T_%gI
DNS setup for the scan address to resolve to 11.111.11.11 or 22.222.222.22
5j$Bg,Kn2D)w d0

C:\>nslookup<span> </span><strong>netrac-scan.uk.oracle.com</strong><span>ITPUB个人空间:J B%N5Rg8b2K</span><br> <u><strong>Server</strong></u>: dns001.uk.oracle.com<span>ITPUB个人空间3]0a jyK sm</span><br> Address: 10.10.1.0<br> <span>H bG1qZ0</span><br> <span>)@&[ @a%P(F1a}@0</span>Name:<span> </span><strong>netrac-scan.uk.oracle.com</strong><br> <span>7a g4sO-C O0</span>Addresses:<span> </span><strong>11.111.111.11, 22.222.222.22</strong>

ITPUB个人空间 ^ C f"J7Q9h/a)g
Node 1.
2U$MEgP)Y1s0
w'b^GQ!Ma0SCAN listener "LISTENER_SCAN1" is currently running on Node 1.ITPUB个人空间h8AM @&isb
Both the SCAN and Node listeners run from the grid oracle home. This the recommend setup.
2lrV*y9s7?0

[grid@netrac1 admin]$ ps -ef |grep tnslsnr<span>ITPUB个人空间:gUTYvX `</span><br> grid 9185 1 0 10:57 ? 00:00:00 /u01/app/11.2.0/grid/bin/tnslsnr<span> </span><strong>LISTENER</strong><span> </span>-inherit<br> <span>F:N m$~+n1cJ0</span>grid 9707 9061 0 11:09 pts/3 00:00:00 grep tnslsnr<span>ITPUB个人空间/n5YU-n6l bl</span><br> grid 10762 1 0 Feb08 ? 00:03:19 /u01/app/11.2.0/grid/bin/tnslsnr<span> </span><strong>listener_scan1</strong><span> </span>-inherit<span>ITPUB个人空间_ enw0kl:[| n</span><br>


2q2u6D"w&d%?{Z0Database parameter LOCAL_LISTENER points to Node VIP address
's%c9b4]#sM0
\[Bx7]3Qo0

SQL> show parameter local_listener<span>ITPUB个人空间Z+G| }'T|S</span><br> <span>ITPUB个人空间[P3Oi QK ]dq</span><br> NAME TYPE VALUE<span>ITPUB个人空间B j ?DT#F</span><br> ------------------------------------ ----------- ------------------------------<br> <span>pd;vdY5e0</span>local_listener string (DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=netrac1-vip)(PORT=1521))))


E1v8xE E[Zy'a0Database Parameter REMOTE_LISTENER points to SCAN nameITPUB个人空间 P2pXc O7B5O

uPv)j+Hl0

SQL> show parameter remote_listener<br> <span>!yA)a bI|!o0</span><span>ITPUB个人空间4h0K.\J]sL*H r</span><br> NAME TYPE VALUE<span>ITPUB个人空间5T|*x%WD2G~+|</span><br> ------------------------------------ ----------- ------------------------------<br> <span>O-Q&kx Z.t&{'I|G5H7F0</span>remote_listener string netrac-scan.uk.oracle.com:1521

Listener.ora Node1
~'T7Q!Wj0

[grid@netrac1 admin]$ more listener.ora<span>ITPUB个人空间]W4^?v%J</span><br> <strong>LISTENER_SCAN2</strong>=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER_SCAN2)))) # line added by Agent<br> <span>p'\*PcR8J%]0</span><strong>LISTENER</strong>=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER))))# line added by Agent<br> <span>hsZ'\lB_ Q0</span><strong>LISTENER_SCAN1</strong>=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER_SCAN1)))) # line added by Agent<span>ITPUB个人空间,d\:rxL}%lH</span><br> <span>ITPUB个人空间HvE F(I`</span><br> ENABLE_GLOBAL_DYNAMIC_ENDPOINT_LISTENER_SCAN1=ON # line added by Agent<br> <span>3d0dc-X9I G*Lp0</span>ENABLE_GLOBAL_DYNAMIC_ENDPOINT_LISTENER=ON # line added by Agent<br> <span>Q)YA:s"l*W-nI3i7t*R0</span>ENABLE_GLOBAL_DYNAMIC_ENDPOINT_LISTENER_SCAN2=ON # line added by Agent

ITPUB个人空间1i\l1yd:Ds
The ENABLE_GLOBAL_DYNAMIC_ENDPOINT_ parameter is set to allow the listener to accept connections for pre-11.2 databases which did not register the dynamic endpoint.ITPUB个人空间J V W'VP+dI3f m

.h&G{n?0Listener status "listener" showing 1 instance registered, ie instance running on the node
X e7TWb0
q6i j:N0\0

[grid@<strong>netrac1</strong><span> </span>admin]$ lsnrctl status listener<br> <span>*H"TK_7lZ(g0</span>Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER)))<br> <span>@ Xua6dv H/TD&|L0</span>STATUS of the LISTENER<span>ITPUB个人空间4XV(V1V:E&G</span><br> ------------------------<span>ITPUB个人空间4H|1t8[Q8@4Hw6a</span><br> Alias<span> </span><strong>LISTENER</strong><br> <span>G%q!T/|0?qq1k0</span>Version TNSLSNR for Linux: Version 11.2.0.1.0 - Production<br> <span>j mao@0</span>Start Date 15-FEB-2011 10:57:09<br> <span>;k)_T#Ir,J6v0</span>Uptime 0 days 0 hr. 0 min. 46 sec<span>ITPUB个人空间){c|&Ez.K&U</span><br> Trace Level off<br> <span>%xR'[0I6Gv0</span>Security ON: Local OS Authentication<span>ITPUB个人空间/hB(@8b{O#m.i</span><br> SNMP OFF<span>ITPUB个人空间b;Y't`1y1CEC7T4I</span><br> Listener Parameter File /u01/app/11.2.0/grid/network/admin/listener.ora<br> <span>?#O%W R D![$fRzD0</span>Listener Log File /u01/app/grid/diag/tnslsnr/netrac1/listener/alert/log.xml<span>ITPUB个人空间*Q CI3O7^s</span><br> Listening Endpoints Summary...<br> <span>zfTkf"Z0</span>(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=LISTENER)))<span>ITPUB个人空间\$zT&F;a</span><br> (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=12.345.678.111)(PORT=1521)))<span> </span><strong>** Node IP Address **</strong><br> <span>7h\A)Wq0</span>(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=12.345.678.888)(PORT=1521)))<span> </span><strong>** Node VIP Address **</strong><span>ITPUB个人空间0|@\ql&v/XP u&d-I\:d }</span><br> Services Summary...<span>ITPUB个人空间)zt/D x+s\(x7l</span><br> Service "<strong>v11gr2</strong>" has 1 instance(s).<br> <span>{sI,g~T6|2Q0</span>Instance "<strong>v11gr21</strong>", status READY, has 2 handler(s) for this service...<span>ITPUB个人空间qu'p jNq^ y</span><br> The command completed successfully<span>ITPUB个人空间FDO$K*Xxr GTg1h</span><br>


&UF6]O1Ew~/`0New file for 11.2 called endpoints_listener.ora, showing the Node IP address and Node VIP address.ITPUB个人空间+gbz0F5Bnu
ITPUB个人空间bDI1dn2|eWxb

[grid@netrac1 admin]$ more endpoints_listener.ora<br> <span>ZP1^"o}l/w-O0</span>LISTENER_NETRAC1=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=netrac1-vip)(PORT=1521))(ADDRESS=(PROTOCOL=TCP)(HOST=12.345.678.888)(PORT=1521)(IP=FIRST)))) # line added by Agent

ITPUB个人空间D-b8m3yr]hp
Endpoints_listener.ora file is there for backward compatibility with pre-11.2 databases.ITPUB个人空间.w4u p-a7m jj
DBCA needs to know the endpoints location to configure database parameters and tnsnames.ora file.ITPUB个人空间Z*X h6Ef({$@
It used to use the listener.ora file, 11.2 RAC listener.ora by default only has IPC entries.ITPUB个人空间1s$OZMAj

"f/rxT"S/kD"H!q0Listener status "listener_scan1" showing both instances registered from the nodes.
\p.RHh`V0ITPUB个人空间 U`htV0Z!x

[grid@<strong>netrac1</strong><span> </span>admin]$<span> </span><strong>lsnrctl status listener_scan1</strong><span>ITPUB个人空间Q6xv l[ Krmg</span><br> <span>ITPUB个人空间]DHQCCn)gv</span><br> LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 15-FEB-2011 11:04:46<span>ITPUB个人空间 x3` c9b U H</span><br> <br> <span>j0n"c`B+snI$V+r0</span>Copyright (c) 1991, 2009, Oracle. All rights reserved.<span>ITPUB个人空间}7j8k+M ft/k</span><br> <span>ITPUB个人空间%cp*V p2q V-`S$O</span><br> Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER_SCAN1)))<br> <span>%YVq+{g'g0</span>STATUS of the LISTENER<span>ITPUB个人空间t%Gw'O$RT f</span><br> ------------------------<br> <span>J \9`WJg&r-x!d0</span>Alias<span> </span><strong>listener_scan1</strong><span>ITPUB个人空间,e^})Fl!M</span><br> Version TNSLSNR for Linux: Version 11.2.0.1.0 - Production<br> <span>(d5CTw \e0</span>Start Date 08-FEB-2011 15:46:52<span>ITPUB个人空间;T-TX3G5q:r h</span><br> Uptime 6 days 19 hr. 17 min. 53 sec<span>ITPUB个人空间IE+T o%^P</span><br> Trace Level support<br> <span>@VW k rOE_`0</span>Security ON: Local OS Authentication<span>ITPUB个人空间,g6F'S}PC9D</span><br> SNMP OFF<span>ITPUB个人空间$\u [3B!SDy A</span><br> Listener Parameter File /u01/app/11.2.0/grid/network/admin/listener.ora<span>ITPUB个人空间kesX0DST s1w</span><br> Listener Log File /u01/app/11.2.0/grid/network/log/listener_scan1.log<br> <span>oo6@'@? i0</span>Listener Trace File /u01/app/11.2.0/grid/network/trace/listener_scan1.trc<span>ITPUB个人空间4X1x,zq:FSg</span><br> Listening Endpoints Summary...<span>ITPUB个人空间w)l;c,{*|D&w</span><br> (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=LISTENER_SCAN1)))<br> <span>O#Oiq"{r o{ z/c0</span>(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=<strong>11.111.111.11</strong>)(PORT=1521)))<span> </span><strong>** Scan VIP **</strong><span>ITPUB个人空间h @7E0`z:KrP</span><br> Services Summary...<br> <span>g \ _+xC"S"? G5Q0</span>Service "<strong>v11gr2</strong>" has 2 instance(s).<span>ITPUB个人空间0O)nn#u+wtm.yKQ#H</span><br> Instance "<strong>v11gr21</strong>", status READY, has 3 handler(s) for this service...<span>ITPUB个人空间4a,V uD$l8g3S</span><br> Instance "<strong>v11gr22</strong>", status READY, has 2 handler(s) for this service...<span>ITPUB个人空间(iv ] W&R</span><br> The command completed successfully<br> <span>xyoT-@}0</span>

ITPUB个人空间4t#VDz&Zv1K$i
Node 2.
C*d&^s?(H0_G0SCAN listener "LISTENER_SCAN2" is currently running on Node 2, along with node listener "listener"ITPUB个人空间;jxS;pG@k4Q9{
ITPUB个人空间%Hb8k/M*t%RK

[grid@netrac2 ~]$ ps -ef |grep tnslsnr<span>ITPUB个人空间8c8L&A,}0esY</span><br> grid 4466 1 0 Feb07 ? 00:00:11 /u01/app/11.2.0/grid/bin/tnslsnr<span> </span><strong>LISTENER</strong><span> </span>-inherit<span>ITPUB个人空间3U _Edln T _</span><br> grid 4481 1 0 Feb07 ? 00:00:13 /u01/app/11.2.0/grid/bin/tnslsnr<span> </span><strong>LISTENER_SCAN2</strong><span> </span>-inherit<br> <span>e ])u"IK t6cG8c0</span>grid 32059 31690 0 11:08 pts/1 00:00:00 grep tnslsnr<br> <span>^w7o4h wR0</span>

ITPUB个人空间pZzsfN
Database parameter LOCAL_LISTENER points to Nodes VIP address
,Qgg0vEEuH0ITPUB个人空间7EeN1U[Zwf

SQL> show parameter local_listener<br> <span>m7H#P-f'j&@+],N0</span><br> <span>(l"J+A&R7kLe`1W0</span>NAME TYPE VALUE<span>ITPUB个人空间|zh8X*bG7| X</span><br> ------------------------------------ ----------- ------------------------------<br> <span>3O @"T/h`,w0</span>local_listener string (DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=netrac2-vip)(PORT=1521))))


(FO d$_/c}0Database Parameter REMOTE_LISTENER points to SCAN name.ITPUB个人空间L.m1AVIu
ITPUB个人空间*oiC*z\O;R

SQL> show parameter remote_listener<br> <span>e1i-l0\ k'q2k0</span><span>ITPUB个人空间q|H/A5Y"|1],o</span><br> NAME TYPE VALUE<span>ITPUB个人空间 Ckv)Y9n"C\#V</span><br> ------------------------------------ ----------- ------------------------------<span>ITPUB个人空间2N;w/~~7T s(H6}</span><br> remote_listener string netrac-scan.uk.oracle.com:1521

Listener.ora Node2

[grid@netrac2 admin]$ more listener.ora<br> <span>[U`_(SE0</span><strong>LISTENER_SCAN2</strong>=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER_SCAN2)))) # line added by Agent<span>ITPUB个人空间-n#iM[%k/Z</span><br> <strong>LISTENER_SCAN1</strong>=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER_SCAN1)))) # line added by Agent<span>ITPUB个人空间5Iy-F nc~G*{b</span><br> <strong>LISTENER</strong>=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER))))# line added by Agent<span>ITPUB个人空间*pN{7h^!i0M L!ki</span><br> ENABLE_GLOBAL_DYNAMIC_ENDPOINT_LISTENER=ON # line added by Agent<br> <span>lQ ~2WI0</span>ENABLE_GLOBAL_DYNAMIC_ENDPOINT_LISTENER_SCAN1=ON # line added by Agent<br> <span>7]]8z/H;o J1MV0</span>ENABLE_GLOBAL_DYNAMIC_ENDPOINT_LISTENER_SCAN2=ON # line added by Agent<br> <span>U4SqD \0</span>


^[-B0mc(u'rU,{(a)b0"Line added by Agent" is the Oraagent is the process updating the listener.ora and endpoints_listener.ora files.ITPUB个人空间6s1H:r#BW0^7W `
ITPUB个人空间Iyk\z$X&i`F,r
Endpoints_listener.ora showing the Node IP address and Node VIP addressITPUB个人空间o&EP%F9[ [l m

8\ ZbOGP1C]L0

[grid@netrac2 admin]$ more endpoints_listener.ora<span>ITPUB个人空间n+D(m_;X2d(t</span><br> LISTENER_NETRAC2=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=netrac2-vip)(PORT=1521))(ADDRESS=(PROTOCOL=TCP)(HOST=12.345.678.999)<span> </span>(PORT=1521)(IP=FIRST)))) # line added by Agent<br> <span>*z%eNr2q9b d"v4l0</span>

ITPUB个人空间s J J/u~"nm s
Listener status "listener" showing 1 instance registered
1P%uG5?-m0
g*gX9c\%]0R.f^0

[grid@<strong>netrac2</strong><span> </span>admin]$<span> </span><strong>lsnrctl status listener</strong><span>ITPUB个人空间2X2X4B^2u.y{/t5q V</span><br> <span>ITPUB个人空间2v3~*O \9kg</span><br> LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 15-FEB-2011 11:24:28<br> <span>g{I+Td0</span><br> <span>.|M+W/_J0nM0</span>Copyright (c) 1991, 2009, Oracle. All rights reserved.<br> <span>h%M]#jd4{G,V0</span><span>ITPUB个人空间9`de Q;W9C/} c^Kn</span><br> Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER)))<span>ITPUB个人空间wa-qn Du{3b&U</span><br> STATUS of the LISTENER<br> <span>ODD%D$l#tl'z\0</span>------------------------<span>ITPUB个人空间+f| M/ufp ze|</span><br> Alias<span> </span><strong>LISTENER</strong><br> <span>-w_ hLk3s!Q(h0</span>Version TNSLSNR for Linux: Version 11.2.0.1.0 - Production<span>ITPUB个人空间+^;Z'D[1x0Cx0N</span><br> Start Date 07-FEB-2011 10:48:06<span>ITPUB个人空间{*y9P.[} S5|.v8^.{</span><br> Uptime 8 days 0 hr. 36 min. 22 sec<span>ITPUB个人空间az,a^%eoy</span><br> Trace Level off<br> <span>^8rw Q*~ O9Q0</span>Security ON: Local OS Authentication<span>ITPUB个人空间yKP[Yoo0B!c</span><br> SNMP OFF<span>ITPUB个人空间cct0RVK s</span><br> Listener Parameter File /u01/app/11.2.0/grid/network/admin/listener.ora<span>ITPUB个人空间v'} kMyva/h</span><br> Listener Log File /u01/app/grid/diag/tnslsnr/netrac2/listener/alert/log.xml<span>ITPUB个人空间Aa }3O#q</span><br> Listening Endpoints Summary...<span>ITPUB个人空间@3L]F"` s `%j1`</span><br> (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=LISTENER)))<br> <span>6Zy*s~3^&}}@0</span>(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=<strong>12.345.678.222</strong>)(PORT=1521)))<span> </span><strong>**Node IP Address**</strong><br> <span>~Ds.A^0</span>(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=<strong>12.345.678.999</strong>)(PORT=1521)))<span> </span><strong>**Node VIP Address**</strong><br> <span>yp"^W$R L/C0</span>Services Summary...<span>ITPUB个人空间7CvMv sF ~&a</span><br> Service "<strong>v11gr2</strong>" has 1 instance(s).<span>ITPUB个人空间:x s:C|c ?3U</span><br> Instance "<strong>v11gr22</strong>", status READY, has 2 handler(s) for this service...<br> <span>Q efk|Y(FZ:}0</span>The command completed successfully<span>ITPUB个人空间`a/\(h)p j0m)g l9qD</span><br>

ITPUB个人空间 t%drP!BKQH
Listener status "listener_scan2" showing both instances registered
@XFR%gN!{#c0

[grid@<strong>netrac2</strong><span> </span>admin]$<span> </span><strong>lsnrctl status listener_scan2</strong><br> <span>Od9q]5T]x{0</span><span>ITPUB个人空间haJoC s</span><br> LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 15-FEB-2011 11:32:14<span>ITPUB个人空间S oj{H2b:v</span><br> <span>ITPUB个人空间n"c9iE^!m</span><br> Copyright (c) 1991, 2009, Oracle. All rights reserved.<span>ITPUB个人空间xPF"LL</span><br> <span>ITPUB个人空间KZ+~I{;YnU#H</span><br> Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER_SCAN2)))<br> <span>7X[[B3[g+{0</span>STATUS of the LISTENER<span>ITPUB个人空间5M$l&E PH,y</span><br> ------------------------<span>ITPUB个人空间N$Yk E"Z*I+W9i7cd;lH</span><br> Alias<span> </span><strong>LISTENER_SCAN2</strong><br> <span>-X8Q/EL)c/az%P0</span>Version TNSLSNR for Linux: Version 11.2.0.1.0 - Production<span>ITPUB个人空间)Jw4os$nJE</span><br> Start Date 07-FEB-2011 10:48:06<span>ITPUB个人空间 fh-fm/iCY</span><br> Uptime 8 days 0 hr. 44 min. 7 sec<span>ITPUB个人空间l}CX&d:}L</span><br> Trace Level off<br> <span>"ZI1u1|#QON0</span>Security ON: Local OS Authentication<span>ITPUB个人空间1hQ_G/xQ5RJx</span><br> SNMP OFF<br> <span>9X*|xHI0</span>Listener Parameter File /u01/app/11.2.0/grid/network/admin/listener.ora<span>ITPUB个人空间!rB3`X6D#v</span><br> Listener Log File /u01/app/11.2.0/grid/log/diag/tnslsnr/netrac2/listener_scan2/alert/log.xml<br> <span>!X6Jc,\s5H)O9U0</span>Listening Endpoints Summary...<br> <span>XS8m:ft9V-w9f0</span>(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=LISTENER_SCAN2)))<br> <span>q [CP hT0</span>(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=<strong>22.222.222.22</strong>)(PORT=1521)))<strong>** Scan VIP **</strong><br> <span>lrcN?4r Dp0</span>Services Summary...<br> <span>#D7mUh J0</span>Service "<strong>v11gr2</strong>" has 2 instance(s).<span>ITPUB个人空间5{&G~)}5m</span><br> Instance "<strong>v11gr21</strong>", status READY, has 3 handler(s) for this service...<span>ITPUB个人空间v;R:C\{@</span><br> Instance "<strong>v11gr22</strong>", status READY, has 2 handler(s) for this service...<br> <span>/w A_oF/@0</span>The command completed successfully

ITPUB个人空间d.w&}7{*Vn"h
Further information on the listeners can be found via svrctlITPUB个人空间V&d){ z$B-C9vuq
ITPUB个人空间bn]!l/L.|

[grid@netrac1 admin]$ srvctl config scan_listener<br> <span>rS0z c%nC+c7lM0</span>SCAN Listener LISTENER_SCAN1 exists. Port: TCP:1521<br> <span>G;x8IB"Z3ihwk1Pj|0</span>SCAN Listener LISTENER_SCAN2 exists. Port: TCP:1521<br> <span>F1A cN(c \A$w0</span><span>ITPUB个人空间HI+ct8LI</span><br> [grid@netrac1 admin]$ srvctl config scan<br> <span>m`7DE7c8H0</span>SCAN name: netrac-scan.uk.oracle.com, Network: 1/10.167.20.50<br> <span>c8hk/xd|.E0</span>.240.0/255.255.240.0/eth1<br> <span>.T Uv7sS%O8qu8IV;Z0</span>SCAN VIP name: scan1, IP: /netrac-scan.uk.oracle.com/11.111.111.11<br> <span>7A2W;J:u7Y:@~0</span>SCAN VIP name: scan2, IP: /netrac-scan.uk.oracle.com/22.222.222.22ITPUB个人空间9B q7D.G_}PSs

Configuration changes to the Listener are made via svrctlITPUB个人空间o7^-Fg8GMH1G
ITPUB个人空间m!vr Q+Xh{
Note 952903.1 How to update the IP address of the SCAN VIP resources (ora.scan.vip)
1vg W"my^0Note 975457.1 How to Troubleshoot Connectivity Issue with 11gR2 SCAN NameITPUB个人空间+Q7v;^-j+K&W*Q,J
Note 972500.1 How to Modify SCAN Setting after Installation
U](Zzm(Q~H0

SQLNET.ORA

Ensure the GI Oracle home has in the SQLNET.ORA file ezconnect in the directory Path
'rT [%v$c(L!Z!c0

NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)<br> <span>1e"u)nL/x ?-S;Bh4m0</span>

Client connection example

C:\Documents and Settings\sflood>sqlplus scott/tiger@netscan<span>ITPUB个人空间4Cd)W8k*V</span><br> <span>ITPUB个人空间(Ju c#h g d5[.^</span><br> SQL*Plus: Release 11.2.0.1.0 Production on Tue Feb 15 11:43:02 2011<br> <span>Wg]+U)Y6{u0</span><br> <span>"D"l0vER kl uHP0</span>Copyright (c) 1982, 2010, Oracle. All rights reserved.<br> <span>n U*OA'\~!r4Zk%oQ!h8@0</span><br> <span>*j\Z;Y%E#j(e0</span><br> <span>/Z r2t t'tK$h!]JQ m&f0</span>Connected to:<br> <span>Z#y0R7t%U7fF0</span>Oracle Database <u><strong>11g</strong></u> Enterprise Edition Release 11.2.0.1.0 - 64bit Production<span>ITPUB个人空间L _wE^Vf4H</span><br> With the Partitioning, Real Application Clusters, Automatic Storage Management,<br> <span>} Q-Th^3O4Y:?w'B0</span><u><strong>Data</strong></u> Mining and Real Application Testing options<br> <span>w g6ZN6V J7e'}r0</span><span>ITPUB个人空间-]_/[,vW||</span><br> SQL> select instance_name from v$instance;<br> <span>|jw9{v$I$w1DO0</span><span>ITPUB个人空间G*J0XA8d J)~M</span><br> INSTANCE_NAME<br> <span>.lbB `z2U0</span>----------------<br> <span>~"^ghM"R{M0</span>v11gr22

ITPUB个人空间Wp'u!f~Z
Calling address used 
~Cg0cW ] x)M(O0
"E/I:M-I8]2K+V0f0

15-FEB-2011 11:43:02:703] niotns: Calling address: (DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=netrac-scan.uk.oracle.com)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=v11gr2)(CID=(PROGRAM=c:\Oracle\RDBMS112\bin\sqlplus.exe)(HOST=sflood-uk)(USER=sflood))))
r H0@:SAx!R(q Lt0

ITPUB个人空间%}&}ow^4rY_?
Resolve the Scan address and build connection information on address information supplied by DNSITPUB个人空间1t3c}#c8Yj(ub)d'Z

4hj2LYPHD0

[15-FEB-2011 11:43:02:703] nlad_expand_hst: Expanding netrac-scan.uk.oracle.com
Eq/} p7lD/TuU0[15-FEB-2011 11:43:02:703] snlinGetAddrInfo: entryITPUB个人空间 dH)oE`y
[15-FEB-2011 11:43:02:734] snlinGetAddrInfo: exitITPUB个人空间p;I+~N'L z%A ssf
[15-FEB-2011 11:43:02:734] snlinGetNameInfo: entryITPUB个人空间@FAw4K)S
[15-FEB-2011 11:43:02:734] snlinGetNameInfo: exit
.S3H8gRF1a.F%s0[15-FEB-2011 11:43:02:734] nlad_expand_hst: Adding IP 11.111.111.11ITPUB个人空间uT9YwD.zV,I
[15-FEB-2011 11:43:02:734] snlinGetNameInfo: entry
i8z3cF#G s0[15-FEB-2011 11:43:02:734] snlinGetNameInfo: exit
6Em{A8t4j8Y)Gl0[15-FEB-2011 11:43:02:734] nlad_expand_hst: Adding IP 22.222.222.22
w$K8C)Zr[/u0[15-FEB-2011 11:43:02:734] snlinFreeAddrInfo: entry
_3rF%NMOY4U1QD0H0[15-FEB-2011 11:43:02:734] snlinFreeAddrInfo: exit
/j!@c9CScf0[15-FEB-2011 11:43:02:734] nlad_expand_hst: Result: (DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=11.111.111.11)(PORT=1521))(ADDRESS=(PROTOCOL=TCP)(HOST=22.222.222.22)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=v11gr2)(CID=(PROGRAM=c:\Oracle\RDBMS112\bin\sqlplus.exe)(HOST=sflood-uk)(USER=sflood))))ITPUB个人空间q$l)Cx|A"n5O

ITPUB个人空间6_Ds2s3E/S(l}Q
Selected Node 1
g9@J(_rK$hW u;~y0
)MKB['kf0

[15-FEB-2011 11:43:02:734] nsc2addr: (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=11.111.111.11)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=v11gr2)(CID=(PROGRAM=c:\Oracle\RDBMS112\bin\sqlplus.exe)(HOST=sflood-uk)(USER=sflood))))ITPUB个人空间s@.d$ni(k j
[15-FEB-2011 11:43:02:734] nttbnd2addr: entry
$G(h|+yyoM-xt0[15-FEB-2011 11:43:02:734] snlinGetAddrInfo: entryITPUB个人空间1f[x:m/~ ^7~
[15-FEB-2011 11:43:02:734] snlinGetAddrInfo: exit
8y ie%U6sUF7@*J0[15-FEB-2011 11:43:02:734] nttbnd2addr: using host IP address: 11.111.111.11

ITPUB个人空间]m1d0f5n~
Start of the connection handshake 
n8\-d%@&f7mqo5]0
r#J6`s|J0

[15-FEB-2011 11:43:02:734] nscon: doing connect handshake...ITPUB个人空间*g5R&N1\ CN-`5p
[15-FEB-2011 11:43:02:734] nscon: sending NSPTCN packet

ITPUB个人空间!idh T c g8_/z%j+GG3x
Redirect packet from Scan TNS listener ITPUB个人空间'[lY YS

5XN{#UZM3Bjz0

[15-FEB-2011 11:43:02:859] nscon: got NSPTRD packetITPUB个人空间M JbS+Gsa?hd

ITPUB个人空间#ZCSZj2U?$h7K+X
Connection told to redirect to Node 2 Node listener 
Bo&hSd0ITPUB个人空间!nm+goT`P

[15-FEB-2011 11:43:02:859] nsc2addr: (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=netrac2-vip)(PORT=1521)))

ITPUB个人空间o%Jy5JEA;PC
Connection handshake completed (Connect, Resend, Connect, Accept)
I;Z kqu"NW;zY0ITPUB个人空间5yKiz;f;a

[15-FEB-2011 11:43:02:890] nscon: doing connect handshake...ITPUB个人空间H#XK1uK/Vg mX fz
[15-FEB-2011 11:43:02:890] nscon: sending NSPTCN packetITPUB个人空间gQ$S/YN q

%I`}U%a? Le b*N0[15-FEB-2011 11:43:02:921] nscon: got NSPTRS packet
c1l.wo;k`0ITPUB个人空间+S/aVb#^"Y!jh
[15-FEB-2011 11:43:02:921] nscon: sending NSPTCN packet
`1^iy$O.O8It O0ITPUB个人空间R1Ak+U3]I|-jI O |
[15-FEB-2011 11:43:02:921] nscon: got NSPTAC packet
;q"Iana+eHUWRV8o0

ITPUB个人空间B1H.B#q3m F^,D&P
After authentication and banner packets pass, we see the select run "nsbasic_bsd" = send
P\ZO3YY0ITPUB个人空间3^J+c-uC

[15-FEB-2011 11:43:11:953] nsbasic_bsd: 00 00 00 00 00 00 00 00 |........|
4]*Q;M|UsL0[15-FEB-2011 11:43:11:953] nsbasic_bsd: 24 73 65 6C 65 63 74 20 |$select.|
2K1SV j,ri0[15-FEB-2011 11:43:11:953] nsbasic_bsd: 69 6E 73 74 61 6E 63 65 |instance|ITPUB个人空间[4S!S3{M;yK#?
[15-FEB-2011 11:43:11:953] nsbasic_bsd: 5F 6E 61 6D 65 20 66 72 |_name.fr|ITPUB个人空间-K\7vM0I/m&E;L
[15-FEB-2011 11:43:11:953] nsbasic_bsd: 6F 6D 20 76 24 69 6E 73 |om.v$ins|ITPUB个人空间7O%m2f:_v1u B
[15-FEB-2011 11:43:11:953] nsbasic_bsd: 74 61 6E 63 65 01 00 00 |tance...|


ceK9mSv0And the information received "nsbasic_brc" = receive 
]l%i2`9U? W,\`0
`%@@~%IN0

[15-FEB-2011 11:43:11:953] nsbasic_brc: 00 00 0D 49 4E 53 54 41 |...INSTA|
4i7DU$k]Q3ka0[15-FEB-2011 11:43:11:953] nsbasic_brc: 4E 43 45 5F 4E 41 4D 45 |NCE_NAME|
'j~3\^#_$[%aj#?o0[15-FEB-2011 11:43:11:968] nsbasic_brc: 00 00 00 00 00 00 00 00 |........|
+cp5\w#e0~s'XG0[15-FEB-2011 11:43:11:968] nsbasic_brc: 00 00 00 00 00 00 07 00 |........|ITPUB个人空间v*_\JwCd5K9Y[
[15-FEB-2011 11:43:11:968] nsbasic_brc: 00 00 07 78 6F 02 0F 0C |...xo...|ITPUB个人空间Z4S$Y k?t
[15-FEB-2011 11:43:11:968] nsbasic_brc: 2F 28 00 00 00 00 E8 1F |/(......|ITPUB个人空间d+J5[gbs
[15-FEB-2011 11:43:11:968] nsbasic_brc: 00 00 33 00 00 00 33 00 |..3...3.|ITPUB个人空间d%zN xP$NZ
[15-FEB-2011 11:43:11:968] nsbasic_brc: 00 00 00 00 00 00 06 22 |......."|ITPUB个人空间4Q.H@ } d
[15-FEB-2011 11:43:11:968] nsbasic_brc: 01 00 00 00 00 00 01 00 |........|ITPUB个人空间q6h3\!u*S
[15-FEB-2011 11:43:11:968] nsbasic_brc: 00 00 00 00 00 00 00 00 |........|
:G6Ad`|:[3kUH~0[15-FEB-2011 11:43:11:968] nsbasic_brc: 00 00 00 00 07 07 76 31 |......v1|ITPUB个人空间%qa)U7p'D#qr+SS
[15-FEB-2011 11:43:11:968] nsbasic_brc: 31 67 72 32 32 08 06 00 |1gr22...|
9l"] u@jS0[15-FEB-2011 11:43:11:968] nsbasic_brc: BE 7C FC 02 00 00 00 00 |.|......|ITPUB个人空间'wX A$G&xqC

TNSNAMES.ORA ITPUB个人空间2S6f5c(J9o2G

entry only now needs to have the Scan name

NETSCAN =<span>ITPUB个人空间 V+{!O6Ddgg</span><br> (DESCRIPTION =<br> <span>4E f(JX9k0</span>  (ADDRESS_LIST =<br> <span>J$px S&uY%e,B0</span>   (ADDRESS = (PROTOCOL = TCP)(HOST = netrac-scan.uk.oracle.com)(PORT = 1521))<br> <span>e$W9d5R-k0</span>  )<span>ITPUB个人空间y#Bg}ux"XsrhX</span><br> (CONNECT_DATA =<span>ITPUB个人空间lI q9a!L</span><br>   (SERVICE_NAME = v11gr2)<span>ITPUB个人空间(Htc@/d</span><br>   )<br> <span>\ a;^E6zW%n_+W0</span>)

ITPUB个人空间X;L,^[4b,]
Pre 11.2 clients will need to the use the SCAN VIP addresses,as they do not contain the code to understand the two addresses returned by DNS, a thus connections would not load balance correctly. 
vi8l*sf9L'q#__0

SDU and Scan

As SCAN listener information is altered via srvctl via grid oracle home, then SDU can be change for all Oracle Net connections with the profile parameter DEFAULT_SDU_SIZE in the SQLNET.ORA file.ITPUB个人空间!^yX[M^ \o!} Z

References

NOTE:948456.1 - Pre 11.2 Database Issues in 11gR2 Grid Infrastructure EnvironmentITPUB个人空间'yQH"ntMR {
ITPUB个人空间 ^??+XdN'Q7]
ITPUB个人空间0N6[&Ny$c"M1U0~F
         首先从11gR2开始,SCAN监听器和本地监听器都是通过Grid来管理的,相关的配置文件都是存放在$GRID_HOME/network/admin/目录中,相关的进程运行在grid操作系统用户下。ITPUB个人空间H;v_e%b
      
3Q3PT.C^)e {R4F q}0        其次$GRID_HOME/network/admin/endpoints_listener.ora是个向后兼容的文件,其中包含了节点的公共IP地址和VIP地址,Grid必须要能够找到这个文件。$GRID_HOME/network/admin/listener.ora文件中的ENABLE_GLOBAL_DYNAMIC_ENDPOINT_ 参数表示当CRS在监听上创建动态endpoints,这个参数添加向后兼容性,允许客户端连接到11gR2之前的实例,甚至是没有动态注册到endpoint的实例。ITPUB个人空间c!HT*qIq
ITPUB个人空间 LWMk6J(S?5m
有关监听器的endpoint概念可以参考文章:
http://space.itpub.net/23135684/viewspace-715967
z r*^%O*Dr5D0ITPUB个人空间5`Zc({ O~E7A ~8v)H

1M!f2?.~P%| ]H"\-g[0
+e V xc5m3C2S0ITPUB个人空间 f.w m J-Pn/I
ITPUB个人空间%Th+d%Y%N

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

LinuxシステムにおけるGDMの動作原理と設定方法 LinuxシステムにおけるGDMの動作原理と設定方法 Mar 01, 2024 pm 06:36 PM

タイトル: Linux システムにおける GDM の動作原理と構成方法 Linux オペレーティング システムでは、GDM (GNOMEDisplayManager) は、グラフィカル ユーザー インターフェイス (GUI) ログインとユーザー セッション管理を制御するために使用される一般的なディスプレイ マネージャーです。この記事では、GDM の動作原理と構成方法を紹介し、具体的なコード例を示します。 1. GDM の動作原理 GDM は GNOME デスクトップ環境のディスプレイ マネージャーであり、X サーバーの起動とログイン インターフェイスの提供を担当します。

PyCharm と PyTorch の完璧な組み合わせ: 詳細なインストールと構成手順 PyCharm と PyTorch の完璧な組み合わせ: 詳細なインストールと構成手順 Feb 21, 2024 pm 12:00 PM

PyCharm は強力な統合開発環境 (IDE) であり、PyTorch はディープ ラーニングの分野で人気のあるオープン ソース フレームワークです。機械学習とディープラーニングの分野では、開発に PyCharm と PyTorch を使用すると、開発効率とコード品質が大幅に向上します。この記事では、PyCharm に PyTorch をインストールして構成する方法を詳しく紹介し、読者がこれら 2 つの強力な機能をより効果的に活用できるように、具体的なコード例を添付します。ステップ 1: PyCharm と Python をインストールする

PyCharm で Git 構成をセットアップする方法 PyCharm で Git 構成をセットアップする方法 Feb 20, 2024 am 09:47 AM

タイトル: PyCharm で Git を正しく構成する方法 現代のソフトウェア開発において、バージョン管理システムは非常に重要なツールであり、Git は人気のあるバージョン管理システムの 1 つとして、開発者に強力な機能と柔軟な操作を提供します。強力な Python 統合開発環境として、PyCharm には Git のサポートが付属しているため、開発者はコードのバージョンをより簡単に管理できます。この記事では、開発プロセス中により良い開発を促進するために、PyCharm で Git を正しく構成する方法を紹介します。

Linux Bashrc の機能、構成、使用法を理解する Linux Bashrc の機能、構成、使用法を理解する Mar 20, 2024 pm 03:30 PM

Linux Bashrc について: 機能、構成、および使用法 Linux システムでは、Bashrc (BourneAgainShellrunco​​mmands) は非常に重要な構成ファイルであり、システムの起動時に自動的に実行されるさまざまなコマンドと設定が含まれています。 Bashrc ファイルは通常、ユーザーのホーム ディレクトリにある隠しファイルであり、その機能はユーザーの Bashshell 環境をカスタマイズすることです。 1. Bashrc関数の設定環境

ローカル音楽をソーダミュージックに追加する方法 ローカル音楽をソーダミュージックに追加する方法 Feb 23, 2024 pm 07:13 PM

ローカル音楽を Soda Music に追加する方法? Soda Music APP にお気に入りのローカル音楽を追加できますが、ほとんどの友達はローカル音楽の追加方法を知りません。次は、Soda Music にローカル音楽を追加する方法に関するグラフィック チュートリアルです。編集者、興味のある方はぜひ見に来てください!ソーダ ミュージックの使用に関するチュートリアル. ソーダ ミュージックにローカル音楽を追加する方法. 1. まずソーダ ミュージック APP を開き、メイン ページの下部にある [音楽] 機能エリアをクリックします; 2. 次に、再生ページに入り、 をクリックします右下隅の [3 つの点] アイコン; 3. 最後に、下の機能バーを展開し、[ダウンロード] ボタンを選択してローカル音楽に追加します。

シンプルでわかりやすいPyCharmの設定Gitチュートリアル シンプルでわかりやすいPyCharmの設定Gitチュートリアル Feb 20, 2024 am 08:28 AM

PyCharm は一般的に使用される統合開発環境 (IDE) であり、日常の開発では Git を使用してコードを管理することが不可欠です。この記事では、PyCharm で Git を構成し、コード管理に Git を使用する方法を、具体的なコード例とともに紹介します。ステップ 1: Git をインストールする まず、Git がコンピューターにインストールされていることを確認します。インストールされていない場合は、[Git 公式 Web サイト](https://git-scm.com/) にアクセスして、最新バージョンの Git をダウンロードしてインストールします。

win11システムでワークグループを構成する方法 win11システムでワークグループを構成する方法 Feb 22, 2024 pm 09:50 PM

Win11 でワークグループを構成する方法 ワークグループは、ローカル エリア ネットワークで複数のコンピューターを接続する方法であり、ファイル、プリンター、その他のリソースをコンピューター間で共有できるようになります。 Win11 システムでは、ワークグループの構成は非常に簡単で、次の手順に従うだけです。ステップ 1: 「設定」アプリケーションを開く まず、Win11 システムの「スタート」ボタンをクリックし、ポップアップ メニューで「設定」アプリケーションを選択します。ショートカット「Win+I」を使用して「設定」を開くこともできます。ステップ 2: [システム] を選択します 設定アプリには、複数のオプションが表示されます。 「システム」オプションをクリックしてシステム設定ページに入ってください。ステップ 3: [バージョン情報] を選択します。 [システム] 設定ページには、複数のサブオプションが表示されます。クリックしてください

MyBatis Generator 設定パラメータの解釈とベスト プラクティス MyBatis Generator 設定パラメータの解釈とベスト プラクティス Feb 23, 2024 am 09:51 AM

MyBatisGenerator は、MyBatis が公式に提供するコード生成ツールで、開発者がデータベース テーブル構造に準拠した JavaBeans、Mapper インターフェイス、および XML マッピング ファイルを迅速に生成するのに役立ちます。コード生成に MyBatisGenerator を使用するプロセスでは、構成パラメーターの設定が重要です。この記事では、構成パラメータの観点から開始し、MyBatisGenerator の機能を詳しく説明します。

See all articles