7 Architektura środowiska rozproszego Środowisko komunikacyjne Oracle*Net serwery Elementy środowiska rozproszego: stacje usługowe serwery (ang. server), stacje klienta (ang client), medium komunikacyjne WAN/LAN, wspólnoty (ang. community), bramy (ang gateway). brama Wspólnota TCP/IP Wspólnota DEC/NET klienci Weryfikacja instalacji prokołu u sieciowego MS Windows za pomocą Oracle Installer, UNIX za pomocą skryptu adapters, adapters $ORACLE_HOME/bin/oracle miner% miner% adapters adapters $ORACLE_HOME/bin/oracle Oracle Oracle Net Net transport transport procols procols linked linked with with oracle oracle are: are: IPC IPC BEQ BEQ TCP/IP TCP/IP SSL SSL Oracle Oracle Net Net naming naming methods methods linked linked with with oracle oracle are: are: Local Local Naming Naming (tnsnames.ora) (tnsnames.ora) Oracle Oracle Direcry Direcry Naming Naming Oracle Oracle Host Host Naming Naming 9 Architektura serwera komunikacyjnego Network Listener Dedykowany serwer Oracle Adapter dla prokołu A Wspólnota A Proces listener TNS Oracle Adapter dla prokołu B Wspólnota B Ekspedyr (wspóldziely server) 40
Tryby pracy serwera komunikacyjnego serwer dedykowany (dedicated) serwer 4 klient 4 Tryby pracy serwera komunikacyjnego serwer współdziely dziely(shared server) U U2 UN D00 procesy użytkowników proces ekspedyra 42 P współdziely proces usługowy listener. klient dołącza się do listener a 2. listener odbiera żądanie z sesji klienta. listener tworzy nowy (dedykowany) proces usługowy dla sesji klienta 4. zostaje nawiązane bezpośrednie połączenie między klientem a proc. usługowym 2 kolejka zadań do obsługi kolejka zadań obsłużych P2 globalny obszar systemowy SGA Tryby pracy serwera komunikacyjnego serwer współdziely dziely(shared server) (2) 4 Pliki kfiguracyjne Oracle*Net 44 klient serwer 6 7 5 2 SIEĆ listener. w czasie startu są uruchamiane ekspedyry (dispatchers) 2. adresy ekspedyrów są rejestrowane w listenerze. klient dołącza się do listener a 4. listener odbiera żądanie z sesji klienta 5. listener wysyła polecenie przełączenia się na wskazany (obciąży najmniej) ekspedyr 6. zostaje nawiązane bezpośrednie połączenie między klientem a wskazanym ekspedyrem 7. ekspedyr inmuje listener a o aktualnym obciążeniu 4 tnsnames.ora sqlnet.ora katalog ORACLE HOME/network network/admin listener.ora sqlnet.ora
Narzędzia do kfiguracji Oracle*Net 45 Kfiguracja procesu listener () EM zakładka Home sekcja General 46 Enterprise Manager stra Net Services Administrati Oracle Net Manager Oracle Net Cfigurati Assistant uruchamiany przez Oracle Universal Installer Linia poleceń Kfiguracja procesu listener (2) 47 Kfiguracja procesu listener () 48 service_names service_names instance_name instance_name
Narzędzie lsnrctl 49 Sposoby rozwiązywania zywania deskryprów w połą łączenia 50 Do zarządzania procesem listenera można się posługiwać narzędziem lsnrctl Easy Cnect nie wymaga kfiguracji, wspiera tylko TCP (bez SSL), nie wspiera: failover, równoważenia obciążenia, routingu między prokołami 2bit 2bit Versi Versi 0FEB2008 0FEB2008 2:2 2:2 :0 :0 Welcome Welcome,, type type "help" "help" inmati. inmati. > > help help The The following following operatis operatis are are available available An An asterisk asterisk (*) (*) denotes denotes a a modifier modifier or or extended extended command: command: start start sp sp versi versi reload reload save_cfig save_cfig trace trace change_password change_password quit quit exit exit set* set* show* show* cnect scott/tiger@miner.cs.put.poznan.pl:52/minerg Local naming bez ograniczeń, kfiguracja za pomocą pliku: tnsnames.ora (opcjalnie sqlnet.ora) Direcry naming bez ograniczeń, wspierany przez: Oracle Internet Direcry Microsoft Active Direcry Services External naming bez ograniczeń, wspierany przez: Network Inmati Services (NIS) Distributed Computing Envirment (DCE) Cell Direcry Services (CDS). > > Kfiguracja aliasu deskrypra połą łączenia () 5 Kfiguracja aliasu deskrypra połą łączenia (2) 52 EM zakładka Home sekcja General
5 54 Kfiguracja aliasu deskrypra połą łączenia () Narzędzie TNSPING Umożliwia teswanie połączeń SQL*NET tnsping alias [liczba testów] C:\>tnsping C:\>tnspingnew_orag new_orag TNS TNS Ping Ping Utility Utility 2bit 2bit Versi Versi 0FEB2 0FEB2 008 0082:7:00 997, 997, Used Usedparameter parameterfiles: c:\oracle\product\..0\db_\network\admin\sqlnet.ora Used UsedTNSNAMES adapter adapter resolve resolvethe thealias Attempting Attempting ctact ctact (DESCRIPTION (DESCRIPTION = (ADDRESS_LIST (ADDRESS_LIST = (ADDRESS (ADDRESS = (PROTOCOL (PROTOCOL = TCP) TCP) (HOST (HOST = lokalny)(port lokalny)(port = 52)) 52)) (ADDRESS (ADDRESS = (PROTOCOL (PROTOCOL = TCP)(HOST TCP)(HOST = lokalny)(port lokalny)(port = 522)) 522)) (LOAD_BALANCE (LOAD_BALANCE = yes)) yes)) (CONNECT_DATA (CONNECT_DATA = (SERVICE_NAME (SERVICE_NAME = orag))) orag))) OK OK (40 (40 msec) msec) OK OK (0 (0 msec) msec) OK OK (20 (20 msec) msec) Kfiguracje w współdzielych Zalecana dla zwiększenia skalowalności w zależności od platmy, możliwość obsłużenia tysięcy użytkowników Oszczędność zasobów SO (pamięć, semay itp.) kosztem większego zużycia CPU Pliki kfiguracyjne po strie serwera: init<sid>.ora lub spfile<sid>.ora listener.ora po strie klienta: tnsnames.ora sqlnet.ora 55 Parametry inicjalizacyjne dla kfiguracji w współdzielych Obowiązkowe: S="prokół, liczba" liczba procesów dispatch uruchomiych do obsługi żądań klientów posługujących się określym prokołem Opcjalne: SHARED_SERVERS = liczba początkowa liczba współdzielych procesów serwera MAX_SHARED_SERVERS = liczba maksymalna liczba współdzielych procesów serwera CIRCUITS = liczba maksymalna liczba wirtualnych węzłów wykorzystywanych przez połączenia wchodzące i wychodzące do/z współdzielych SHARED_SERVER_SESSIONS=liczba maksymalna liczba wchodzących sesji do współdzielych 56
Przykładowa kfiguracja współdzielych alter system set set dispatchers= "(PROTOCOL=TCP)(S=2)"; 57 Ręczna zmiana liczby współdzielych ALTER SYSTEM SET SHARED_SERVERS = 0 58 2bit 2bit Versi Versi 0FEB2008 0FEB2008 2:8 2:8 Cnecting Cnecting (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC52))) (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC52))) Services Services Summary... Summary... Service Service "orag" "orag" instance(s). instance(s). Instance Instance "orag", "orag", READY, READY, handler(s) handler(s) this this service... service... Handler(s): Handler(s): "DEDICATED" "DEDICATED" established:67 established:67 LOCAL LOCAL SERVER SERVER "D000" "D000" 02> 02> (ADDRESS=(PROTOCOL=tcp)(HOST=lokalny)(PORT=56)) (ADDRESS=(PROTOCOL=tcp)(HOST=lokalny)(PORT=56)) "D00" "D00" 88> 88> (ADDRESS=(PROTOCOL=tcp)(HOST=lokalny)(PORT=247)) (ADDRESS=(PROTOCOL=tcp)(HOST=lokalny)(PORT=247)) Ustalenie rodzaju serwera dla sesji klienta Inmacja o typie wykorzystywanego serwera 59 SQL> select username, machine, server from v$sessi; USERNAME MACHINE SERVER SCOTT JMD SHARED JAN JMD2 NONE SYSTEM JMD DEDICATED SQL>select dispatcher, circuit, server, from v$circuit; DISPATCH CIRCUIT SERVER STATUS 82890064 8257BA64 8288F6A4 NORMAL 8288F9E4 8257BBB0 00 NORMAL 8288FD24 8257BCFC 00 NORMAL