adminisztrációs feladatok 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 Főbb funkciói: - kapcsolat kiépítés - adatok továbbítása kivételek, hibák kezelése Komponensei: - szerver oldali - kliens oldali
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
Lokális konfiguráció
TNSNAMES.ORA : az alias nevek definíciója 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ú
Oracle Directory Manager
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
TUXEDO struktúra TUXEDO Alkalmazás kliens Funkció szerver System/T System/D System/Q System/HOST System/WS System/ DOMAINS
főbb alkomponensek: - Bulletin Board - Message Queue - Bridge - DBBL Alkalmazás szerver Szerver ? X,Y,Z X=3,Y=5,Z=4 Q = X + Z - Y GET(X,Y,Z) Q=2 PUT(Q) Cmp Kliens TUXEDO főbb alkomponensek: - Bulletin Board - Message Queue - Bridge - DBBL - ATMI
API környezet Alkalmazás kliens Alkalmazás szerver h1=tpacall(SERV1) üzenet olvasás végrehajtás (SERV1) tpreturn() Üzenet várakozó sorok végrehajtás (SERV2) h2=tpacall(SERV2) tpgetrply(h2,…) tpgetrply(h1,…)
A Bulletin Board egységben minden szerver terhelése nyilvántartott API környezet Alkalmazás kliens Alkalmazás szerver id=tpconnect(SERV1,SND) Kapcsolódás a klienshez tprecv(id,data) tpsend(cd,data) tpsend(id,data,RCV) id tpreturn(SUCC,data) A Bulletin Board egységben minden szerver terhelése nyilvántartott A hozzárendelési módszerek: - round robin - real time cost-based