ࡱ> Q( (/ 00DTimes New Roman_bbv 0b( 0gDArialNew Roman_bbv 0b( 0g" DComic Sans MSn_bbv 0b( 0gB0Dr_ansians MSn_bbv 0b( 0g1g .@  @@``  @n?" dd@  @@`` @G;)   2      #$%  ) TP? fONG@g4<d<dv 0bPppp@ g4KdKdv 0bppp@  <4!d!d4b 0bbuʚ;2Nʚ;<4dddd4b{ 0 bb:2___PPT9/ 0?>% *http://www.evdbt.com/O =rH  Agenda%How SQL*Net works Configuring SQL*Net Debugging SQL*Net Trouble-shooting: common error messages and their remedies Note: Although Oracle renamed SQL*Net to Net8, the basic functionality covered in this presentation has not changed, so both products will be referred to as SQL*Net throughout...|sZZsp(~How SQL*Net worksIt s mostly a code layer on the client-side and the server-side of an Oracle connection all tools and programs include the client-side code layer of SQL*Net SQL*Plus, PRO*C programs, Developer, Designer, Discoverer, Express using the Oracle Call Interface (OCI) API directly other connectivity middleware (i.e. ODBC) include the SQL*Net client-side code layer as well, thus incorporating OCI indirectly the server processes (a.k.a. shadow processes) include the server-side code layer of SQL*Net Also, there are independent server-side processes, for establishing connections and (optionally) name resolution$XE]q #<              )+How SQL*Net works: establishing connections,,)standard network listener model is used similar to the network listener mechanism employed by ftp, telnet, nfs, rlogin and other standard services listener can establish connections for: local-clients (on the same machine as the server) pipe mechanism bypasses SQL*Net listener altogether for PROTOCOL=IPC, listener monitors UNIX-domain sockets on UNIX, mailboxes on VMS, to establish a bequeathed connection via pipes remote-clients (across a LAN/WAN) PROTOCOL=TCP | IPX | NMP | SNA | DEC for TCP, listener monitors a network port or socket (i.e. 1521)v(k(2"e (2T   "  B  k*Establishing connectionsSQL*Net listener can be (should be!) registered as a known service on the network (i.e. UNIX /etc/services file) SQL*Net listener process listens for connection requests client processes send a connection request to the known service the known service validates the received connection request (i.e. correct ORACLE_SID specified, etc) spawns server process (i.e. Oracle shadow process) re-directs the client process to attach to the server process disengages to listen for more connection requests REPEATO5   4V%+BEstablishing connections (cont d)"" ,BEstablishing connections (cont d)"" -BEstablishing connections (cont d)"" .BEstablishing connections (cont d)"" /BEstablishing connections (cont d)"" 0BEstablishing connections (cont d)"" 1BEstablishing connections (cont d)"" %{#How SQL*Net works: names resolution$$What is names resolution? A generic networking issue SQL*Net V1 didn t include names resolution; address components were specified at run-time (i.e. T:hostname:oracle-sid) Still true with JDBC  thin driver introduced with SQL*Net v2, continued into Net8 (SQL*Net v3) symbolic name (i.e.  PROD.world ) resolves to multiple address components SQL*Net offers five methods for names resolution file-based (i.e. TNSNAMES.ORA) repository centralized service (i.e. Oracle Names) as repository Directory naming (i.e. LDAP) Host naming External repository (i.e. NIS, Novell NDS, CDE/CDS)ZZ#Z=ZJZ1ZZ59 #=J  1'}File-based names resolutionDecision between file-based or service-based names resolution decided with SQLNET.NAMES_DIRECTORY parameter in SQLNET.ORA file on the client-side: parameter setting is a list of directory services TNSNAMES, ONAMES, HOSTNAME if not set at all, defaults to HOSTNAME then TNSNAMES if no SQLNET.ORA file exists, defaults to HOSTNAME then TNSNAMES also TNSNAMES.ORA file is a repository on the client-side Win95/98/NT/2000: use regedit to find NET20 or NET80 entry in Registry default is  drive:\ORAxxx\NETWORK\ADMIN Unix: look for TNS_ADMIN variable Default is  $ORACLE_HOME/network/admin Some platforms default to  /etc alsofZ2ZZ|Z5ZGZ)Z"Z(Z&Z|5    *            "(&,<;Service-based names resolutionSQLNET.ORA file must exist on client-side parameter SQLNET.NAMES_DIRECTORY must contain the value  ONAMES another parameter value identifies where the name service is located Oracle Names is a repository on the server-side anywhere on the network, another network listener process, called an Oracle Names Server, is available to respond to resolution requests from client processes this should be administered globally, not for each database or application administration role closer to network admin, not DBAkE05kE0!3'5   Configuring SQL*Netsimple client-side configuration UNIX: directory $ORACLE_HOME/network/admin Windows: directory Drive:\ORAxxx\NETWORK\ADMIN file SQLNET.ORA (existance is optional) if it exists, then it could contain configuration parameters for: name resolution method (TNSNAMES or ONAMES) SQL*Net client-side tracing other more advanced features file TNSNAMES.ORA contains definitions of SQL*Net connect strings!Z(Be0! (    '  e0,f !8Configuring SQL*Net (cont d)8simple listener (server-side) configuration UNIX: directory $TNS_ADMIN or $ORACLE_HOME/network/admin or, for some platforms, hard-coded directories like /etc (HP-UX) or /var/opt/oracle (Solaris), etc Windows: directory Drive:\ORAxxx\NETWORK\ADMIN file SQLNET.ORA (existance is optional) contains: server-side tracing Dead Connection Detector (DCD) file LISTENER.ORA (existance is mandatory) contains: list of protocols and ports on which to listen list of Oracle database instances to establish connections for (optional) log file and tracing configuration information,235,  5 #235  P5 ^ "Sample SQLNET.ORA fileTSQLNET.EXPIRE_TIME sets dead connection detection SQL*Net trace levels: OFF, USER, ADMIN, or DEV TRACE_UNIQUE_CLIENT = TRUE will create a unique filename for each client process can exist on either the client or the server TRACE_xxx_CLIENT is used by client-side processes only TRACE_xxx_SERVER is used by the Oracle server processes onlybR-t1R=4,44Sample TNSNAMES.ORA fileExample shows TCP/IP; parms change with other protocols HOST can be either hostname or IP address PORT is a TCP/IP socket number SID is the ORACLE_SID of the instance on the machine For TCP/IP, this is the minimum information to resolve to a specific database on a specific machineZ9~d9 TdSample LISTENER.ORA file =LISTENER.ORA parameters2ADDRESS_LIST contains list of listening points for local connections, PROTOCOL=IPC for network connections, PROTOCOL=TCP, etc listener name (default:  LISTENER ) is used to link to other parameters: SID_LIST_listener-name database instances served by listener-name TRACE_xxx_listener-name SQL*Net tracing parameters for the listener process STARTUP_WAIT_TIME_listener-name CONNECT_TIME_listener-name others... /OI+4E/OI         3             #How to debug SQL*NetNSQL*Net tracing initiated from three separate points: client-side code-layer: TRACE_xxx_CLIENT server-side code-layer: TRACE_xxx_SERVER listener process: TRACE_xxx_LISTENER where xxx is either LEVEL, DIRECTORY, or FILE LEVEL can have values of OFF, USER, ADMIN, or DEV where lsnr-name is the name of the listener (default:  LISTENER ) SQL*Net listener logging LOG_DIRECTORY_lsnr-name for the directory location of the log file belonging to the SQL*Net listener named lsnr-name (default name:  LISTENER ) LOG_FILE_lsnr-name for the name of the log file62B6& %2 3 T % T& \_X*#>Trouble-shooting Verify network connectivity ping IP-Address Verify network names resolution ping symbolic-hostname Verify SQL*Net connectivity and names resolution tnsping connect-string Verify Oracle database instance availability SQL*Plus Verify ODBC connectivity ODBC Test utility 1-   1-   p&:How to debug SQL*Net (cont d) (Common Error Messages and their remediesTNS-12154  TNS:could not resolve service name the SQL*Net connect string you specified is not in TNSNAMES.ORA TNS-12545 "TNS:name lookup failure" HOST specified not a valid network hostname; either  typo or a network DNS failure (try using only IP address instead) TNS-12203 "TNS:unable to connect to destination" either the specified HOST machine is  down or the SQL*Net listener at the specified HOST and PORT is not running ORA-03113 "end-of-file on communication channel" either the specified HOST, the Oracle database instance, or your particular Oracle server process terminated abnormally after connection established/@$x1r1/@$x1r1  bs@ Questions? Q&A?/P" 2 3 456789?Pb(Z ` ̙33` 3` 3333f` 999MMM` f` f3` 3>?" dU@"|?" xOd@  dd`8 n?" dZ(@   @@``PR    @ ` ` p>> ZVRV U(     `\7_gֳgֳ ?`` _ \*hh88    `dN_gֳgֳ ?`  _ d*hh88   `n_gֳgֳ ?`  _ ^*hh88pB  Hp?b|b  Zt_gֳgֳ ?6` _ ? Slide Title  #  Thp_gֳgֳ ?b00 _ ;Body Text Second Level Third Level Fourth Level Fifth Level     <O8   2  Z@f @?Z   *BCDE F !D?99!$&( + . 1 3 578;>@A@ >< : : 75443467:; ? B DFLRTWZ\_ ^ Z [ ]_^[YYZYZWTT!R$P&M(T(W(Y(\']**(%!!      & , 2 3 6 ; @@<;>@CGIJMNRVW V TTO P LJGC? A DGKOQ TURNKIKNRUZ^b``cffhknqsvxwz x |z~ } } ~wxtrogb^bdgknmihjmrv{  ~}~{vx{     {wrrtwrootvy}{wtommmoljglnrvxy{|vsopv{~|xvsqnkgddcffe~eydtgqjnlnljngpetgxh}gggklmmkhiklllifcb```_\[\_ba_[WVY\^adeegieceeb_][XUY[_b`^[YXUVY}XxZx^uaqcmcjbh`i^h[jYkWkSnPrQwRyPyLwJsHuFyEzDxCuDrEpErCr@s>t<s9p:q=p@oDlCk@i<l<n:p:p8o5q3t2v3w7x:z={@zCyD|CB==<9669<<:63412-+)'(*+/368863131/+***]*\,X.U-T*T(U(M(K(I-H0F3C3@0@+?&<"= ;97420+)!."2$4'7*7/644603+2+00/0,/*.-++/(0+.(+((*)-)1(5)8&6$7#5$2!3 68;;=AC E H"G#D'D)A*=)8+4-10346688;:=<A<C?F<I9I5K2M.O+S'V'Y'[$]%`"c"g$j#m kgeehggjmotwuux{|}!#)-348:>BFKKKIHHEA>?<9642/-+**(&#""!###! !~{z { yvtpnkmpsqolg`WK> /%st@Z   *BCDE F }?99"$& ) , / 1 2569;>?> ;9 8 8 5222124589 < ? ADJPRTWY] [ X X [\\XVWXVXURQ!P$N&K'Q'U'W(Y'[)~)'%!!      &, 236;? ? < ; > ?C F HJ L M R V WU S S NPL J G C ?ADGKNPTUQMJIKNQUZ^b_`bfehjmpruxvyx|y}}|}wwsrnfa^bdgkmligimruz      }|~zvw{       ~zvrqtvroosvy|{vsommmoljflmrvxyz~|vsoouz~~}yvtqnlhebaaccb}cxbtepgnjmijkfndqfugzf~fgkkmljhikklkiebb_``_[Z[_aa^[WVX[^`cedgiecddb_\ZWUX[_b`~][YXU~U}XzWvYu^r`nbkcgbe`g^e[gYhVhSkOpPtRvPvLtJpHrFvDwCvCsCpDnEoCp?q=q;p9n:n=n@mCiCh@f<j;k:m9m7l5o3q2s3t7u:w=x@wBvDyC|B}==<9669;;:63412-+)'(*+/257863121}.~+~*~*~)[)Y,V.S,R*R(R'K'I(F,E0D3A2>0>+<%:"; 9751/.)'!,"0#2'5*5/4416.2)2)0...,-*,-)+,(.+,()(&*'-'1&4'8$5"7!5"2368;;=@CDH G!C%C'@(='7)4+1.326476;8=9@:C<E:H7H3J0M,O)S%U%X%Z"]"_ b f"j!lkfdehffi l o svttx{{|!'+1268<?CHIIFFEB?;=:741/,+)((&$! !!!~z z { yvsomkmpsqlicZRI> 1'st@Z   *BCDE F 1_?99!#&( + . 0 3 468:=?@? =; 9 9744334579; > A CFKQSVY[^ ] Y Z\^]ZXXYXYVSS!Q$O&L(S(V(X)['\**(%!"     &, 247; @ @ < ;> @C G IJM N RW WV T T O Q M J G D @ AEGKOQUVRNKIKNRV[_c``cgfiknqsvywzy}z~~~~xxusogb^cehlnnjhjnsw|       ~}{wx|     {wsruwsppuwz}|wupnnnpmkgmnswyz|}wtppv{zwuromjfccbedd~dycufqioknkklgoergwh{gghllnnkijllmljfcb`aa`\[\`bb_\XWY\_adfehifdeec`][XUY[`c`^\ZYUV~Y{XwZv^saocldibg`h^g[iYiWiSlPqQvRxPxMvJrHtGwExDwDtDqEoFqCq@r>s<q9o;o>o@nDkDj@h=k<m:n:n8n5p4s2u3v7w;y=y@xCxEzD~B>>=9669<<:73522.+)')++/368963231/++**\*[,W.T-S+S(T(L(J(H-G0F4B3@0?+>&<"< ;9631/+)!."1$4'6*70653603*2*0//0,/+-.++.)0+-(*((*(.(2(5(8%6$7#5$2!3 69;;=AC E I"H"D&D)A)>)8*4,20436587;:=;A;D>F<I8I4K1N.P*S'V&Y&[$^$`!c!g#k"m lgefiggjmpuwuuy||} #(-3479=AEJJJHHGD@=>;9631.,+))(&#!!!##"! !|{ | zwupnlnqtrplg`XK> 0%st@H  0޽h? ? f3 $Blank Presentation0 P=(     T9TjJjJ ?P  T p*  hh88  TJjJjJ ?  T r*  hh88  Z%HjJjJ ?P  T p*  hh88  Z0HjJjJ ?  T r*  hh88  T8HUU?_ + ~ Page *Z  ###55FFp  01 ?&  H#  T;Hgֳgֳ ? @D H ;Body Text Second Level Third Level Fourth Level Fifth Level     <H  0޽hdS? ? a( PH (     THjJjJ ?P  H F*   THjJjJ ?  H H*   ZHjJjJ ?P  H F*   ZHjJjJ ?  H H*   TTHUU?_ + l Page *Z ###55FFH  0޽hdS? ? a(S  SS0 S(  [  NTgֳgֳ? ; OTim Gorman Principal Evergreen Database Technologies, Inc. http://www.EvDBT.comPP   &FP8 KJ  KJ P@ KJ  KJ 2  Z^ @?PJ Z  *BCFDE F $[?99`bUMC82,,*(*. =#KW ]'W,K*@09:6E*GM^jw"d*`6R?AQ=b4l&z&# .06EGGSbdoup j`d)Z1b@hNm]pgjss~vecz}u%j*^`SA*' > QO A;,$#2A'ZBfUo^sen}nsjda\_Re>x>>GXfXMMMO>AKKER$b6fRpXol,FF2,=FVisyykXCL]kwlf~^uOGZbfddo}u ifp l1{@pJXug_ngzn}~}apcdQpHp5ifbS;,2#(1-&  /&H,[t9LXf`puiZSM\\E6,}r]cv&?SibMM^fi} '0')S{p`ME6 { c Q9O=@6)E!MM9&r_HFR_H7:Qp]plv}te[vK_8Q*7///:))1H]gltz]sLs:g<kXxrx'B[t{xcOBYq{{}m_a_Y7) tcS?+}m^R?-%" iR-@93H1EN\o #&/- +#D&T)g&s||qePB@716-  s^K9.7.;==Ngykoug^ZXwZg^\ceVgFm;q1h$\+^9\GVZEX?G55H1P(X&XTbq{+7GT]XP995$$11(#@ '%)  zhZWQEI?4(  (*#   ,,7IV^qmZZI9 ",,:7@ICXQdEs2s~ +#xhWR+L:KQW_eUvUxglvx},6Mbw!1BWls]KSC4# ,:E3" lWF0|tcYtRoHv8l+]%Q%<!1%/=LB7& ~#=E]`st@[4Z  *BCGDE F ?99fbUNC82, ,**%3#BNU(N,B*700:.D!GN^j ve!`.R5AH=X4c&r&#-07DGGSbeouqj`e Z)b7hFlTq_jksum\Zr}uj!^`SA* 6 IG 82$#2AZ;fLoUs^e}esbeY\WR^?p??GXfXNNNO?AKKD Rb.fIqPod-EE3->EVitzzkYCL]{knd^~VvG?RZ^\\guym `^i!d2s@iKwZmg~`yng{ynwuuybid\PiIi5`^ZK3$*# 2-/I$[u0DP^Xi~{wm`RKFTT=.$}r]dv 7K`ZFFV^`u )0)*T|iXF=. |eQ0P5@.*="FF0 r`IFS`I8:zPh]hln}l^SvB`0P!8///:))2I]glu{y]kMk:_<cZprp)~C\u|yePCZr||}|eVYVO/ ueT?,udUI6# jS#@04?2=ESf }#(/-!"#<(L)_(ksysi\H97/),%  zjUC0&.&244E^xwzbplg_ZYnZ^_Sc\V^Ed;h1`$S+U9SHMZ=Y6H-5?1G)P'PKZhsw}+7HT]YP995$$11)7    ~xr_QNH<@5+ !    --7JV_rmZZJ9 #-277J:YHe<t)t~+#~o^NI+C:BPN`\UlUogbvwx} #.DXn"3~C{XxmiUBJ:+ -<F4# mXGw0s~~|kZOuIq?v/l"]P<2 % /?MB+ u+>E[fst@KZ  *BCFDE F K|?99`bUMC82,,*(*. =#KX ^(X,K*A09:7D+GM^jw"d+`7R?AQ=b4m&{&# .07DGGSbdoup j`d*Z2bAiOl^phjusvfd{}u'j+^`SA*) @ RP B;-%#2A)ZDfWo_sgo}osldc\aRg>z>>GXfXMMMO>AKKDR&b8fTpZon-EE3-=EVitzzkXCL\kxnh~`uQI[dhffqw jhr!n1}?rJYwg_mgzm~arcfPrHr5j hdU=.4#*1-(/(H.[t :MZhbrwj[UO^^G8.|r]cv(AUjdOO`hj '/')S{rbOG8  {d!Q:O>@8)G!OO:(r_HFS_H89Pr]rkx|ug]vL_:P+8///9) )1H]gktz]uLu9h;mYyry'C[u{xdOCZp{{}o`b`Y9* udS>+~m_S@-%#!jS-?:3H1GN ]p   #'/-!,#E'V)h'u}}sfRCA926.  t_M:080<>>Ngzkovf_ZXxZg_]ceVgEm;r1j$]*_9]HWZGX@H64H1P(Y&YUdr|*7HT\XP994$$11($A (&*  {hZXQEI?4( (+$   --7IV_qmZZI9 ",-;7AICXQeEt3t~ +# x h WS+L9KPW_fUvUxglvx|,7Nbw!2CWls^KTC4$ ,:E3" lWF/|tcYtSpIv8k,]%P%;!1$/>LB8' ~#=E]`st@M(`  0?N U p  T@Tgֳgֳ? HSQL*Net Basics,H  0޽h ? f3$  @ `L(     fLHgֳgֳ ?6`\$0!0  _    fDHgֳgֳ ?  \$ 0!0 H H  0޽h ? f3  ( x l  C 4\6`  \ l  C \P \ H  0޽h ? f3  $( 8: r  S H`  H r  S PHP  H H  0޽h ? f3   0((    # lHgֳgֳ ?0`  H   # llHgֳgֳ ?8  H H  0޽h ? f3   VN (    # lHHgֳgֳ ?6`  H ^  61?$,^  61?T    N$Hgֳgֳ?[ @Client Process^2  61? ,  T Hgֳgֳ?Vo ' AOracle instance  T\Fgֳgֳ? e  BSQL*Net ListenerpB  H?0 ^  61? |L   TFgֳgֳ? yd  81521  NFgֳgֳ?i 31H  0޽h ? f3    N F  (  ^  61?$,^  61?T    NhFgֳgֳ?[ @Client Process^2  61? ,  TFgֳgֳ?Vo ' AOracle instance  T$Fgֳgֳ? e  BSQL*Net ListenerpB  H?0 ^  61? |L   Tp Fgֳgֳ? yd  81521  NFgֳgֳ?i 31^  61?T    T0Fgֳgֳ?   ? Oracle serverpB @ H?    N`Fgֳgֳ? E    32pB @ H? @@  s dFgֳgֳ ?6`  F H  0޽h ? f3    1 )  ( QM ^  61?$,^  61?T    N Fgֳgֳ?[ @Client Process^2  61? ,  T!Fgֳgֳ?Vo ' AOracle instance  T%Fgֳgֳ? e  BSQL*Net ListenerpB  H?0 ^  61? |L   T)Fgֳgֳ? yd  81521  N,Fgֳgֳ?i 31^  61?T    T0Fgֳgֳ?   ? Oracle serverpB @ H?    N|5Fgֳgֳ? E    32pB @ H? @@^  61? L   T(9Fgֳgֳ? d  89900  Nv SQLNET.EXPIRE_TIME = 10 SQLNET.NAMES_DIRECTORY=(TNSNAMES,ONAMES) TRACE_LEVEL_CLIENT = OFF TRACE_DIRECTORY_CLIENT=/tmp TRACE_FILE_CLIENT=cli.trc TRACE_UNIQUE_CLIENT=true TRACE_LEVEL_SERVER = OFF TRACE_DIRECTORY_SERVER=/tmp TRACE_FILE_SERVER=svr.trctrK l  fjgֳgֳ ?@P  H l 0޽h ? f31  pq(    p p  frgֳgֳ ?6`    p  frgֳgֳ ?0    p N@Rgֳgֳ?`  7PROD01 = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP) (HOST = dbserver.us.mycorp.com) (PORT = 1521) ) ) (CONNECT_DATA = (SID = PROD) ) ),nNH p 0޽h ? f3  F>t(  t t  f_gֳgֳ ?6`  _  t N\gֳgֳ?'P_ ^LISTENER = (ADDRESS_LIST = (ADDRESS= (PROTOCOL=IPC) (KEY= PROD) ) (ADDRESS = (PROTOCOL = TCP) (HOST = dbserver.us.mycorp.com) (PORT = 1521) ) ) SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = PROD) (ORACLE_HOME = /opt/dev1/oracle/products/7.3) ) ) STARTUP_WAIT_TIME_LISTENER = 0 CONNECT_TIMEOUT_LISTENER = 10 TRACE_LEVEL_LISTENER = OFF TRACE_DIRECTORY_LISTENER = /tmp TRACE_FILE_LISTENER = listener.trcP H t 0޽h ? f3  ( x l  C \6`  \ l  C \` \ H  0޽h ? f3t  $ x(  x x  f-Ygֳgֳ ?6`  Y  x  f`.Ygֳgֳ ?h  Y H x 0޽h ? f3  ( x l  C \6`  \ l  C \Pb0  \ H  0޽h ? f3  qi11|(  | |  f8&\gֳgֳ ?6`  \ ^ | 61?z^ | 61? :  | N(\gֳgֳ?9 @Client Process | T,\gֳgֳ?   JSQL*Net Listener process^ | 61?>   | Tt0\gֳgֳ?:   81521^  | 61? B   | Tl4\gֳgֳ? r  GOracle server process^  | 61?> b   | T8\gֳgֳ?: c  89900pB  | H?^ X2 | 0P?*~~ X2 | 0P?Z~~ X2 | 0P?~~ X2 | 0P?~~ pB | Hp?* | T=\gֳgֳ? P  ?CLI.TRCX2 | 0P? NN JX2 | 0P?NN zX2 | 0P?JNN X2 | 0P?zNN  | TDA\gֳgֳ?@  D LISTENER.TRC X2 | 0P? X2 | 0P? JX2 | 0P?zX2 | 0P?JpB | Hp?   | TF\gֳgֳ?4  ?SVR.TRCX2 | 0P?*X2  | 0P?ZX2 !| 0P?X2 "| 0P?pB #|@ Hp?* $| TJ\gֳgֳ? ( B SQLNET.ORA X2 %| 0P? ..X2 &| 0P? ..JX2 '| 0P?..zX2 (| 0P?J.. )| TP\gֳgֳ?  B SQLNET.ORA pB *|@ Hp? ~ X2 +| 0P? JX2 ,| 0P?zX2 -| 0P?JX2 .| 0P?z /| TT\gֳgֳ? D LISTENER.ORA pB 0| Hp?  pB 1|@ Hp? N> H | 0޽h ? f3t  $( tn    f([\gֳgֳ ?6`  \    f[\gֳgֳ ?  \ H  0޽h ? f3  $(  r  S `T6`  T r  S @Hb00 H H  0޽h ? f3g0 '@(  ^  6? "  Tt4HjJjJ?z  e1  L##FFjj^  6?zP^  6?P"   fQHgֳgֳ ? @  H     H1 ?(   HH  0޽hdS ? a(D0 p(     H1 ?'   _   fTgֳgֳ ? @D  _  H  0޽hdS ? a(D 0 d(  d d  H1 ?'   \ d  f \gֳgֳ ? @D  \  H d 0޽hdS ? a(P0 (     N1 ?'   \  # lh\gֳgֳ ? @D  \  H  0޽hdS ? a(0 P(     N1 ?)   \  # lm\gֳgֳ ? 9  \ 1. The client process (i.e. SQL*Plus, a PRO*C or OCI program, Business Objects, etc) contacts the listener at the known service port 1521. D!!BBccH  0޽hdS ? a(0  S(     N1 ?)   \  # ll\gֳgֳ ? 9  \ 2. The SQL*Net listener reads the request from port 1521, verifies that the connection request is valid, and spawns an Oracle server process. D!!BBccH  0޽hdS ? a(z0 :20(     N1 ?)   \  # lL\gֳgֳ ? 9  \ H3. The Oracle server process creates an  anonymous socket. After creation, the process finds out that the socket number is 9900. D!!BBccH  0޽hdS ? a(f0 &@(     N1 ?)   \  # l(\gֳgֳ ? 9  \ 44. Oracle server process passes the address (hostname & socket/port number) of it s socket back to the SQL*Net listener. yD!!BBccH  0޽hdS ? a(0 P$(     N1 ?)   \V  # lD\gֳgֳ ? 9  \ ^5. SQL*Net listener passes the address of the Oracle server socket back to the client process. _D!!BBccH  0޽hdS ? a(0 `1(     N1 ?)   \c  # l\\gֳgֳ ? 9  \ k6. Client process uses the address received to establish a two-way connection to the Oracle server process. lD!!BBccH  0޽hdS ? a( 0 p](     N1 ?)   \  # l\gֳgֳ ? 9  \ 7. The SQL*Net listener disengages. The client process and the Oracle server process communicate. SQL*Net listener waits for new connection requests. D!!BBccH  0޽hdS ? a(~0 (  X  C '   \  S c\ @D  \  H  0޽hdS ? a(r`,!Q rpuw|րTy P"%Tm'04o()M6D"SVc@HSվC;q=@tЊ @ Oh+'03@ T`    SQL*Net Basics#SQL*Net Architecture and Debugging Tim Gormanhim im -C:\MSOFFICE\Templates\Blank Presentation.potros Tim Gorman\74 Microsoft PowerPoint 4.0nk @@B@v,Ja@hvXXG2g  v& &&#TNPP|2OMi_ & TNPP &&TNPP    - "-- !-- "-&Bvr&--wq_-- - @BComic Sans MS- .2 m Tim Gorman !!.@BComic Sans MS- .2  Principal   .@BComic Sans MS- .?2 B%Evergreen Database Technologies, Inc.  .@BComic Sans MS- .2 j2 http://www.. .2 jEvDBT. . 2 jV.com.&bb&bb&cd&--`-cci-Pvu-|F-s=-i3-_)-U-K-A -8-.-$----&&&d_t-$[-v$9   !!! #&''))+.022458:=@CGHLQTVSRSUVWXYWZXW[ZXXZXTUXXUUWXWVTSPQPPRQNLKIGFIJK J JLOOMKKLLNLO!M#P"O$T#S&O$O(T'R+O'P,T0Q0O(O"L"JLLKKJ HDAB@>@><<@A!>%>/>3?6C5F6H2K2J4L7P8P5X5U6T8X9\:]7^4[5Y4X3W6W6O6M2K2I2H.G+I*I(E)C+A.>.>'<(:%7!4"4&5*5-819262413377::=:@;D;H:K<J<G;GBIBKAK?O@R>RASCUEXCW@X=Y@ZCWJSQPXL_J]G^E`Cb>c<b=^<[>Y>W;U;Q<M?JCJDGCCEBGBG<C<@>=<:<6:3725022132504-2-1)1%3"310 /"-*'%"!"$#'") )&"     !#$%(*&!!%(*,++).37:<CHLPQQMJHKOQSXZ[YUSQQUWY]afkkhfd^[XTPMJGDBA@AB@>=<941.,(#                  |{|  ~|{xvsrqqs"u x x#v&z&{'|*+.,..136:<<??BEHKORTTWZ]_cfgjloqspmifb]WROK|HzEy@{={:|6~20.-}.{-x*u(s%r$p&n$l!kkjggiigeeedegjpt{--&&b[r--v$9{~    "##%%'*,..01469<?CDHMPRONOQRRTUSVTSWVTTVTPQTTQQSTRRPOLMLLNMIHGECBEFGF FH K KIGGIHJIKI"L K#P"O%K#K&P&N)K&L+P.M.K&K!I!FIIGGF D@=><:<:88<= :$:.:2;4?4B5D1G1F3I6L6L4T4Q5P7T8X9Y5Z3W3U2T1R5R4K4I0G1E1D-C*E)E&A(?*=-:-:%8'6#3 0!0$1(1,4/51210//1366998<9@9D9G:F;C:C@E@G@G>K>N=N@OBQCTBS?T<U?VBRIOPLVI]F[C]A_?`:a8a9]8Z:W:U7T7P8L;I?H@F?BAAC@C:?;<<9:6:29/6.3+1.0/11/0,.+-'-#/ /-++ )&#! "%(($   ""$')% #'(+*)(,258;BFJOPOLHFJNPRWYZWTRPPTUW[`dijfdc]YVSOLIFB@@?@@?<<:83/-*&"                      ~}{{xwx{}}  }|zxwtqonmmo qtt"r$v$w%x(z*},*,-/258:;>>ADFJMQRSVY\^bdfhkmpqnlhd~`[VQ~M{JxGvCu?w<w9x4z1}/~-z,x,v+t)q'o$n#l$j"g fffcceecbccc dfimqw{--&&b]s-K|-v$9}  !$%%''),.002368;>AEFJORTQPQSTTVWUXVUYXVVXVRSVVSSUVTTRQNONNPOKJIGEDGHIH HJ M MKIIJJLJM K"N!M#R"Q%M#M'R&P*M&N+R/O/M'M!J!HJJIIH FB?@><><::>? <$<.<2=5A4D5F1I1H3J6N7N4V4S5R7V8Z9[6\3Y4W2V2T5T5M5K1I1G1F-E*G)G'C(A*?-<-<&:'8$5 2!2%3)3,60714120125689;9>:B:F9I;H<E:EAGAI@I>M?P=P@QBSCVBU?V<W?XBTIQPNWJ^H[E]C_Aa<b:a;]:Z<X<V9T9P:L=IAIBFABCAEAE;A;>=;;8;491604-100113/2,0+/(/$1!1/--!+(%#   #!& ((%!   "#$')%  $')+**(-269<BGKOPPLIGKNPRWYZXTRPPTVX[`ejjgec]ZWSOLIFCA@?@A?=<;830-+'#