240 likes | 397 Views
ORACLE ORDBMS. adminisztrációs feladatok 8. rész. 2004. dr. Kovács László. Hálózati topológiák. two-tier (client –server) three-tier (DB-server, AP-server, client) N-tier (DB-server, AP-server, midleware, client). a terhelés függvényében megvalósítani eltérő hálózati protokollok.
E N D
ORACLE ORDBMS adminisztrációs feladatok 8. rész 2004 dr. Kovács László
Hálózati topológiák two-tier (client –server) three-tier (DB-server, AP-server, client) N-tier (DB-server, AP-server, midleware, client) a terhelés függvényében megvalósítani eltérő hálózati protokollok
Oracle hálózati komponens kliens A kliens B server A server C server B Komponensei: - szerver oldali - kliens oldali Főbb funkciói: - kapcsolat kiépítés - adatok továbbítása kivételek, hibák kezelése
Oracle adatbázis elérése OracleNet server A kliens A Internet-protokoll HTTP
SQLNet Net8 előnyei: - hálózat függetlenség - protokoll függetlenség homogén rendszerek támogatása
SQLNet TCP/IP SPX LU2
SQLNet TNS réteg.(Transparent Netwok Substrate) egy rutin gyüjtemény, mely általános adatkapcsolati funkciókat biztosít (kapcsolat felvétel, adat továbbítás,..). A TNS-beli rutinok még hálózat protokoll függetlenek. Az alkalmazások TNS rutinokat hívnak meg a kapcsolatok megvalósítására. OPA réteg. (Oracle Protocol Adapter) végzi a leképzést az általános TNS réteg eljárásai és a szabvány hálózati protokolnak megfelelő rutinok között. Egy ilyen szabvány ipari protokoll például a TCP/IP. Az OPA a TNS hívásokat konvertálja hálózati protokoll specifikus hívásokká oda és vissza.
Net8 konfigurálása cél, hogy a kliens minél egyszerűbb és rugalmasabb módon tudja az igényelt szervert elérni alias név <---------> fizikai név Üzemmódok és név feloldási módszerek: - lokális adminisztráció Host naming Local naming External naming - központi adminisztráció Oracle names
szerver azonosítás szerver adatbázis alacsony szintű azonosítása: - hálózati elérés (host) - figyelő kiválasztás (listener) - adatbázis kiválasztás (service name) host, listener: (address=(protocol=tcp) (host=sales-server)(port=1521)) service name: (connect_data= (service_name=sales.us.acme.com)) CONNECT scott/tiger@(description=(address=(protocol=tcp) (host=sales-server1)(port=1521))(connect_data= (service_name=sales.us.acme.com))
Szerverek azonosítása alias névvel net service name : sales = (description= host, listener: (address=(protocol=tcp) (host=sales-server)(port=1521)) service name: (connect_data= (service_name=sales.us.acme.com)) CONNECT scott/tiger@(description=(address=(protocol=tcp) (host=sales-server1)(port=1521))(connect_data= (service_name=sales.us.acme.com)) CONNECT scott/tiger@sales
TNSNAMES módszer TNSNAMES.ORA : az alias nevek definíciója db_name.db_domain = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (protocol adapter information) ) ) (CONNECT_DATA = (SID = SID) ) ) - PROTOCOL : a protokoll tipusának megadása, - HOST : szerver csomópont azonosítás - PORT: : portszám azonosítás - GLOBAL_DBNAME: adatbázis instance azonosítás SID : adatbázis SID
A LISTENER modul felelős a kliensektől bejövő kérések fogadásáért és továbbításáért a szerver felé. dedikált vagy osztott kapcsolat
LISTENER.ORA LISTENERNAME = (ADDRESS_LIST = (ADDRESS= (PROTOCOL= ) (KEY= service_name) ) (ADDRESS = (PROTOCOL = TCP) (HOST = host_name) (PORT = 1521))) STARTUP_WAIT_TIME_LISTENER = CONNECT_TIMEOUT_LISTENER = TRACE_LEVEL_LISTENER = SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = ) ) ) PASSWORDS_LISTENER =
HOSTNAME módszer HOSTNAME : Host Naming Adapter alkalmazása a gép szervernévvel lehet elérni az adatbázist - csak TCP/IP környetben használható. - nincs szükség semmilyen kliens oldali konigurációra. - a Listener-nek a 1521-es porton kell futnia kötelezően. - A LISTENER.ORA állományban kell szerepelni egy GLOBAL_DBNAME = hostnév paraméternek, ahol a hostnév a szerver csomópopont domain neve. CONNECT scott/tiger@arrakis.iit.uni-miskolc.hu
Oracle Names módszer nagyobb rendszerek centralizált konfigurálásra szolgál több NAME SERVER csomópontból áll A Name Server nyilvántartja a hálózatban lévő szervereket és elérésüket. Lehet hierarchikus domain neveket is használni Lépései: - a kliens megad egy globális service nevet - a névet felküldi egy NAMESERVER-hez - a NAMESERVER visszaküldi a fizikai címet - a LISTENER-ek automatikusan regisztrálják a hozzájuk tartozó adatbázisokat a NAMESERVER-eknél
Oracle Internet Directory LDAP kompatíbilis szolgáltatást nyújt Alkalmazásként fut a DBMS felett Szabvány felület az objektumok távoli eléréséhez Többszintű védelem anonymus jelszóval védett tanúsítvány alapú
Tranzakció menedzserek Middleware : köztes komponens a kliens és a szerverek között feladata: terhelés kiosztás, konverzió, védelem ellenőrzés TUXEDO: tranzakció monitor, Transaction for UniX Extended for Distributed Operations • szolgáltatások automatikus megkeresése • egyenletes leterhelést biztosít • adatbázis, funkció függetlenség • nyitott kapcsolatok • hozzáférés ellenőrzés • adat és funkció konverzió • tranzakció egység biztosítása
Alkalmazás kliens Funkció szerver TUXEDO System/Q System/WS Alkalmazás kliens System/T Funkció szerver System/D System/ DOMAINS Funkció szerver System/HOST Alkalmazás kliens TUXEDO struktúra
Kliens TUXEDO Cmp Cmp ? X,Y,Z Szerver Alkalmazás szerver GET(X,Y,Z) X=3,Y=5,Z=4 Cmp Q = X + Z - Y Q=2 PUT(Q) főbb alkomponensek: - Bulletin Board - Message Queue - Bridge - DBBL - ATMI
Alkalmazás kliens Alkalmazás szerver üzenet olvasás h1=tpacall(SERV1) végrehajtás (SERV1) h2=tpacall(SERV2) Üzenet várakozó sorok tpreturn() tpgetrply(h2,…) tpgetrply(h1,…) Alkalmazás szerver üzenet olvasás végrehajtás (SERV2) tpreturn() API környezet
Alkalmazás kliens Alkalmazás szerver id=tpconnect(SERV1,SND) Kapcsolódás a klienshez id tpsend(id,data,RCV) tprecv(id,data) tprecv(id,data) tpsend(cd,data) tprecv(id,data) tpreturn(SUCC,data) API környezet A Bulletin Board egységben minden szerver terhelése nyilvántartott A hozzárendelési módszerek: - round robin - real time cost-based