ࡱ> 9678P( / 0DTimes New Roman@b@bLb0pbpb 0DArialNew Roman@b@bLb0pbpb 0" DComic Sans MSn@b@bLb0pbpb 0B@  @@``  @n?" dd@  @@`` > &   $       "), # 1%(4 *, 9. !<"! T=? ay4nC@g4:d:d|b 0tbfh Tppp@  <4!d!d@b@b ? %O =C^Tuning a Data Warehouse According to it s Usage0/0^Tim Gorman Principal Evergreen Database Technologies, Inc. http://www.evergreen-database.com |_  %!:AgendaPExactly what is going on in the DW? Alternatives and considerations If we knew, what could we do with it? Three ways to get these answers Summary Documentation and Info on the Web These questions are the aftermath of initial success Initial build of the DW involved more basic issues; these are the start of improvements and refinements$ p5h$ p5K  {#Exactly what is going on in the DW?$$Who are they? Should they be here?  Dept X paid IT a lot of money to build the DW, but I often see folks from Dept Y working in there. What are they doing? Why are they doing it?  It was designed for analysis along these data dimensions (i.e. product, city, month), but Mary Contrary insists that it needs other dimensions like color.  Joe Blow complained that his important job isn t finishing after 12 hours, and he insists it used to finish in 30 mins.  Jack Sprat wants a separate Data Mart? Do we need more H/W? How much? Who pays? It just keeps growing? Heck, I m not buying more disk! Should these questions be answered on supposition?$e-@+83$e-$+82#Exactly what is going on in the DW?$$Blind people examining an elephant What is going on in the DW? End-users have one perspective Executives and directors have another Data-modelers yet another DBAs another Tech Support another Performance tuners (and other hacks) yet another! Put  em all together & the whole truth starts to emerge but it s still all anecdotal; meaningless to compile anecdotes How do we see the whole elephant?#8?""8?"|%How can we find out what is going on?&&Alternative #1: centralize control Document known processes Reduce or eliminate ad-hoc activity centralize all queries through batch queues funnel all processing through MIS Alternative #2: monitor, record, and analyze Monitor all (or most) activity Record and save information on activity Analyze the saved information to detect trends, anomalies Using analysis, focus on major issues Let it happen, and then react Other alternatives?~$=N-$=N-Considering the alternatives#Alternative #1: centralize control Advantages Well-known requirement of mission-critical OLTP systems reports developed by MIS, under change control no (or little!) ad-hoc activity permitted Many tools available to support this job control packages and system management tools change control procedures and security measures Familiar to people trained in OLTP Disadvantages De-centralization and ad-hoc activity is often a goal of DW! Performance and capacity-planning info usually not gathered Tough to close the barn-door after the horse is gone# 8/*%a## 9/%a# z4Considering the alternativesAlternative #2: monitor, record, and analyze Advantages Non-intrusive; doesn t interfere with anything directly Analysis is a familiar activity in data warehousing why not extend this to data warehouse management? Answers the questions instead of side-stepping them Knowledge is power! Disadvantages Not easy to accept; most people are trained in OLTP Tools just becoming available If ad-hoc activity is not an issue, then everything must already be under control& perhaps?- l24- 05& 4 WRv%If we knew, what could we do with it?&&,Getting the answers means controlling growth costs capacity planning can be based on facts identification and tuning makes more CPU unnecessary pruning unused data can delay adding storage archiving dormant data permits economical storage Aiding trouble-shooting issues & end-user support verify/clarify end-user descriptions of problems identify training needs and security issues DW design is iterative re-design can be based on past trends end-user testimony can be inaccurate, vague, or wrong fact-finding part of infra-structure, not a special project32]&6<32]&6xNThree ways to find out what s going on?((Purchase/build end-user tools which record usage and present it for analysis Example: Oracle s Discoverer Sample usage information using Oracle s own internal dynamic performance (V$) views Example: USAGE package in PL/SQL Intercept, record, and analyze all (or selected) traffic Pine Cone Systems, Inc. Usage Tracker and Content TrackerMT!9:MT!9 }&Oracle s DiscovererEnd-user layer (EUL) is metadata and repository All queries submitted from user view are stored in the EUL repository Administrator view can analyze queries for: creation of summary tables Discoverer can create and administer summaries User view can analyze submitted SQL and automatically re-direct from detailed tables to summary tables Usage summary reports on who, when, frequency, against which objects are provided0r/gR"   / ^R8Oracle s Discoverer (cont d) ~ USAGE package*Written in PL/SQL and uses DBMS_JOBS for execution periodically polls V$SQLAREA (SGA Shared Pool) saves performance and session information performs EXPLAIN PLAN against saved SQL statements can report on worst SQL, worst users, repeated SQL, busiest tables, more& typical poll time: 5-15 mins this implies that it misses most things that complete in less than the poll time sees the  heavy hitters only3Q3   Q"o USAGE package 2Pine Cone s Usage Tracker& Intercepts SQL*Net/Net8 traffic sniffs traffic for SQL statement text, user-session information, SQL start- and stop-time, rows processed very low performance impact sniffed information is stored in a repository for later analysis Can provide a complete picture certain processes can be excluded either before or after interception, if desired Complete set of canned-reports usage summaries, can be sliced by user/object/time exception reports for security, performance tuning, space management Rx RxSQL*Net SQL*Net SQL*Net SQL*Net SQL*Net SQL*Net SQL*Net 2Pine Cone s Usage Tracker$  2Pine Cone s Usage Tracker$  2Pine Cone s Usage Tracker$  2Pine Cone s Usage Tracker$  2Pine Cone s Usage Tracker$  2Pine Cone s Usage Tracker$  2Pine Cone s Usage Tracker$  2Pine Cone s Usage Tracker$  2Pine Cone s Usage Tracker$  2Pine Cone s Usage Tracker$  2Pine Cone s Usage Tracker$  2Pine Cone s Usage Tracker$  2Pine Cone s Usage Tracker$   Trade-offs\End-users tools don t catch everything attractive and easy-to-install, configure, and use intrusive USAGE package misses all but the big stuff non-intrusive polling frequency misses little stuff, intended for big stuff query start/stop times not caught, lots not captured Network traffic-sniffing (i.e. Pine Cone) most complete non-intrusive captures whatever you want it to capture useful for providing metrics for many purposes '=+87/'=+87/ySummaryRecognizing the role of DWA is crucial to improving and enhancing the data warehouse using usage information generally done for 2nd-generation DW no reason why it can t be built-in from the beginning excellent ROI: both tangible (disk utilization) and non-tangible (finding problems and fixing them) several approaches tradeoffs to each product with built-in EUL (i.e. Discoverer) home-grown  polling tool (i.e. USAGE package) traffic-interception (i.e. Pine Cone products)llfInformation on the Web"Oracle Discoverer purchasing details: http://www.oracle.com/ technical details: http://technet.oracle.com/ USAGE package download: http://www.evergreen-database.com/ Pine Cone Systems, Inc. http://www.pine-cone.com/ Other vendors/products involved in Usage Tracking? http://www.teleran.com/Y-3 $#,W/h2<    Pb  ` ̙33` 3` 3333f` 999MMM` f` f3` 3>?" dU@$|?" xd @  dd`8 n?" dZ(@   @@``PR    @ ` ` p>> n(     `8gֳgֳ ?``  =*   `48gֳgֳ ?`   [%Evergreen Database Technologies, Inc.&&   `8gֳgֳ ?`   ?*pB  Hp?x   Z8gֳgֳ ?HH|  ? Slide Title  #  T8gֳgֳ ?  ;Body Text Second Level Third Level Fourth Level Fifth Level     <  T8gֳgֳ?Q ?*H  0޽h? ? ( PowerPoint 0 g_@( (   TjJjJ ?G   8 [*   TdjJjJ ?   8 ]*   ZjJjJ ?`G  8 [*   Z$jJjJ ?`  8 ]*   TUU?oyW  Page *Z ###55FFp  01 ?  8#  Tgֳgֳ ? 6 8 ;Body Text Second Level Third Level Fourth Level Fifth Level     <H  0sTh? ? a(c 3+0 (     TT&vjJjJ ?G   8 A*   T&vjJjJ ?   8 C*   ZvjJjJ ?`G  8 >    Z4vjJjJ ?`  8 C*   TUU?oyW  fPage *Z ###55FFH  0sTh? ? a( % :2P(     fgֳgֳ ? H v    fgֳgֳ ? @@ v " d`8H  0޽h ? (   % $p(  P`    fgֳgֳ ? H@|  v    fgֳgֳ ?`   v H  0޽h ? (  ( x l  C  H@|  v l  C dh  v H  0޽h ? (  ( A l  C D H@|  v l  C 0 v H  0޽h ? (  $( x r  S d l   r  S H   H  0޽h ? (  0( x 0l 0 C : HH|   l 0 C :h   H 0 0޽h ? (  8( x 8l 8 C ; HH|   l 8 C <h   H 8 0޽h ? (  ( x l  C < Hp|   l  C 4=0`   H  0޽h ? (  ( $@ l  C t? H x|   l  C ?X  H  0޽h ? (  ( x l  C TA Hp|   l  C Al(  H  0޽h ? (     % ( x l  C tB Hp|   p2  H?P  p2  H? 0 2  NB?   > p2  H?p  p2   H? P    Z4C=?   7EULp2   H?P  p2  H?  0 2  NC?   > p2  H?p  p2  H?  P   ZTD=? tt  CTarget Database  NE?P   C Administrator  TtE?P  :UserB  ZD)? 0 B  ZD)?  P B  ZD)? p B  ZD)? P   Z乌=?) \  > Discoverer B  ZD)?  B @ ZD)?P H  0޽h ? (    ( x  l   C D H|   l   C D`X  H   0޽h ? (K  0#(( x (l ( C Ļ Hp|   p2 ( H?`  p2 ( H? @ 2 ( N$?   > p2 ( H?  p2 ( H? `   ( Z伌=?P p  B USAGE tables  p2  ( H?`  p2  ( H?  @ 2  ( ND?   > p2  ( H?  p2 ( H?  `  ( Z=?   RV$ dynamic performance views. ( Nd?`` 0 XDBMS_JOB.SUBMIT( USAGE.POLL ) (every 5 mins)--'B ( ZD)?0P 0 B ( ZD)?`  ( Nľ?` P0 `DBMS_JOB.SUBMIT( USAGE.EXPLAIN ) (every 8 hours)11 ( N?P @0 [%Canned SQL*Plus queries (upon demand)&&vB ( ND)?`  p2 ( H?  p2 ( H? ` 2  ( N俌?@   > p2 !( H?  p2 "( H?  vB #( ND)?0H ( 0޽h ? (  @( $@ l  C D Hp|   l  C `   H  0޽h ? (   % \TP @( x @ @ 3 rgֳgֳ ? HH|   ^ @ 61?$,^ @ 61?T   @ Ngֳgֳ?[ @Client Process^2 @ 61? , @ TŒgֳgֳ?Vo ' AOracle instance @ TDÌgֳgֳ? e  BSQL*Net ListenerpB  @ H?0 ^  @ 61? |L   @ TÌgֳgֳ? yd  81521  @ NČgֳgֳ?i 31H @ 0޽h ? PX`=    % 6 . pH ( ? H H 3 rČgֳgֳ ? HH|   ^ H 61?$,^ H 61?T   H NŌgֳgֳ?[ @Client Process^2 H 61? , H Tt8gֳgֳ?Vo ' AOracle instance H T48gֳgֳ? e  BSQL*Net ListenerpB  H H?0 ^  H 61? |L   H T8gֳgֳ? yd  81521  H N8gֳgֳ?i 31^  H 61?T   H T8gֳgֳ?   ? Oracle serverpB H@ H?   H N8gֳgֳ? E    32pB H@ H? @@H H 0޽h ? PX`=    %   P (  P P 3 r8gֳgֳ ? HH|   ^ P 61?$,^ P 61?T   P N8gֳgֳ?[ @Client Process^2 P 61? , P TT8gֳgֳ?Vo ' AOracle instance P T8gֳgֳ? e  BSQL*Net ListenerpB  P H?0 ^  P 61? |L   P Tt8gֳgֳ? yd  81521  P N8gֳgֳ?i 31^  P 61?T   P T8gֳgֳ?   ? Oracle serverpB P@ H?   P N8gֳgֳ? E    32pB P@ H? @@^ P 61? L  P TT8gֳgֳ? d  89900 P N8gֳgֳ?  33H P 0޽h ? PX`=   % J B X (  X X 3 rt 8gֳgֳ ? HH|   ^ X 61?$,^ X 61?T   X N4 8gֳgֳ?[ @Client Process^2 X 61? , X T 8gֳgֳ?Vo ' AOracle instance X T 8gֳgֳ? e  BSQL*Net ListenerpB  X H?0 ^  X 61? |L   X T<8gֳgֳ? yd  81521  X NT=8gֳgֳ?i 31^  X 61?T   X T>8gֳgֳ?   ? Oracle serverpB X@ H?   X Nt>8gֳgֳ? E    32pB X@ H? @@^ X 61? L  X T>8gֳgֳ? d  89900 X N4?8gֳgֳ?  33pB X@ H?   X N?8gֳgֳ? E  7  34H X 0޽h ? PX`=  % {s` (  ` ` 3 rT@8gֳgֳ ? HH|  8 ^ ` 61?$,^ ` 61?T   ` NA8gֳgֳ?[ @Client Process^2 ` 61? , ` TA8gֳgֳ?Vo ' AOracle instance ` TB8gֳgֳ? e  BSQL*Net ListenerpB  ` H?0 ^  ` 61? |L   ` TB8gֳgֳ? yd  81521  ` NTC8gֳgֳ?i 31^  ` 61?T   ` TD8gֳgֳ?   ? Oracle serverpB `@ H?   ` NtD8gֳgֳ? E    32pB `@ H? @@^ ` 61? L  ` TD8gֳgֳ? d  89900 ` N4E8gֳgֳ?  33pB `@ H?   ` NE8gֳgֳ? E  7  34pB ` H?0PP  ` NE8gֳgֳ?'  35H ` 0޽h ? PX`=(  % h<(  h h 3 rF8gֳgֳ ? HH|  8 ^ h 61?$,^ h 61?T   h NtG8gֳgֳ?[ @Client Process^2 h 61? , h T4H8gֳgֳ?Vo ' AOracle instance h T7gֳgֳ? e  BSQL*Net ListenerpB  h H?0 ^  h 61? |L   h T7gֳgֳ? yd  81521  h NT7gֳgֳ?i 31^  h 61?T   h T7gֳgֳ?   ? Oracle serverpB h@ H?   h Nt7gֳgֳ? E    32pB h@ H? @@^ h 61? L  h T7gֳgֳ? d  89900 h N47gֳgֳ?  33pB h@ H?   h N7gֳgֳ? E  7  34pB h H?0PP  h N7gֳgֳ?'  35pB h H?  h NT7gֳgֳ?WE  w 36H h 0޽h ? PX`=   % v n p (   p p 3 rt7gֳgֳ ? HH|  8 ^ p 61?$,^ p 61?T   p N47gֳgֳ?[ @Client Process^2 p 61? , p T7gֳgֳ?Vo ' AOracle instance p T7gֳgֳ? e  BSQL*Net Listener^  p 61? |L   p T7gֳgֳ? yd  81521^  p 61?T    p T7gֳgֳ?   ? Oracle serverpB  p@ H? @@^ p 61? L  p T47gֳgֳ? d  89900pB p H? H p 0޽h ? PX`=>   %   0xR ( $@ x x 3 r7gֳgֳ ? HH|  7 ^ x 61?$,d x <1?T   x N7gֳgֳ?[ @Client Process^2 x 61? , x Tt7gֳgֳ?Vo ' AOracle instance x T47gֳgֳ?   DPine Cone ListenerpB  x H?0@@ ^  x 61? L   x TDn7gֳgֳ? d  81521  x Nn7gֳgֳ? 31^  x 61?T L  x Tdo7gֳgֳ?   BSQL*Net Listener^ x 61?  L  x To7gֳgֳ?  d  81523H x 0޽h ? PX`=o   %   P (    3 rp7gֳgֳ ? HH|  7 ^  61?$,d  <1?T    NDq7gֳgֳ?[ @Client Process^2  61? ,  Tr7gֳgֳ?Vo ' AOracle instance  Tr7gֳgֳ?   DPine Cone ListenerpB   H?0@@ ^   61? L    T$s7gֳgֳ? d  81521   Ns7gֳgֳ? 31^   61?T L   TDt7gֳgֳ?   BSQL*Net Listener^  61?  L   Tt7gֳgֳ?  d  81523pB  H?    Nu7gֳgֳ?7 W  32H  0޽h ? PX`=I  %   p] ( H!   3 ru7gֳgֳ ? HH|  7 ^  61?$,d  <1?T    Nv7gֳgֳ?[ @Client Process^2  61? ,  TDw7gֳgֳ?Vo ' AOracle instance  Tx7gֳgֳ?   DPine Cone ListenerpB   H?0@@ ^   61? L    Tdx7gֳgֳ? d  81521   Nx7gֳgֳ? 31^   61?T L   Ty7gֳgֳ?   BSQL*Net Listener^  61?  L   Ty7gֳgֳ?  d  81523pB  H?    N7gֳgֳ?7 W  32^  61?T    T7gֳgֳ?   ? Oracle serverpB @ H? P    N47gֳgֳ? 7  33pB @ H? @@H  0޽h ? PX`=,  % @(    3 rT7gֳgֳ ? HH|   ^  61?$,d  <1?T    N7gֳgֳ?[ @Client Process^2  61? ,  T7gֳgֳ?Vo ' AOracle instance  T7gֳgֳ?   DPine Cone ListenerpB   H?0@@ ^   61? L    T7gֳgֳ? d  81521   NT7gֳgֳ? 31^   61?T L   T7gֳgֳ?   BSQL*Net Listener^  61?  L   Tt7gֳgֳ?  d  81523pB  H?    N7gֳgֳ?7 W  32^  61?T    T7gֳgֳ?   ? Oracle serverpB @ H? P    N7gֳgֳ? 7  33pB @ H? @@^  61? DL   TT7gֳgֳ? Ed  89900  N7gֳgֳ?E  34H  0޽h ? PX`=]  % q( EPnQ   3 rt7gֳgֳ ? HH|   ^  61?$,d  <1?T    N47gֳgֳ?[ @Client Process^2  61? ,  T7gֳgֳ?Vo ' AOracle instance  T7gֳgֳ?   DPine Cone ListenerpB   H?0@@ ^   61? L    Tgֳgֳ? d  81521   N4gֳgֳ? 31^   61?T L   Tgֳgֳ?   BSQL*Net Listener^  61?  L   TTgֳgֳ?  d  81523pB  H?    Ngֳgֳ?7 W  32^  61?T    Ttgֳgֳ?   ? Oracle serverpB @ H? P    Ngֳgֳ? 7  33pB @ H? @@^  61? DL   T4gֳgֳ? Ed  89900  Ngֳgֳ?E  34pB @ H? P    Ngֳgֳ?   35H  0޽h ? PX`=  %  (    3 rgֳgֳ ? HH|   ^  61?$,d  <1?T    Ntgֳgֳ?[ @Client Process^2  61? ,  T4gֳgֳ?Vo ' AOracle instance  Tgֳgֳ?   DPine Cone ListenerpB   H?0@@ ^   61? L    TTgֳgֳ? d  81521   Ngֳgֳ? 31^   61?T L   Ttgֳgֳ?   BSQL*Net Listener^  61?  L   Tgֳgֳ?  d  81523pB  H?    N4gֳgֳ? '  32^  61?T    Tgֳgֳ?   ? Oracle serverpB @ H? P    NTgֳgֳ? 7  33pB @ H? @@^  61? DL   Tgֳgֳ? Ed  89900  Ngֳgֳ?E  34pB @ H? P    Ntgֳgֳ?   35pB  H?    N`gֳgֳ? 7 36H  0޽h ? PX`=  % }u"" (  dH   3 r`gֳgֳ ? HH|  7 ^  61?$,d  <1?T    Nagֳgֳ?[ @Client Process^2  61? ,  TDbgֳgֳ?Vo ' AOracle instance  Tcgֳgֳ?   DPine Cone Listener^   61? L    Tdcgֳgֳ? d  81521^   61?T L    T$dgֳgֳ?   BSQL*Net Listener^   61?  L   Tdgֳgֳ?  d  81523pB  H?    Ndgֳgֳ? '  32^  61?T    Tegֳgֳ?   ? Oracle serverpB @ H? P    Nfgֳgֳ? 7  33pB @ H? @@^  61? DL   Tdfgֳgֳ? Ed  89900  Nfgֳgֳ?E  34pB @ H? P    N$ggֳgֳ?   35pB  H?    Nggֳgֳ? 7 36d  <1?X  TDhgֳgֳ? BPine Cone serverpB @ H?@    Nhgֳgֳ?e9 7 37pB ! H?0@@  " Nigֳgֳ? 31H  0޽h ? PX`=*  % $$>(    3 rigֳgֳ ? HH|   ^  61?$,d  <1?T    Njgֳgֳ?[ @Client Process^2  61? ,  TDkgֳgֳ?Vo ' AOracle instance  TNjgֳgֳ?   DPine Cone Listener^   61? L    T4ȋgֳgֳ? d  81521^   61?T L    Tȋgֳgֳ?   BSQL*Net Listener^   61?  L   TTɋgֳgֳ?  d  81523pB  H?    Nɋgֳgֳ? '  32^  61?T    Ttʋgֳgֳ?   ? Oracle serverpB @ H? P    Nʋgֳgֳ? 7  33pB @ H? @@^  61? DL   T4ˋgֳgֳ? Ed  89900  Nˋgֳgֳ?E  34pB @ H? P    Nˋgֳgֳ?   35pB  H?    NT̋gֳgֳ? 7 36d  <1?X  T͋gֳgֳ? BPine Cone serverpB @ H?@    Nt͋gֳgֳ?e9 7 37 ! N͋gֳgֳ?E 38pB " H?0@@  # N4΋gֳgֳ? 31pB $ H?0 H  0޽h ? PX`=   % 0''!(    3 r΋gֳgֳ ? HH|  v ^  61?$,d  <1?T    Nϋgֳgֳ?[ @Client Process^2  61? ,  TtЋgֳgֳ?Vo ' AOracle instance  T4ыgֳgֳ?   DPine Cone ListenerpB   H?0 ^   61? L    Tыgֳgֳ? d  81521^   61?T L    TTҋgֳgֳ?   BSQL*Net Listener^  61?  L   Tҋgֳgֳ?  d  81523pB  H?    NӋgֳgֳ? '  32^  61?T    Tgֳgֳ?   ? Oracle serverpB @ H? P    Ndgֳgֳ? 7  33pB @ H? @@^  61? DL   Tĵgֳgֳ? Ed  89900  N$gֳgֳ?E  34pB @ H? P    Ngֳgֳ?   35pB  H?    N䶋gֳgֳ? 7 36d  <1?e  Tgֳgֳ?!' BPine Cone serverpB  @ H?@  ! Ngֳgֳ?e9 7 37 " Ndgֳgֳ?E 38^ # 61? D $ Tĸgֳgֳ? E 89901 % N$gֳgֳ?p 39pB & H?0@@  ' Ngֳgֳ? 31H  0޽h ? PX`=?  % P))S(    3 rDgֳgֳ ? HH|   ^  61?$,d  <1?T    Ngֳgֳ?[ @Client Process^2  61? ,  TĻgֳgֳ?Vo ' AOracle instance  Tgֳgֳ?   DPine Cone Listener^   61? L    T伋gֳgֳ? d  81521^   61?T L    Tgֳgֳ?   BSQL*Net Listener^   61?  L   Tgֳgֳ?  d  81523pB  H?    Ndgֳgֳ? '  32^  61?T    T$gֳgֳ?   ? Oracle serverpB @ H? P    Ngֳgֳ? 7  33pB @ H? @@^  61? DL   T俋gֳgֳ? Ed  89900  NDgֳgֳ?E  34pB @ H? P    Ngֳgֳ?   35pB  H?    Nogֳgֳ? 7 36d  <1?e  Tpgֳgֳ?!' BPine Cone serverpB @ H?@    Nqgֳgֳ?e9 7 37 ! Ndqgֳgֳ?E 38^ " 61? D # Tqgֳgֳ? E 89901 $ N$rgֳgֳ?p 39pB %@ H?P  & Nrgֳgֳ?G g 410pB ' H?0@@  ( Nrgֳgֳ? 31pB ) H?0 H  0޽h ? PX`=q  % p++(    3 rsgֳgֳ ? HH|   ^  61?$,d  <1?T    Ndtgֳgֳ?[ @Client Process^2  61? ,  T$ugֳgֳ?Vo ' AOracle instance  Tugֳgֳ?   DPine Cone Listener^   61? L    TDvgֳgֳ? d  81521^   61?T L    Twgֳgֳ?   BSQL*Net Listener^   61?  L   Tdwgֳgֳ?  d  81523pB  H?    Nwgֳgֳ? '  32^  61?T    Txgֳgֳ?   ? Oracle serverpB @ H? P    Nxgֳgֳ? 7  33pB @ H? @@^  61? DL   TDygֳgֳ? Ed  89900  Nygֳgֳ?E  34pB @ H? P    Nzgֳgֳ?   35pB  H?    Ndzgֳgֳ? 7 36pB @ H?@   Nzgֳgֳ?e9 7 37pB @ H?P    N${gֳgֳ?G g 410pB ! H?0@@  " N{gֳgֳ? 31pB # H?0``  $ NΥgֳgֳ?'  411d % <1?e & Tϥgֳgֳ?!' BPine Cone server ' Nϥgֳgֳ?E 38^ ( 61? D ) TTХgֳgֳ? E 89901 * NХgֳgֳ?p 39pB + H?0 H  0޽h ? PX`=  % '--(    3 rtѥgֳgֳ ? HH|   ^  61?$,d  <1?T    N4ҥgֳgֳ?[ @Client Process^2  61? ,  Tҥgֳgֳ?Vo ' AOracle instance  Tӥgֳgֳ?   DPine Cone Listener^   61? L    Tԥgֳgֳ? d  81521^   61?T L    Tԥgֳgֳ?   BSQL*Net Listener^   61?  L   T4եgֳgֳ?  d  81523pB  H?    Nեgֳgֳ? '  32^  61?T    TT֥gֳgֳ?   ? Oracle serverpB @ H? P    N֥gֳgֳ? 7  33pB @ H? @@^  61? DL   Tץgֳgֳ? Ed  89900  Ntץgֳgֳ?E  34pB @ H? P    Nץgֳgֳ?   35pB  H?    N4إgֳgֳ? 7 36pB @ H?@   Nإgֳgֳ?e9 7 37pB @ H?P    Nإgֳgֳ?G g 410pB ! H?0@@  " NT٥gֳgֳ? 31pB # H?0``  $ N٥gֳgֳ?'  411pB %@ H? & Nڥgֳgֳ? I 7 412d ' <1?e ( T?gֳgֳ?!' BPine Cone server ) NT@gֳgֳ?E 38^ * 61? D + T@gֳgֳ? E 89901 , NAgֳgֳ?p 39pB - H?0 H  0޽h ? PX`=4  % H( xUd   3 rAgֳgֳ ? HH|   ^  61?$,d  <1?T    NBgֳgֳ?[ @Client Process^2  61? ,  TTCgֳgֳ?Vo ' AOracle instance  TDgֳgֳ?   DPine Cone Listener^   61? L    TtDgֳgֳ? d  81521^   61?T L    T4Egֳgֳ?   BSQL*Net Listener^   61?  L   TEgֳgֳ?  d  81523^  61?T    TTFgֳgֳ?   ? Oracle serverpB @ H? @@^  61? DL   TFgֳgֳ? Ed  89900pB @ H?d  <1?e  TtGgֳgֳ?!' BPine Cone server^  61? D  TGgֳgֳ? E 89901pB  H?0 H  0޽h ? PX`=  ( x l  C H HH|   l  C H0@  H  0޽h ? (  ( x l  C tJ Hp|   l  C JD   H  0޽h ? (   (  l  C t$v H@|  8 l  C $vD`  8 H  0޽h ? (D 0 `(     H1 ?   v   f$gֳgֳ ? 6  v  H  0sTh ? a(: 0 x( Hи` R  3    v~  C  6  v  H  0sTh ? a( 0 `D&(  D D  N1 ?   X D 3 rdČ1g1g ? 6   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.H D 0sTh ? a( 0 L)(  L L  N1 ?   [ L 3 rt81g1g ? 6   2. The SQL*N