Ascultă rețeaua!

Ascultați rețeaua! (Curs pentru începători privind conexiunile de rețea cu baza de date Oracle)

După lansarea ascultătorului Oracle Net8, indiferent de modul în care a fost pornit, puteți asculta solicitările primite, le puteți procesa și, în caz de deconectare, este posibil să se sprijine conexiunile altor clienți. Aplicatorul Oracle Net8 este un proces complet separat, care rulează de la lansare până la primirea unei solicitări de oprire, înainte de închidere sau până când computerul se prăbușește în timpul procesului. Când baza de date este încărcată, Oracle8i înregistrează numele serviciului și numele instanței în ascultătorul Net8.







În acest articol, veți afla despre ascultătorul Net8 și cum să configurați fișierele de asistență. O atenție deosebită va fi acordată parametrilor Oracle8i, Release 2.

Componente și opțiuni Net8

Înainte de a începe să luăm în considerare componentele Net8, acordăm atenție conexiunilor la baza de date Oracle, ca cele mai comune forme de conexiuni. Net8 suportă, de asemenea, conexiuni la alte baze de date, interfețe de rețea și rutine externe, cum ar fi funcțiile numite de la un program PL / SQL.

Atunci când o stație de lucru, trebuie să vă conectați la baza de date de pe server folosind același șir de conexiune care conține numele de utilizator, parola și informațiile de conectare la un serviciu de rețea care vă permite să specificați Net8, cum și unde să contactați. De exemplu, dacă doriți să contactați serviciul de rețea MYDB sub numele de utilizator NELSON și parola HOP_SCOTCH2. apoi șirul de conectare ar trebui să arate astfel:

Atunci când un client utilizează un protocol care inițiază cererea, care ia controalele ascultător dat la el informația, compară datele înregistrate în fișierul bază de date, listener.ora cu ea, și a vedea dacă pentru a efectua cerere de conectare utilizator. Dacă totul este corect și corect și conexiunea poate fi stabilită, atunci ascultătorul clientului creează unul nou sau folosește procesul de procesare a cererilor de problemă create în prealabil. Acesta este procesul care face posibilă comunicarea între utilizator și baza de date. După ce cererea clientului este transmisă procesului, ascultătorul poate continua să asculte rețeaua, adică acceptă noi solicitări de conectare.

Pentru a sprijini conexiunile dintre clienți și baza de date Oracle creată de ascultător, sunt utilizate mai multe fișiere de configurare diferite. Fișierele care sunt utilizate pentru a configura și a susține Net8 sunt prezentate în Tabelul 1.

Acesta este localizat pe serverul Oracle Names. Acest fișier conține locația, informațiile despre domeniu și alți parametri de configurare ai fiecărui server de nume (presupunând că se utilizează serverul Oracle Names)

Tabelul 1: Fișiere de configurare Net8

Notă: Dacă conexiunile Net8 sunt instalate între două servere, ambele servere au nevoie de prezența atât a sqlnet.ora cât și a tnsnames.ora.

Fișierele de configurare Net8 listener.ora, tnsnames.ora și sqlnet.ora pot fi găsite în următoarele directoare:
  • $ ORACLE_HOME / rețea / admin (sistem Unix)
  • ORACLE_HOME \ network \ admin (sistem Windows NT)
  • $: [.network.admin] (sistemul Compaq OpenVMS)

Nu voi vorbi despre fișierul names.ora, deoarece se aplică numai atunci când se utilizează serverul Oracle Names, care nu este acoperit de acest articol. Luați în considerare fișierele rămase, structura lor și modul în care ele sunt folosite.

Controlați comportamentul ascultătorului

Tabelul 2: Secțiunile Listener.ora și funcțiile lor

Registrul de caractere nu contează, deci pot fi folosite atât caractere mari, cât și litere mici sau o combinație a acestora.

# D: \ ORA8I \ NETWORK \ ADMIN \ LISTENER.ORA
Fișier de configurare: D: \ ora8i \ network \ admin \ listener.ora
# Generat de Asistentul Oracle Net8

În mod implicit, dacă în sistem este pornit un singur ascultător, acesta va fi numit LISTENER. Destul de înțelegător, nu-i așa? Nu, nu chiar. Dacă nu există nicio idee clară că numele ascultătorului este LISTENER și încercați să configurați unul nou, atunci o serie de anumiți parametri care trebuie modificați sunt ignorați. În plus, pentru versiunile anterioare de SQL * Net și Net8, parola implicită pentru ascultător este ORACLE.

Pentru a adăuga un alt ascultător, puteți copia datele introduse în fișierul listener.ora și apoi le puteți modifica. Următorul fragment prezintă intrări pentru două foițe: LISTENER și MYLIST1. # Această parte este adăugată pentru descrierea celui de-al doilea ascultător, MYLIST1

Dintre numeroasele modificări efectuate pentru configurarea unui nou ascultător, cred că cea mai subtilă schimbare a fost în SID_LIST_MYLIST1, unde este descris noul SID_NAME.

În mod implicit, Oracle utilizează valoarea parametrului port pentru ascultător. 1521 sau 1526. Cu toate acestea, orice număr care nu este asociat cu un alt proces poate fi utilizat pentru a specifica portul. Pentru Oracle, orice număr de port de la 1 la 65535 este permis, dar numerele porturilor mai mici de 1024, în unele sisteme, sunt de obicei rezervate pentru acces privilegiat. Tabelul 3 prezintă câteva dintre valorile portului pe care le utilizează în mod normal Oracle.

Portul implicit și oficial înregistrat de ascultător care utilizează TCP / IP pentru procesul administrativ CMGW al aplicației Oracle Connection Manager.

Tabelul 3: Numerele porturilor înregistrate în Oracle și utilizarea acestora.

Atunci când utilizați Two-Task Common sau TNS, descrierea_list nu este necesară. Cu toate acestea, pentru a vă alătura unei baze de date cu o opțiune Java, trebuie să utilizați parametrii protocol_stack. prezentare și sesiune, după cum se arată mai jos: conține toți parametrii noi 8i.

Pentru parametrul de prezentare, puteți specifica atât TTC, cât și GIOP, valoarea TTC fiind valoarea implicită. Clienții IIOP necesită un nivel de reprezentare GIOP. Opțiunile pentru parametrul de sesiune pot fi NS sau RAW, cu valoarea implicită NS (Substrat de rețea). Pentru clienții IIOP, nivelul sesiunii nu este necesar. Prin urmare, RAW ar trebui să fie utilizate pentru ei, indicând faptul că nu este nevoie de a împărți în continuare protocolul în straturi.







Acum, ia în considerare parametrul cheie. Este întotdeauna indicat cu protocolul de comunicații inter-proces (IPC) și este folosit ca o modalitate de a identifica serverul numit. Oracle Corporation recomandă utilizarea numelui serviciului. În exemplul nostru, EXTPROC1 este numele computerului sau numele serviciului.

Secțiune - Listă SID

Următoarea secțiune a fișierului listener.ora conține o listă de servicii, instanțe și / sau baze de date despre care ar trebui să știe ascultătorul. Această secțiune a fișierului, care îi spune ascultătorului despre locul și modul de plasare a unei instanțe, a unui serviciu sau a unei baze de date specifice. Următorul este un exemplu al acestei secțiuni, preluat din fișierul listener.ora pentru Windows NT. Primul parametru este SID_LIST_. descriptorul folosit pentru a găsi începutul listei de nume de identificare a sistemelor - nume de identificare a sistemului (SID). Atunci când creați (sau administrează) o bază de date, Oracle transmite ID-ul SID al noii baze de date. Dacă se utilizează Server paralel, pot fi folosite mai multe SID-uri unice pentru a identifica fiecare instanță, care va interacționa cu baza de date. Prin urmare, în secțiunea sid_list =, pentru o singură bază de date, pot fi specificate mai multe SID-uri și fiecare trebuie să fie unică.

În secțiunea sid_list =, există sid_desc = urmat de unul sau mai mulți parametri actuali. Dacă trebuie să utilizați oricare dintre parametrii discutați mai jos, atunci pentru ca ascultătorul să le înțeleagă, aceștia trebuie să fie localizați în secțiunea sid_desc =.

Parametrul sid_name este utilizat pentru a descrie SID-ul bazei de date. Valoarea sid_name depinde de sistemul de operare.

Există două fișiere în care puteți seta valoarea numelor de serviciu pentru baza de date. Unul dintre ele este init.ora. fișierul de inițializare a bazei de date. În caz contrar, global_dbname =. deoarece specificația numelui global este în ascultător.

Notă: dacă utilizați un nume de bază de date globală, trebuie să vă asigurați că se potrivește pe deplin cu intrarea pentru service_name în fișierul parametru init.ora.

Următorul parametru este un exemplu în secțiunea sid_desc, el a numit prespawn_max și are o valoare de 99. Pentru a realiza această valoare, uita-te la secțiunile și prespawn_list = prespawn_desc =. Ele descriu protocolul TCP (protocol = tcp), și urmat imediat de pool_size valoare, egală cu 10. Acest parametru spune ascultătorul că acest protocol pe server, trebuie să creați mai întâi sau de a genera 10 procese selectate. Prespawn_max este numărul maxim de procese alocate serverului care pot fi create în avans; astfel încât numărul care urmează să fie stabilit trebuie să fie cel puțin egal cu suma tuturor valorilor declarate pool_size. Numărul maxim, așa cum se arată în acest exemplu, este recomandat pentru a furniza suficiente procese necesare pentru o nouă conexiune client. Pentru fiecare protocol descris, trebuie să creați o secțiune separată prespawn_desc =. Instalarea prea multor dispeceri poate avea un impact negativ asupra performanței datorită consumului ridicat de memorie.

Parametrul timeout = indică ascultătorului numărul de minute pe parcursul cărora procesul server dedicat pre-spawned ar trebui să aștepte următoarea conexiune. Deoarece valoarea 0 permite ca un proces latent inactiv să continue pentru o perioadă nedeterminată, intervalul de așteptare ar trebui să fie mic, dar mai mare decât zero. Parametrul timeout este utilizat numai pentru procesele pre-generate care au cel puțin o conexiune; prin urmare, dacă serverul dedicat generat anterior nu avea nicio conexiune, atunci nu va mai apărea o așteptare.

Există mulți parametri care pot fi specificați atunci când descrieți ascultătorul. Pentru a înțelege și a discuta mai bine acești parametri, este mai bine să le luați în considerare în tabelul 4 decât în ​​fișierul demo.

Setează numărul de secunde în care un asistent de așteptare așteaptă să primească o interogare validă a bazei de date.
Implicit: 10
Exemplu: CONNECT_TIMEOUT_LISTENER = 10

Tabelul 4: Parametrii de control Listener.ora

După cum am menționat mai devreme, Oracle8i nu are o parolă prestabilită pentru ascultător. Deși în versiunile anterioare ale fișierului listener.ora, parametrul parole_ va fi setat automat la valoarea ORACLE în mod implicit, iar numele ascultătorului va fi setat la LISTENER. Pentru a instala și schimba parola ascultătorului, puteți folosi utilitarul Listener Control - lsnrctl.

Fișierul tnsnames.ora este utilizat pentru a stoca informații de configurare despre numele locale TNS (Substrat de rețea transparentă). Da, sună foarte misterios, dar ce înseamnă? Pentru a înțelege mai bine conținutul fișierului tnsnames.ora, vom gândi puțin la următoarele nume: Beal și Jim. Ce au în comun? Dacă spunem că acestea sunt nume minuțioase, atunci acest lucru este adevărat. Beal poate fi un nume minuțios pentru William și Jim pentru James. Deci, este numele și aliasul diminutiv același? Da, în conformitate cu dicționarul meu, cuvântul "alias" înseamnă "altfel numit", așa că cred că aliasul și numele diminutiv înseamnă același lucru.

În general, de ce toată această agitație în jurul aliasului și al denumirii diminutive? Vedeți, pe computerul client fișierul tnsnames.ora descrie sau specifică numele care sunt utilizate pentru conectarea acestui computer la baza de date. Pe server sunt numele pe care ascultătorul le utilizează pentru a crea o conexiune la baza de date. La pornirea ascultătorului versiunilor anterioare, decât 8.1.5. citește fișierul tnsnames.ora pentru a găsi numele și locația fiecărei baze de date descrise în fișierul listener.ora. În versiunea 8.1.5. și deasupra bazei de date în momentul înregistrării înregistrează aceste informații în ascultător. Periodic, ascultătorul solicită înregistrarea bazei de date; astfel încât atunci când porniți prima dată baza de date, aceasta este înregistrată în momentul în care începe ascultătorul.

Fișierul Tnsnames.ora din Oracle

Există mai multe fișiere tnsnames.ora pe sistem. Problema este că puteți intra într-un cuib de corn adevărat încercând să creați un număr mare de fișiere tnsnames.ora pentru a sprijini dezvoltatorii de aplicații și utilizatorii finali. Fișierul tnsnames.ora este utilizat dacă serverele Oracle Names nu sunt utilizate. Înregistrările din fișierul tnsnames.ora reprezintă un set de pseudonime utilizate de ascultător pentru a crea o conexiune la baza de date.

Sintaxa intrărilor pentru tnsnames.ora este destul de simplă. În primul rând, scrieți orice nume pe care doriți să îl ascultați utilizând ascultătorul. Acest nume este de obicei asociat cu așa-numitul nume de serviciu de rețea. Dacă baza de date se numește MYDB, atunci poate fi înregistrată în fișierul tnsnames.ora după cum doriți. Singura regulă este că, atunci când vă conectați la baza de date, trebuie să specificați exact același nume. De exemplu, dacă este înregistrat aliasul MARLENES_DB. atunci numele pe care doriți să îl specificați în șirul de conexiuni cu baza de date ar trebui să fie exact așa cum este prezentat mai jos:

Chiar dacă baza de date se numește MYDB, el este apelat prin alias sau numele serviciului de rețea, care este declarat în fișierul tnsnames.ora. Aici este o parte din fișierul tnsnames.ora pentru versiunea de bază de date 8.1.5, numită implicit ORC1, și baza de date versiunea 8.0.5, numită ORCL implicit: Acest fișier conține trei evenimente diferite. Prima și a doua intrare oferă conexiune de date utilizând două alias-uri diferite pentru aceeași bază de date, ORC1, și două camere diferite Oracle 1521 porturi Port-standard și 1526. De asemenea, rețineți că, în ambele aparițiile superioare ale SID-una și informațiile Cu toate acestea, aliasurile sunt diferite.

Un alt parametru care poate fi în secțiunea de descriere. dacă este folosit, este tipul de serviciu. Acest parametru specifică tipul de serviciu care va fi utilizat de baza de date Oracle Rdb. Parametrul type_of_service este utilizat prin interacțiunea cu Oracle Rdb. Această opțiune ar trebui utilizată numai dacă aplicația suportă atât baza de date Oracle Rdb, cât și baza de date Oracle RDBMS și este necesar ca aplicația să selecteze liber o conexiune cu o bază de date, precum și cu o altă bază de date. Acest parametru este utilizat pentru echilibrarea încărcării.

În secțiunea list_director, lista parametrilor depinde de tipul protocolului utilizat. De exemplu, pentru TCP, trebuie să specificați gazdă și port. Pentru IPC, trebuie să specificați valoarea cheii. iar pentru DECNET, trebuie să introduceți valorile nodului și ale obiectului. Deși parametrii gazdă și nod sunt utilizați pentru a descrie computerul pe care se află baza de date, trebuie să utilizați numele corect al parametrului pentru protocol, altfel conexiunea nu poate fi stabilită. Prin urmare, nu puteți specifica protocolul TCP împreună cu parametrul nod pentru a descrie locația computerului.

În secțiunea description_list din connection_data =, puteți lista oricare dintre parametrii prezentați în Tabelul 5.







Articole similare

Trimiteți-le prietenilor: