5.9.3 Adat betöltőAz adatbetöltő periódikusan figyeli az egyes adatgyűjtő modulok tmp könyvtárában megjelenő SQLLDR file-okat, az egyes ciklusok között 15 másodpercnyi időt várva. Amennyiben egy file megjelenik, úgy azt letölti a saját sftp könyvtárába és bejegyzi a letöltés tényét az adatbázisba. Amennyiben a CONFIG_INI.pm állományban a USE_PARTITONS paraméter értéke kisebb, mint kettő, úgy a file-t egymagában be is tölti az adatbázisba és annak a tényét is bejegyzi az adatbázisba. Ha a paraméter értéke azonban >= 2, akkor először összefűz több ilyen file-t is ha tud, hogy minél nagyobb állományt legyen képes egyszerre betölteni. E mellett hogyha egy adatgyűjtő szerver csoporthoz több mérő szerver is tartozik, akkor addig nem tölti be a mérő szervertől érkező adatokat, amíg az összes mérő szervertől meg nem érkezik az adat (vagy már nem is érkezhet meg, mert túl sok idő telt el). Hogyha a USE_SORT_FOR_UNIQUE_MERGE változó be van állítva 1-re, akkor a betöltés előtt rendezi az adatokat és kiszűri a duplikált sorokat: ilyenek akkor fordulhatnak elő, hogyha egy mérőszerver csoporthoz több mérő szerver is tartozik, ezért ilyenkor ajánlott ezt az értéket beállítani 1-re. Amennyiben egy adott mérési ciklusra az összes file betöltésre került vagy a konfiguráció alapján a rendszer már nem vár tovább egy file megjövetelére, úgy az adott mérési ciklushoz lezárja a betöltés folyamatát; a threshold és a riport feldolgozás ez alapján indulhat el az adott mérési ciklusra. Az adatbetöltő által a mérőszerver moduloktol letöltött file-ok három különböző helyre kerülhetnek a feldolgozás után: · tmp/done: akkor kerülnek ide, ha betöltésre kerületek és a betöltés során nem volt semmilyen probléma · tmp/imperror: akkor kerülnek ide, ha betöltésre kerületek de a betöltés során valamilyen Oracle hiba történt · tmp/skipped: akkor kerülnek ide, ha nem kerültek betöltésre, mert az SQLLDR már végzett az általuk reprezentált mérési időponttal A fentiek közül a PVSR egyedül a tmp/done könyvtárba került file-okat törli automatikusan egy idő után. A modul öt percenként periódikusan végzi a hozzá tartozó ön-teszteléseket, lásd a Szerver események fejezetet. Alapesetben az adat betöltő két processzből áll: az első processz indítja a másodikat fork segítségével, a második végzi a fenti műveleteket, azonban naponta egyszer automatikusan kilép, majd az első processz automatikusan elindítja ezt a második processzt. A modul több gyerek processzt is indíthat a SQLLDR_ASYNC_LDR_MODE paraméter értéke alapján, ami azt szabályozza, hogy a modul hogyan keresi az új file-okat és hogyan tölti be őket az adatbázisba. Négy lehetséges értéke van: · 0 (alapeset): a modul egyesével letölti a mérési eredmény file-okat majd betölti őket az adatbázisba · 1: a modul egyesével letölti a mérési eredmény file-okat majd amíg végzi a betöltésüket az adatbázisba addig is keresi az új mérési eredmény file-okat és tölti le őket · 2: a modul több gyerek processzt hoz létre és párhuzamosan tölti le az eredmény file-okat majd betölti őket az adatbázisba · 3: a modul több gyerek processzt hoz létre és párhuzamosan tölti le az eredmény file-okat majd amíg végzi a betöltésüket az adatbázisba addig is hoz létre új gyerek processzeket és tölti le az új file-okat párhuzamosan A PVSR által nyújtott mérési adattárolási opciókról és az adatbetöltő által használ táblákról részletesebben lásd a „Mérési értékek adattárolási opciói” fejezetet. |