• Ei tuloksia

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.