1 JOHDANTO
2.2 J ärjestelmäympäristön ja teknologiaratkaisun kuvaus
2.2.4 Työasema - palvelin -ympäristö
Järjestelmät on siis toteutettu työasema-palvelin (client-server) -ympäristöön, jossa tietovarasto on tietokantapalvelimella metsäkeskusorganisaation päätoi- mistolla ja ohjelmat ajetaan työasemilla, joita on päätoimistoissa ja aluetoimis
toissa. Ks. kuva 2.2.4
Työasema eli client
* käyttöliittymä
* järjestelmät
Verkko
* Net8
* TCP/IP
Palvelin eli server
* TNSListener
* tietokannan instanssi
* tietokanta
2.2.4.1 Tietokantapalvelin
Tietokantapalvelimelle on asennettu Oracle 8 Enterprise Edition (server- asennus) tietokanta-ohjelmisto sekä luotu tietokannan instanssi ja tietokanta.
Tietokannan versio on Oracle 8.0.5.
Oracle-kannan käyttöön tarvitaan kolme NT palvelua:
• Oracle tietokantapalvelu, jota tarvitaan yksi jokaista instanssia kohden. Met
säkeskuksen tietokantapalvelimella on tällä hetkellä kaksi instanssia. Toinen tutkittavan järjestelmäkokonaisuuden käytössä ja toinen luonnonvaratietojär- jestelmän käytössä.
• Oracle Start -palvelu, joita pitää olla ei yhtään tai yksi jokaista instanssia kohden. Käytetään tietokantapalvelun aloittamiseen.
• Nets Listener -palvelu, jota tarvitaan yksi tietokantapalvelinta kohden. Tarvi
taan työaseman ja tietokantapalvelimen väliseen yhteydenmuodostukseen ja tietojen välitykseen.
OracleS käyttää Win32 API rajapintaa. Instanssia ajetaan yhtenä prosessina (single process), jossa on useita pienempiä osia, säikeitä (multithreaded appli
cation). Palvelimen tietyt säikeet (server threads) palvelevat tietokannan käyttä
jiä.
Työaseman puolella oleva käyttäjäprosessi (user process) keskustelee palveli
men säikeiden kanssa Net8 -palvelun avulla, joka välittää palvelupyynnöt työ
asemasta tietokantapalvelimelle ja vastaukset tietokantakäsittelyn jälkeen takai
sin palvelimelta työasemaan.
Oracle-tietokanta koostuu:
• kontrollitiedostoista, joihin on tallennettu tietokannan fyysinen rakenne ja tie
tokannan tila
• datatiedostoista, jotka sisältävät kaikki tietokannan tiedot. Tietokannan loogi
nen rakenne, kuten taulut ja indeksit, ovat datatiedostoissa.
• redo log tiedostoista, joihin on talletettu kaikki tietokannan muutoksiin liittyvät tiedot palautustilanteita varten (rollback).
• parametritiedostosta, joka sisältää tietokannan käynnistyksessä tarvittavien parametrien arvot.
Tietokannan tiedot talletetaan ja niitä käsitellään loogisten rakenteiden mukai
sesti. Loogisia osia ovat mm. taulualueet, taulut, näkymät, segmentit jne. Yksi taulualue liitetään yhteen tai useampaan fyysiseen datatiedostoon.
Oracle instanssi koostuu palvelimen muistissa olevasta SGA-alueesta (System Global Area) ja taustasäikeistä. SGA-alue on joukko jaettuja muistipuskureita.
Taustasäikeet suorittavat asynkronisesti erillisiä tehtäviä, joita tietokannan käyttäjät haluavat tehdä järjestelmiä käyttäessään. Ne voivat esimerkiksi suo
rittaa kyselypyynnön mukaisesti tietojen loogisen luvun muistipuskurista tai suo
rittaa fyysisen luvun datatiedostosta asti, jos tietoa ei löydy muistista.
Tietokantapalvelin hoitaa siis tietokannan i/o-operaatiot. Palvelimella suorite
taan:
• tiedonhallintaoperaatiot, kuten tietokannan tietojen lisäykset, muutokset, poistot, kyselyt
• osa eheystarkistuksista, kuten tietojen pakollisuustarkistukset, vierasavain- ten riippuvuudet, tiettyjen avainten yksikäsitteisyystarkistukset ja joitakin numeeristen kenttien arvotarkistuksia
• osa tietokantaan kohdistuvasta käsittelystä, jolloin estetään turhaa verkko
liikennettä
• laskentaketjuja
• tarkistusketjuja
• hakuja
• tunnisteiden (konkatenoidut avaimet) muodostukset
Tietokantapalvelimen prosessori kuormittuu vain i/o-operaatioiden suorittami
sesta ja joidenkin tietokantaan vietyjen, verkkoliikennettä vähentävien ohjel- mayksiköiden suorittamisesta.
Seuraavalla sivulla on arkkitehtuurikuva Oracle-tuotteen eri osista.
ORACLE INSTANSSI
Työasemalla Palvelimella
Kuva 2.2.4.1 Oracle arkkitehtuuri
2.2.Д.2 Työasema
Työasemille on asennettu järjestelmät ja niiden ajamiseen tarvittavat Oracle Developer/2000 release 2.1 runtime -ohjelmistot. Järjestelmälogiikka eli näyt
töjen käsittelyt ja raporttien muodostaminen suoritetaan työasemalla. Järjestel
mien ajamiseen tarvittavat prosessointikustannukset kohdistuvat muiden kuin i/o -operaatioiden osalta siis työasemalle eivätkä palvelimelle.
2.2.4.3 Yhteys tietokantapalvelimen ja työaseman välillä
Koska tietokannan i/o-käsittely tapahtuu palvelimen puolella ja järjestelmän ajaminen työaseman puolella, tarvitaan tietoliikenneyhteys verkon yli näiden
kahden välille. Jos verkon kapasiteetti on pieni, pitää järjestelmä toteuttaa niin, että verkkoliikennettä on mahdollisimman vähän. Jos verkon kapasiteetti on suuri, ei tietojen liikuttelu verkon yli muodostu pullonkaulaksi.
Verkkoliikenteen määrä ja sen vaikutukset ovat tässä tutkimuksessa keskeisiä asioita, kun testataan tietoliikenneratkaisun riittävyyttä ja saatujen kokemusten perusteella säädellään asiaan vaikuttavia eri osatekijöitä niin, että kokonaisuus toimisi parhaalla mahdollisella tavalla.
Verkkoliikenne koostuu työaseman järjestelmien lähettämistä palvelupyynnöistä ja tietokannan instanssin suorittamien palvelupyyntöjen tuloksista. Vaikka verk
koliikenteen määrä ei järjestelmien kohdalla ole tällä hetkellä massiivista, koska se ei sisällä mitään multimediatyyppisen tiedon välitystä, on järjestelmät silti toteutettu niin, että turhaa verkkoliikennettä on vältetty. Työaseman ja palveli
men väliseen tietojen välitykseen palataan kohdassa 2.2.5 Järjestelmien aihe
uttama tietoliikenne.
2.2Л.4 Yhteydenmuodostus tietokantaan työasemalta palvelimelle
Tietokantapalvelimen puolella on Listener-prosessi, joka hoitaa yhteydenmuo
dostuksen järjestelmän ja kannan välille. Yhteydenmuodostusta varten pitää tietää mihin Listener-prosessiin halutaan olla yhteydessä, mille palvelimelle ja mihin palvelimen tietokannoista.
Net8 -ohjelmisto hoitaa yhteystietojen välityksen Listener-prosessille. Tietokan
tayhteyttä varten täytyy määritellä niin työaseman kuin palvelimenkin puolella, mitä konfigurointitapaa NetS käytetään nimien selvitykseen. Tarkasteltavassa ympäristössä on päädytty paikalliseen nimeämiseen. Toisena vaihtoehtona olisi ollut keskitetyn nimipalvelimen käyttö. Käytetty metodi on kerrottu sqlnet.ora tiedostossa.
Paikalliseen nimeämiseen käytetään TNSNAMES -menetelmää, jossa tnsna- mes.ora tiedostossa kerrotaan tiedot (connect descriptor) jokaisesta tarvitta
vasta kantayhteydestä. Kustakin yhteydestä määritellään:
• palvelun nimi. Järjestelmien käyttäjät avaavat kantayhteyden, kun järjes
telmä pyytää heti aluksi antamaan käyttäjätunnuksen, salasanan ja tietokan
nan nimen. Tietokannan nimeksi annetaan tnsnames.ora tiedostossa mää
ritelty palvelun nimi ja sen avulla löytyvät kaikki tarvittavat yksityiskohtaiset tiedot kantayhteydestä tnsnames.ora -tiedostosta. Palvelun nimi on aliasnimi tietokannalle.
• protokolla. Tarkoittaa käytettävää verkkoprotokollaa. Tässä tapauksessa installoitu protokolla on TCP/IP.
• kohdekone (host). Tarkoittaa sen tietokantapalvelimen nimeä tai IP- numeroa, jonka tietokantaan halutaan yhteys.
• portti. Tarkoittaa sen portin numeroa, jota Net8 listener-prosessi kuuntelee palvelimella odotellessaan yhteydenmuodostuspyyntöjä kohdekoneelle.
• SID-nimi. On Oracle-instanssin nimi, joka identifioi tietokannan, johon yhteys halutaan.
Nämä tiedot päivitetään jokaiseen koneeseen, jolta halutaan olla yhteydessä tietokannan instanssiin. Tutkittavassa kohteessa tarvitaan määrittelyt kahden instanssin käyttöön.
Tietokantapalvelimelle määritellään lisäksi listener.ora tiedostoon, mitä listener- prosesseja koneella ajetaan ja mitä tietokantojen instansseja ne palvelevat.
Tutkittavassa kohteessa tarvitaan yksi listener-prosessi, joka palvelee kahta tietokannan instanssia.