Oracle 9i egyszerű telepítése RedHat Linux 8.x és 9.x operációs rendszerekre HOGYAN

Evgueni Tzvetanov

v1.1, 2003 június 23.
A dokumentum az Oracle 9i Standard Edition adatbázis kezelő telepítését írja le RedHat 8.x és 9.x operációs rendszerekre.

1. Bevezetés

Feltételezem, hogy az olvasónak van ismerete a Linux fájlrendszerekről, parancsokról, eszközökről, shell-ekről és shell szkript programozásról.

1.1 Áttekintés

A dokumentum egy egyszerűsített Oracle 9i adatbáziskezelő telepítési folyamatát mutatja be RedHat 8.x és 9.x operációs rendszereken. Mivel csak telepítési segítség, a folyamat követése során figyelemebe kell venni az adott Linux operációs rendszer és az Oracle disztribúciójának verzióját, valamint a PC paramétereit is.

Az telepítés leírása csak Linux rendszerekre vonatkozik, Unix rendszerekre nem terjed ki. Más operációs rendszerhez az Oracle Installation Guide (Oracle telepítési kézikönyv) használatát javasoljuk.

Nem vagyok sem adatbázis-adminisztrátor (DBA; Database Administrator), sem nagy tudású Oracle adminisztrátor, ezért ne kérdezzetek tőlem ezzel kapcsolatban. Ezt a feladatot meghagyom a tapasztalt adatbázis-adminisztrátoroknak :)

1.2 Szerzői jog

This document is Copyright 2003 by Evgueni Tzvetanov (Speedy). A dokumentum másolása, terjesztése és/vagy módosítása engedélyezett a Free Software Foundation (Szabad Szoftver Alapítvány) által közzétett GNU Free Documentation License 1.2, vagy annak későbbi változatában leírt feltételek szerint; állandó fejezetek, előoldali és hátoldali szövegek nélkül.

Licenc teljes szövege megtalálható a GNU Free Documentation License honlapon.

1.3 A felelősség teljes elhárítása

A dokumentumban található információkat saját felelősségre használjuk. A dokumentum tartalmára vonatkozóan semmilyen felelősséget nem vállalok. A dokumentumban lévő elképzelések, példák és/vagy minden más tartalmat teljes mértékben a saját felelősségünkre használjuk.

Minden szerzői jog a tulajdonosoké, hacsak arról konkrétan másképpen nem rendelkeznek. Ebben a dokumentumban szereplő kifejezések használata semmi estere sem lehetnek hatással termék védjegyre vagy szolgáltatói védjegyre.

Bizonyos termékek vagy védjegyek megnevezése jóváhagyásként (hozzájárulásként) nem tekinthetőek.

Különösen ajánljuk, hogy első telepítés előtt és megszokott időközönként is biztonsági mentéseket készítsünk.

1.4 Készítők

Ez a dokumentum különböző források (könyvek és honlapok) tudásanyagának felhasználásával készült.

Ki szeretném fejezni őszinte köszönetem ezen művek készítőinek!

Azoknak az embereknek is köszönöm a segítséget, akik tippeket adtak, és megoldások széles választékával bővítették a doksit.

A példákban felsorolt tapasztalatok sok teszt és tapasztalás eredményképpen bővült ki. Próbáljunk ki mindent, amit csak akarunk; ez a legfőbb kulcsa annak, hogy megtaláljuk a kívánt megoldást. Még ha egy-két rendszeren károkat is okozunk, kreativitásunkat segíti és saját hibáinkból tanulunk.

Megjegyzéseket vagy javaslatokat nyugodtan küldjenek az evgueni@email.com e-mail címre.

1.5 Magyar fordítás

A magyar fordítást Velancsics Anikó készítette (2004.03.22). A lektorálást Daczi László végezte el (2004.05.20). A dokumentum legfrissebb változata megtalálható a Magyar Linux Dokumentációs Projekt honlapján.

2. Előkészületek

2.1 Az Oracle 9i adatbázis kezelő letöltése

Az Oracle 9i adatbázis kezelő könnyen beszerezhető az Oracle webhelyéről. Ott kattintsunk a Download (letöltés) hivatkozásra és kövessük a disztribúciónk szerinti útmutatásokat. Néhány oldalt el kell olvasnunk, mielőtt eljuthatunk a letöltés hivatkozáshoz. Ezek a szerzői jogokat, beleegyező nyilatkozatot tartalmazzák melyeket figyelmesen olvassunk át. Többi csak statisztikai információ. Amennyiben még nem vagyunk tagok, regisztráljuk magunkat az Oracle webhelyen, hogy a szabadon letölthető anyagokhoz hozzáférhessünk.

A szerver alkalmazások 3 fájlban tölthetők le, ezekhez hasonló megnevezésekkel:

Más verziók nevükben eltérhetnek, de telepítés tekintetében hasonlóak.

Az Oracle telepítési útmutató kétféle telepítéshez használható - CD vagy merevlemez telepítéshez. Én az elsőt használtam. A fájlok letöltése és a CD-k elkészítése (lásd. a következő részt) sok időt vesz igénybe, ezért legyünk türelemmel! Mindezen kívűl a telepítés sok lemezterületet is igényel, a 3 fájl kb. 1.5 GB. Háromszor ennyi területre lesz szükségünk, ha a lemezen akarjuk tartani az archív fájlokat, a könyvtárakat és a CD képfájlokat (image), míg biztosan el nem készülnek a hibátlan CD-k.

A következő parancsokat adjuk ki a letöltött fájlok könyvtárában, mindhárom letöltött fájlra vonatkozóan:

gunzip lnx_920_disk1.cpio.gz
cpio -idmv < lnx_920_disk1.cpio

Ezek a parancsok 3 könyvtárat készítenek Disk1, Disk2 Disk3 néven.

2.2 A CD lemezek elkészítése

Mivel a Linux rendszeren történő CD írást a CD-Writing-HOWTO (CD írás HOGYAN) teljességgel tartalmazza, ezért az alábbiak csak az Oracle adatbázis kezelőjéhez tartozó speciális lépéseket mutatják be.

A CD képfájlok elkészítése

Első lépés, hogy az Oracle 3 CD-jéről CD képfájlokat készítünk. A következő parancsokat a megfelelő fájlnév és könyvtár nevének megváltoztatásával mindhárom könyvtárra alkalmazzuk:

mkisofs -r -o ora9id1.iso Disk1/

Ez 3 ISO CD képfájlt készít el, melyek az telepítési folyamathoz szükségesek. Lehet, hogy a parancs több figyelmeztető információt is generál a szükséges névváltoztatásokat illetően, de nem kell aggódni, az képfájlok a helyes könyvtár-fastruktúra információkat fogják tartalmazni. Ennek ellenőrzésére fel kell csatololni (mount) az képfájlokat egy könyvtárba a loopback eszköz használatával (ehhez a rendszermagnak támogatnia kell loopback eszközt), ahogyan az a CD-Writing-HOWTO (CD írás HOGYAN) leírásában is megtalálható:

mount -t iso9660 -o ro,loop=/dev/loop0 cd_image mount_dir

ahol a cd_image az mkisofs parancs által készített CD képfájl. felscatolás után könyvtárválásokkal ellenőrizhető a könyvtárstruktúra helyessége. Ha minden rendben van, jöhet a következő lépés.

A CD lemezek írása

Az képfájlok CD lemezre írása akármilyen parancssorból indítható vagy GUI programmal elkészíthetők, amik ISO CD képfájlokat használnak CD lemezek készítéséhez. Részletesebben erről a CD-Writing-HOWTO (CD írás HOGYAN)dokumentumban olvashatunk. A CD-k írását követően bizonyosodjunk meg arról, hogy azok pontosan ugyanazt a könyvtárstruktúrát tartalmazzák mint a Disk1, Disk2, Disk3 könyvtárak. Ehhez csatoljuk fel az új CD-ket és a megszokott módon járjuk be a könyvtárstruktúrát. Az képfájlok bármilyen CD íróval bármilyen operációs rendszeren CD-re írhatók, amennyiben támogatják az ISO képfájlok használatát CD íráshoz.

Az mkisofs parancs készíthet üres könyvtárakat magában a CD képfájl root (gyökér) könyvtárában. Ez semmilyen problémát nem okoz a telepítés tartalmára nézve. Egyszerűen figyelmen kívül kell hagyni.

3. Telepítés előtti teendők

A telepítés előtt szükségünk lesz néhány lépés megtételére, melyek a következő témaköröket érintik:

3.1 Rendszer követelmények

Hardver követelmények

Az Oracle 9i teljesítménye miatt egy jobb számítógépre lesz szükségünk. Az Installation Guide ajánlása szerint:

Paraméter       Szükséges       Elegendő (tesztelt)
---------------------------------------------------
CPU             PII vagy K6     K6/2 *(1)
RAM             512 MB          256 MB
HDD tárhely     3.5 GB          2.5 GB *(2)
Swap tárhely    1GB vagy RAMx2  512 MB vagy több

(1)Nagyobb adatbázisokhoz Dual CPU ajánlott. Általánosan nagyobb teherbírású CPU párok (Xeon vagy Athlon MP) vagy még a quad rendszerek is jó választás(ok)nak számítanak.

(2)több adatbázis használata esetén RAID SCSI HDD vagy külön HDD ajánlott az egyes adatbázisokhoz.

Szoftver követelmények

Oracle adatbázishoz szükséges minimális rendszermag és JRE szoftver:

Paraméter            Szükséges       Elegendő (tesztelt)
--------------------------------------------------------
Rendszermag-verzió   2.4.7           vagy újabb
JRE                  1.1.8v3         1.1.8v3

Az Oracle 8i és ezt követő verzióknál a telepítési folyamat java alapú GUI alkalmazás, így fő követelmény az X szerver és valamilyen Window Manager megléte. Minimálisan a JRE 1.1.8v3 verzió ugyancsak elengedhetetlen. A leírt Oracle telepítés JRE 1.1.8v3 verzió mellett történt, és mivel más verzióval nem volt kipróbálva, más esetekben nem garantált a helyes működése. Csak saját kockázatra teszeljük.

A szükséges követelmények Enterprise Server telepítés mellett érvényesek. Standard Edition telepítéshez az elégséges értékek megfelelnek. Bizonyos esetekben pedig még ezeknél alacsonyabb paraméterek is lehetségesek.

A konkrét telepítési környezet

A bemutatott telepítés a következő környezetet használja:

CPU                     K6 III /400
RAM                     512 MB
HDD tárhely             2.3 GB
Swap tárhely            512 MB
CD ROM                  24x
Rendszermag-verzió      2.4.18-24.8.0
JRE                     1.1.8v3

Ez a környezet csak kis adatbázis teszteléséhez elegendő. Ahogy azt korábban említettük, nagyobb vagy igen nagy adatbázis használatához nagyobb teljesítményű hardvert használjunk.

3.2 Környezeti változók és profilok

Telepítés előtt néhány környezeti változó értékét be kell állítanunk. Ezeket a változókat beállíthatjuk konkrétan a sorok beírásával az összes olyan .bash_profile fájlban, amelyek tulajdonosa az adatbázis eléréséhez jogosult, vagy általánosabb megközelítésben - az /etc/profile fájlban (akárcsak a bemutatott telepítésünkben):



ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=/u01/app/oracle/product/9.2.0.1.0
ORACLE_SID=ORTD

PATH=$PATH:$ORACLE_HOME/bin
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib:$ORACLE_HOME/network/lib

export PATH ORACLE_BASE ORACLE_HOME ORACLE_SID LD_LIBRARY_PATH

Az említettek teljes mértékben érvényesek mind a RedHat8.x és 9.x operációs rendszerekre, bár úgy néz ki, hogy az Oracle egy másik változatot tervez RedHat 9.-re. Ennek megfelelően tartalmaznia és exportálnia kell az előzőeket. A következő beállítás ahhoz szükséges, hogy ne ragadjon az telepítés egy végtelen ciklusba:


LD_ASSUME_KERNEL=2.4.1

Köszönet Steve Schladel kollégának és adatbázis-adminisztrátornak az telepítés problémamentesítéséért.

Az ORACLE_SID változó beállítására az Oracle Test Database rövidítését használtam. Ezt mindenki egy választott SID értékkel állíthatja be. Ez lesz az alapértelmezett adatbázis név, valamint a teljes adatbázis név része.

A változóról bővebben a Oracle Administrator's Manual or Reference (Oracle Adminisztrator Kézikönyben vagy Referenciában) olvashatunk.

3.3 JRE

A JRE (Java Runtime Enviroment) letölthető a Blackdown website - Blackdown webhelyről. Válasszuk az 1.1.8v3 verziót, ha nem tudjuk pontosan melyiket töltsük le, majd tömörítsük ki az /usr/local könyvtárba. Ez egy könyvtárt fog létrehozni a JRE verziójának megfelelő elnevezéssel. Hozzuk létre a következő hivatkozást (link) az /usr/local könyvtárban:

ln -s jre118_v3 jre

JRE 1.1.8v3 disztribúció esetén. Ha újabb verziót használunk akkor a parancsot annak megfelelően változtassuk meg. Adjuk a PATH változóhoz a JRE bin könyvtárát:

PATH=$PATH:/usr/local/jre/bin
export $PATH

illetve a szükséges útvonalakat egészítsük ki vele.

3.4 Root felhasználóként végrehajtandó feladatok

A telepítés megkezdése előtt a Linux környezetet és könyvtársturktúrát elő kell készítenünk. Néhány lépés részletes leírása következik. Ne feledjük el, hogy ezek a Standard Edition telepítéséhez szükséges minimális lépések. Ha valaki az Enterprise változatot vagy további szolgáltatásokat kíván telepíteni, annak azt ajánljuk, hogy az Oracle 9i Installation Guide (Oracle 9i telepítési útmutató) leírást tanulmányozza át hozzá.

Root felhasználóként jelentkezzünk be, majd kövessük az alábbiakat.

A rendszermag beállítása

Amennyiben a következő rész nem teljesen világos, a Linux IPC programozói referenciában lehet a témának utánajárni.

A 2.2.1-es verzióktól kezdve a rendszermagot a /proc fájlrendszeren kersztül dinamikusan lehet paraméterezni, nem kell azt újra fordítani. A /proc fájlrendszer használata ezért a rendszer paraméterezéséhez nagy rugalmasságot biztosít. A következőkben a rendszermag átparaméterezéséhez szükséges, minden rendszerindításkor lefutó szkriptek elkészítését mutatjuk be.

Lépjünk be a /proc/sys/kernel könyvtárba.

A rendszermagnak a telepítéshez szükséges beállításairól lesz szó a következőkben.

Nézzük meg és állítsuk be a szemafor paramétereit

Az SEMMSL, SEMMNS, SEMOPM és SEMMNI szemaforok paramétereit a

cat sem

paranccsal tudjuk megnézni. Ehhez hasonló kimenetet kapunk:

250 32000 32 128

ami az említett szemaforok értékeit jelenti a fenti felsorolási sorrendben. Állítsuk át a paramétereket a következőképpen:

echo 100 32000 100 100 > sem

Nézzük meg és állítsuk be az osztott memória (shared memory) paramétereit

Az SHMMAX, SHMMIN, SHMMNI, SHMSEG osztott memória paraméterek értékeit a

cat shm_param

paranccsal tudjuk lekérdezni, ahol az shm_param az említett SHMMAX, SHMMIN, SHMMNI, SHMSEG valamelyikét jelöli. A következő beállításokat végezzük el:

echo 2147483648 > shmmax
echo 4096 > shmmni
echo 2097152 > shmall

A fenti parancsokat az aktuális futási szinthez tartozó init szkriptekbe helyezve minden rendszerindításkor lefuttathatjuk, hogy meghatározzuk melyik Oracle adatbázist használjuk, de ne feledjük el ezeket a paramétereket beállítani még az adatbázis indítása előtt. A futási szintekről és indító szkriptekről további információt találhatunk a Linux Administrator's guide (Linux adminisztrációs kézikönyv) leírásban.

Fájlkezelők (File handles)

Állítsuk be a fájlkezelőket az alábbi parancsokkal:

echo 65536 > /proc/sys/fs/file-max
ulimit -n 65536

Socket-ek

Soket-ek beállítása:

echo 1024 65000 > /proc/sys/net/ipv4/ip_local_port_range

Folyamatok (process) korlátozása

Process limit beállítása:

ulimit -u 16384

Csoportok és hozzáférések

Ahogy minden Oracle adatbázis, a 9i tulajdonosához is tartozik egy felhasználó, amit tradicionálisan oracle-nek neveznek el. A csoportokkal szembeni elvárások kissé eltérnek a megszokottól; Kell hogy legyen egy OSDBA group, ami alapértelmezetten a dba nevet viseli. Szükség van továbbá egy másik group-ra is (általában oinstall névvel) ami a szoftver telepítéseket felügyeli. Operátorok csoportjára is szükség van (de ez tetszőleges), ami operátori hozzáférést biztosít a felhasználók egy csoportjának. A csoportok létrehozásának menete:

groupadd dba
groupadd oinstall
groupadd oper

Miután elkészítettük a csoportokat, adjunk hozzáférést az Oracle tulajdonosának:

useradd -c DBA -g oinstall -G dba oracle

ez létrehozza az oracle felhasználót, ami elsődlegesen az oinstall, másodsorban pedig a dba csoportba tartozik.

Az adatbázis felhasználóit a későbbiekben az /etc/group fájlban kell a dba csoporthoz adni.

Felcsatolási pontok (mount points) és hozzáférések

Az Oracle telepítéshez minimálisan 2 csatolás szükséges - egy a szoftver és egy az adatbázis fájlokhoz. Abban az esetben ha OFA-t (Optimal Flexible architecture) használunk, akkor 4 csatolásra lesz szükség - egy a szoftverhez, három pedig az adatbázis fájlokhoz.

Oracle dokumentációs követelmény, hogy mindegyik csatolási pont külön külön lemez legyen, de minimálisan ahogy azt mi is használjuk, a csatolási helyeknek könyvtáraknak kell lenniük. Hagyományosan a csatolások elnevezései /u01, /u02, /u03, stb. Ezeket a rendszeren bárhol root alkönyvtárként kell felcsatolni. Én konkrétan kettő könyvtárba, /u01, /u02 könyvtárként a root könyvtár alá készítettem csatolási pontot.

Ezekkel a parancsokkal elkészíthetjük a megfelelő csatolási pontokat (root felhasználóként).

mkdir /u01 /u02
chown oracle.dba /u01 /u02
chmod 755 /u01 /u02

Az utolsó két parancs az Oracle 9i telepítéséhez, az telepítés könyvtár tulajdonjogait állítja be a telepítő felhasználóhoz (dba-hoz), de az telepítés után adminisztrátorként a legfelső könyvtár a root tulajdonává tehető.

Fájl-létrehozási jogosultságok

Legtöbbször a umask 0022-re van állítva. Oracle adatbázis telepítésénél ajánlott leellenőrizni, hogy ez a 0022 érték legyen beállítva. Ez biztosítja, hogy az telepítés a megfelelő attribútumokkal jöjjön létre. Ellenőrizzük le a beállítást az

umask

paranccsal, majd állítsuk be a

umask 0022

paranccsal. Ha az umask alapértelmezett értéke nem a 0022, akkor azt akár profile-ból is érdemes beállítanunk.

3.5 oracle felhasználóként elvégzendő beállítások

Telepítés előtt lépjünk be oracle felhasználóként egy X terminálról, és bizonyosodjunk meg a DISPLAY és PATH változók megfelelő beállításáról. A DISPLAY változónak tartalmaznia kell az X szerver nevét, számát és screen számát, ahol az Oracle Univerzal Installer futni fog. Ez utóbbira csak akkor van szükség ha távoli X servert-t használunk. Helyi telepítés esetén az X szerver manager használatával minden probléma nélkül futtathatjuk a telepítőt. Ha az telepítő futtatása során bármilyen problémába ütközünk a DISPLAY változó kapcsán, hajtsuk végre a következőket:

xhost +localhost
export DISPLAY=localhost:0.0

Ez egy trükk.

Továbbá oracle felhasználóként adjuk ki az

env

parancsot, majd ellenőrizzük le az összes előzőekben említett változót. Ha úgy találjuk, hogy egy vagy több változónak nem megfelelőek az értékei, javítsuk ki őket és a környezeti változókat töltsük újra.

4. Telepítés

4.1 CD lemezek felcsatolása (az telepítés megkezdése előtt ill. közben)

Általában RedHat Linuxon önműködően felcsatolódnak a CD-ROM meghajtóba helyezett CD lemezek, de kézzel is felcsatolhatjuk őket, röviden a következőképpen:

Indítsunk egy terminál ablakot és váltsunk superuser-re. Hagyjuk a terminál ablakot nyitva a telepítés alatt. Szükség esetén majd kéznél lesz.

Helyezzük az első CD lemezt a CD-ROM meghajtóba. Ellenőrizzük le, hogy a CD-k fel vannak-e csatolva valamelyik könyvtárba. Általában ez az /mnt/cdrom szokott lenni, de ha úgy tetszik, változtassuk meg, ahogy akarjuk. Futtassuk a következőket (feltéve persze, hogy a csatolási könyvtárunk az /mnt/cdrom ):

mount /dev/cdrom /mnt/cdrom

ami felcsatolja a CD lemezt az /mnt/cdrom könyvtárba. Ez lesz a telepítés könyvtára.

A telepítés folyamán, az Oracle Universal Installer kérni fogja, hogy cseréljünk CD-t, ezért ha a CD lecsatolása nem történik automatikusan, menjünk a root terminálunkhoz és végezzük el a következőket:

cd /mnt
eject

Ezzel lecsatoljuk a CD lemeztt és kinyitjuk a CD-ROM meghajtót. Ekkor helyezzük be a következő CD lemezt és csukjuk be a CD-ROM-ot. Használjuk a mount parancsot újra, ha a felcsatolás nem automatikus, majd váltsunk át a telepítési képernyőhöz, hogy folytassuk az telepítést.

4.2 A telepítő futtatása

Miután felcsatoltuk az első lemezt, indítsunk egy új terminált és váltsunk át az /mnt/cdrom könyvtárba. Ez a telepítés csatolási pontja. Innen futtassuk a következőt:

./runInstaller &

Továbbiakban az ugyanebben a könyvtárban található index.html fájlt böngészőben megnyithatjuk, és telepítésünkhöz használhatjuk.

4.3 Telepítési képernyők és lépések

Az Oracle Universal Installer 2.2-nek egyszerű, természetes felülete van. A következő telepítési rész átugorható, és saját belátás szerint is eredményesen folytatható a telepítés. A képernyők jó és logikus sorrendben követik egymást.

Abban az esetben, ha ellenőrizni akarjuk, hogy hol tartunk, vessük össze a folyamatunkat az alábbiakban leírt képernyőkkel és lépésekkel.

Üdvözlő képernyő (Welcome Screen)

Itt határozhatjuk meg, hogy a terméket telepíteni vagy törölni kívánjuk. Első telepítésünk esetén a folytatáshoz kattintsuk a "Next" gombra.

Egy új párbeszédablak (Inventory Location) fog megjelenni, ami az átmeneti telepítéshez a későbbiekben is használatos könyvtár megjelölését kéri tőlünk. Válasszuk az OK gombot, ha rendben találunk mindent, máskülönben írjuk be a kívánt, telepítéshez használandó könyvtár nevét.

UNIX csopornév képernyő (UNIX Group Name Screen)

Ez a képernyő az Oracle Installation Group (Oracle telepítés csoport) meghatározására szolgál, ami alapértelmezésben az oinstall. Ha meg akarjuk változtatni a csoport nevét, vagy egy másik speciális csoportot akarunk használni az telepítéshez, akkor most végezzük azt el. Egyébként írjuk be az oinstall-t, és a "Next"-tel menjünk tovább. A megjelenő párbeszédablak azt mutatja, hogy a root felhasználóként bejelentkezett terminálunkat kell használnunk (amit korábban indítottunk). Váltsunk át a root terminálhoz, és a kövessük képernyőn látható instrukciókat, ami az /tmp/ könyvtárban lévő orainstRoot.sh szkriptet futtatja.

Sikeres futtatás esetén a képernyőn a következő látható:

Creating Oracle Inventory pointer file (/etc/oraInst.loc)
Changing groupname of /u01/app/oracle/oraInventory to oinstall.

Váltsunk vissza a párbeszédablakhoz, és kattintsunk a "Continue" gomra.

Fájl elhelyezések képernyő (File Locations Screen)

Ezen a képernyőn a telepítés forrás- és célkönyvtára látható. Amennyiben a környezeti változók rendben vannak, nem kell megváltoztatnunk semmit sem, de ha mégis változtatni akarunk rajta, akkor körültekintően és tudatosan tegyük azt. Kattintsunk a "Next" gombra.

A képernyő jobb felső részén látható folyamatjelző a hosszadalmas lemezolvasási műveleteket jelzi. Legyünk türelemmel.

Telepíthető programok képernyő (Available Products Screen)

A képernyő a telepíthető termékeket mutatja. Mivel mi csak az adatbázis kezelőt akarjuk telepíteni, ez első opció (alapértelmezett) érdekes számunkra. Tulajdonképpen ez néhány, a következő részekben felsorolt termékeket tartalmazza. Kattintsunk a "Next" gombra.

Telepítési típusok képernyő (Installation Types Screen)

Mivel példánk a Standard Edition Installation-t mutatja be, ezért válasszuk a Standard Installation-t. Választhatjuk az Enterprise-t is, de a két folyamat innentől eltérhet, és további opciók beállítására is szükség lehet. Ennek eldöntése a telepítést végző személy feladata.

Kattintsunk a "Next" gombra. Egy kis várakozás után folytassuk a következő lépéssel.

Adatbázis beállítási képernyő (Database Configuration Screen)

Itt (operátorként) kiválasztható, hogy milyen céllal fog az adatbázis működni, annak érdekében, hogy a telepítés a paramétereket ahhoz igazíthassa. General Purpose-t válasszuk majd kattintsunk a "Next" gombra. Ismét egy rövid várakozás következik.

Adatbázis azonosítás képernyő (Database Identification Screen)

Az operátor itt beírhatja az adatbázis nevét. Egyértelműen értelmezhetők a képernyőn a szövegrészek. Példánkban én következőt írtam be:

ORTD.zeus

mivel az adatbázis szerverem host neve "zeus". Használjuk a saját adatbázisunk host nevét, majd kattintsunk a "Next" gombra.

Adatbázis fájlok elhelyezése képernyő (Database File Location Screen)

Ez a képernyő arra szolgál, hogy meghatározzuk az adatbázis fájlok fizikai elhelyezkedését. Ajánlott hogy az adat fájlok egy elkülönített lemezen (könyvtárban) legyenek. Nálam például az alapértelmezett értéktől eltérően az

/u02/oradata

könyvtárban vannak, az alapértelmezett helyett. Mikor végeztünk kattintsunk a "Next" gombra.

Adatbázis karakterkészlet képernyő (Database Character Set Screen)

Itt különböző karakterkészleteket állíthatunk be az adatbázisunkhoz. Én meghagytam a "Use the Default Character Set" beállítást. Lépjünk a "Next"-tel tovább.

Összefoglaló képernyő (Summary Screen)

Ha ezt a képernyő látjuk, akkor az OUI-val elkészült a telepítési folyamat előkészítése. Most át lehet nézi telepítési fát, és láthatjuk miket választottunk. Megengedi, hogy visszamenjünk és javítsuk, ha valahol nem értünk egyet a felsoroltakkal. Egyébként pedig kattintsunk az "Install" gombra és a telepítési folyamat elkezdődik.

Telepítő képernyő (Install Screen)

Ez egy nagyon hosszadalmas és unalmas képernyő, ami időnként a CD lemezek cseréjét kéri. Egy folyamatkijelzőt jelenít meg, és tételesen összegzi az egyes részek százalékarányát a teljes folyamathoz képes.

A telepítési folyamat nagyon hosszú. Először a szoftverkomponensek telepítése történik, majd minden hivatkozás (link) elkészül.

Valamivel töltsük el az időt, és időnként nézzünk a képernyőre, hogy kell-e CD lemezt cserélnünk.

FONTOS! Az én esetemben (kétszer telepítettem) hibaüzenetet kaptam, az összekapcsolási folyamat 79%-nál. A hibaüzenet párbeszédablaka a következőt tartalmazta:

Error in invoking target install of makefile
/u01/app/oracle/product/9.2.0.1.0/ctx/lib/ins_ctx.mk

Mindkét telepítésnél figyelmen kívül hagytam, és semmi probléma nem látszott az összeszerkesztési folyamatban.

A telepítés végén egy párbeszéd ablak bukkan elő. Néhány terminál parancsot kell végrehajtani a telepítési folyamat befejezése előtt. Alapvetően van egy roor.sh nevű szkript az $ORACLE_HOME könyvtárban, amit root felhasználóként kell futtatni a root terminálról. Maga a folyamat időt és sok HDD műveletet igényel, legyünk türelemmel, és ne aggódjunk miatta.

Beállítási eszközök képernyő (Configuration Tools Screen)

Három task-ot próbál lefuttatni a konfigurációs eszközök képernyő és mindegyikről hibát jelez. A probléma megoldása a következő. Az $ORACLE_HOME könyvtárban van egy JRE nevű hivatkozás (link), ami az Oracle JRE könyvtárra mutat. Töröljük ezt a hivatkozást, és készítsünk egyet a saját JRE disztribúciónkhoz, amiről az előzőekben már szóltunk. Végrehajtandó parancsok:

rm -f JRE
ln -s /usr/local/jre/ JRE

Miután végrehajtottuk a parancsokat, próbáljuk meg egyenként kiválasztani a táblázat Tool Name (eszközök neve) oszlopából az egyes tételeket, és kattintsunk a "Retry" gombra. Ha nem sikerül, akkor se aggódjunk. Ezek opcionálisak a telepítés során, és később is végre lehet őket hajtani.

Hibaelhárítás

Amennyiben az utolsó (nem kötelező) műveletek nem hajthatók végre, legalább kettőjük megvalósítására, vannak speciális megoldási javaslatok. Először is az Oracle dokumentációt érdemes kézbe venni, és a telepítés hibaelhárításakor a sorok között böngészni. Ha a feltételek rendben vannak, akkor komoly hiba nem lehet a műveletben. Ha mégis, akkor ellenőrizzük át az összes kezdeti feltételt, fájl és könyvtár jogosultságokat és a tárhelyet.

Minden könnyen letörölhető és visszaállítható, csupán az Oracle felcsatolási pontok könyvtárainak (/u01, /u02, stb.) tartalmát kell leszedni, és az /etc könyvtárban lévő oratab fájlt törölni. Azért, hogy ne maradjon nyoma az Oracle-nek a rendszeren még egy fájl-csoportot törölni kell. Ezek az /usr/local/bin könyvtárban található oraenv, coraenv, dbhome nevű fájlok. Habár ott is hagyhatjuk őket, és a legközelebbi telepítésnél a telepítő majd rákérdez, hogy maradjanak-e.

Nos, akkor a nem kötelező feladatok:

Hálózati beállítások (Net Configuration Assistant)

Ennek futtatásához menjünk a $ORACLE_HOME/bin könyvtárba, és onnan futtassuk:

./netca &

Ez az alkalmazás négy feladat közül egyet elindít. Ténylegesen a listener az amit be kell állítani. A többi nem olyan fontos, de próbáljuk meg azokat is beállítani. A listener beállítása előtt lehetséges, hogy már fut egy listener. Ellenőrizzük ezt a következő parancs végrehajtásával:

ps afx | grep LISTEN | grep -v grep

Amennyiben a következő sorhoz hasonlót kapunk:

15922 ? S 0:00 /u01/app/oracle/product/9.2.0.1.0/bin/tnslsnr LISTENER

már fut egy listener. Állítsuk le a következő $ORACLE_HOME/bin könyvtárban lévő paranccsal:

./lsnrctl stop

Lehetséges, hogy törölnünk kell a meglévő listener-t és egy újat kell készítenünk. Ez teljesen rajtunk múlik. Kövessük az alkalmazás menetét. Amennyiben készítettünk egy új listenert, az egész folyamat végén az új listener fog elindulni.

Adatbázis beállítás (Database Configuration Assistant)

Ennek futtatásához lépjünk be a $ORACLE_HOME/bin könyvtárba és futtassuk:

./dbca &

Ez az alkalmazás talán a legfontosabb a beállítások közül. Az adatbázis létrehozását és beállítását segíti. Ha a telepítés során vagy az előzőekben említett alkalmazások újraindításával nem készült még adatbázis, ennek futtatásával készíthetjük el azt.

Amíg az adatbázist nem használjuk, az törölhető és újra létrehozható. Itt tehetjük ezt meg. Az alkalmazás összes funkcióit ez a dokumentum nem tartalmazhatja, de mivel egy GUI alkalmazásról van szó, ezért nagyon könnyű vele a feladatokat elvégezni.

Személy szerint itt szeretem elkészíteni az adatbázist, mert itt az összes szükséges paraméter ellenőrizhető, kiváltképp a könyvtárak ahová az adatfájlok készülnek (kerülnek). Válasszuk a "Typical"-t az adatbázis paraméterezéséhez. A következő képernyőn fastruktúra segítségével állíthatjuk be az adatbázis fájlok helyét. {ORACLE_BASE} helyett állítsunk be például az /u02 könyvtárat. Ez rakja az adatbázis fájlokat használatra az /u02/oradata/SID könyvtárba. Mindez csak példa, rajtunk múlik, hogyan döntünk az adatbázis könyvtárfájának meghatározásáról.

Az adatbázis elkészítése végén be kell írni a SYS és SYSTEM felhasználókhoz tartozó jelszavakat. Írjuk be (megerősítéssel), jegyezzük meg őket, és lépjünk ki (ezek az "OK"-t jelentik). Majd futtassuk:

ps afx

és a képernyőn a következő sorokhoz hasonlóknak kell megjelennie:



PID     TTY      STAT   TIME COMMAND
    1   ?        S      0:04 init
    2   ?        SW     0:01 [keventd]
    
..... Lots of other lines we are not interested in...

11665   ?        S      0:00 ora_pmon_ORTD
11667   ?        S      0:00 ora_dbw0_ORTD
11671   ?        S      0:00 ora_lgwr_ORTD
11673   ?        S      0:00 ora_ckpt_ORTD
11675   ?        S      0:00 ora_smon_ORTD
11677   ?        S      0:00 ora_reco_ORTD
11679   ?        S      0:00 ora_cjq0_ORTD
11681   ?        S      0:02 ora_qmn0_ORTD
11683   ?        S      0:00 ora_s000_ORTD
11685   ?        S      0:00 ora_d000_ORTD
11812   pts/1    S      0:00 /u01/app/oracle/product/9.2.0.1.0/bin/tnslsnr LISTENER -inherit

Ha megnézzük az ábrát, ez a futó adatbázisunkat mutatja. A fenti példában szereplő utolsó sor a listener (lehetséges, hogy máshol található a képernyőn).

(Gratulálunk!) Sikeresen befejeződött a telepítés!

Hibaelhárítás frissítések

A következő Rene Bauer-tól származó frissítés. A következő problémák merülhettek fel:

JRE kompatibilitási problémát egyedül Rene jelzett, de sok e-mail-t kaptam ezzel kapcsolatban. A probléma abból származik, hogy a RedHat8 és 9 a gcc 3.2-es verzióval készült, míg némely régebbi JRE verziót gcc 2.9.x verzióval fordítottak. A megoldás az, hogy a legutolsó JRE verziót letöltjük. Ennek az frissítésnek az idejében ez a 1.4.1-es verzió volt, és mivel a JRE nem futtatható, futtassuk le a következő parancsot, hogy elkészüljön a megfelelő hivatkozás (link):

ln -s $JRE_DIR/bin/java $JRE_DIR/bin/jre
ahol a $JRE_BIN a jre könyvtárunkat jelöli.

A második frissítés az adatbázis létrehozása után hiányzó beállítási fájlt érinti. Az init{ORACLE_SID}.ora fájlnak alapértelmezetten az $ORACLE_HOME/db/ könyvtárban kellene létrejönnie.

Rene megoldása: A telepítő egy spfile{ORACLE_SID}.ora nevű fájlt készít, így egy hivatkozás készíthető ami pótolja a hiányzó fájlt. Lépjünk az ORACLE_HOME/dbs/ könyvtárba, és hajtsuk végre a következőt:

ln -s spfile{ORACLE_SID}.ora init{ORACLE_SID}.ora

Az én megoldásom: A telepítés közben létrejön egy init.ora nevű fájl. Ezt egyszerűen lemásolom init{ORACLE_SID}.ora néven. Lépjünk be a $ORACLE_HOME/dbs/ könyvtárba, majd futtassuk:

cp init.ora initORTD.ora

A harmadik probléma az Oracle telepítő folyamat hibájára vonatkozik, a Legato Single Server Version telepítésnél. Nekem nem volt ilyen problémám, de itt van Rene verziója, amit megpróbálok lerövidíteni amennyire lehet. A legutolsó root.sh fájl, ami az Oracle telepítés kérésére futtatódott hibát okozott az LSSV telepítése alatt. Rene szerint, a RedHat 8 és 9 ncurses5-tel készült, de alapértelmezetten az ncurses4 kompatibilitás csomag nincs telepítve, így annak telepítése után az LSSV probléma megszűnik.

Az említett hibák valószínűleg nem az utolsó megoldandó problémák, ezért bátorítok minden megjegyzést és kiegészítést, amivel a "Hibaelhárítás" fejezetet bővíthetem. Minden, a dokumentum tökéletesítését célzó visszajelzést köszönettel veszek.

5. Telepítés utáni teendők

Az Oracle Installation Guide egy hosszadalmas telepítés után végrehajtandó folyamatot is leír. Néhány közülük elengedhetetlen, néhányra pedig a telepített példányunk esetén talán soha nem is lesz szükségünk, mindenesetre ez a dokumentum bővebben nem tárgyalja.

Nézd meg az Installation Guide (Telepítési kézikönyv) leírást ezekhez az eljárásokhoz. Ez a leírás a minimális telepítéshez nyújt használható segítséget, ez elegendő az alapvető műveletek végrehajtásához.

5.1 Az oratab fájl szerkesztése

Különösen fontos lépés, hogy az adatbázis-parancssorból bármikor elindítható és leállítható, rendszerindításkor automatikusan is indítható. Lépjünk az /etc könyvtárba az oratab fájl szerkesztéséhez. Az alábbi sor:

ORTD:/u01/app/oracle/product/9.2.0.1.0:N

utolsó értéket állítsuk "Y"-ra, azaz így:

ORTD:/u01/app/oracle/product/9.2.0.1.0:Y

Mentsünk és menjünk vissza az Oracle home könyvtárunkba.

5.2 Rendszerindításkor adatbázist indító szkript

Általános elképzelés az, hogy az adatbázist a szerver rendszerindítás idejében automatikusan indítsuk el. Ehhez szükséges egy szkript, ami a futási szintű beállítások közé tehető. Az itteni megoldás csak például szolgál, mindenkinek a saját gépén a saját futási szintű beállításaihoz kell a beállítást megtennie.



#!/bin/bash
#
# Run-level Startup script for the Oracle Instance and Listener
#
# chkconfig: 345 91 19
# description: Startup/Shutdown Oracle listener and instance

ORA_HOME="/u01/app/oracle/product/9.2.0.1.0"
ORA_OWNR="oracle"

# if the executables do not exist -- display error

if [ ! -f $ORA_HOME/bin/dbstart -o ! -d $ORA_HOME ]
then
        echo "Oracle startup: cannot start"
        exit 1
fi

# depending on parameter -- startup, shutdown, restart 
# of the instance and listener or usage display 

case "$1" in
    start)
        # Oracle listener and instance startup
        echo -n "Starting Oracle: "
        su - $ORA_OWNR -c "$ORA_HOME/bin/lsnrctl start"
        su - $ORA_OWNR -c $ORA_HOME/bin/dbstart
        touch /var/lock/subsys/oracle
        echo "OK"
        ;;
    stop)
        # Oracle listener and instance shutdown
        echo -n "Shutdown Oracle: "
        su - $ORA_OWNR -c "$ORA_HOME/bin/lsnrctl stop"
        su - $ORA_OWNR -c $ORA_HOME/bin/dbshut
        rm -f /var/lock/subsys/oracle
        echo "OK"
        ;;
    reload|restart)
        $0 stop
        $0 start
        ;;
    *)
        echo "Usage: $0 start|stop|restart|reload"
        exit 1
esac
exit 0

Ezt a fájlt egyszerűen kimásolhatjuk, beilleszthetjük rendszerünkbe és beállításainknak megfelelő változtatásokat végezhetünk raja.

Ha már másoljuk és szerkesszük a fájlt, tegyük azt az /etc/rc.d/init.d könyvtárba, és állítsuk át a tulajdonjogait és attribútumait a könyvtár többi fájljának értékeire..

Ehhez és a következőkhöz root felhasználóként kell bejelentkezzünk.

A fenti kód ötödik sorában olvasható a következő:

# chkconfig: 345 91 19

Ezt a chkconfig parancs használja a futási szintekhez tartozó szkriptek meghatározására. A 345 érték azokat a futási szinteket sorolja fel, melyeken Oracle-t futtathatunk, ha például azt akarjuk, hogy az Oracle csak a 3-a és 5-ös szinteken fusson, akkor írjuk át 35-re. A következő 91-es érték az indítási sorszámot írja le. Ez annyit jelent, hogy ha 100 induló folyamatunk van, akkor az Oracle a 91-dikként fog elindulni. A következő érték a leállítási szám, miszerint ha a rendszer leáll és például 100 folyamatnak kell leállnia, akkor az Oracle a 19-dik lesz a sorban. Ezeket az értékeket az Oracle indító és leállító folyamatainak a viszonylagos besorolására szokták használni. Itt példaként szerepelnek a beállítások. Megváltoztathatjuk őket, de sose feledkezzünk el arról, hogy az Oracle nem példányosítható, néhány rendszerfolyamat korábban történő indítása nélkül.

Hajtsuk végre a következő parancsot:

chkconfig -add oracle

Ezzel, a szkript elején felsorolt futási szintekhez tartozó könyvtárakban lehet a megfelelő hivatkozásokat létrehozni.

Az újonnan készített automatikus indítások teszteléséhez újra kell indítanunk) a rendszert, azonban ne feledkezzünk meg arról, hogy az automatikus indítás előtt a rendszermag paramétereket is be kell állítanunk. Egyébként a rendszermag beállításának a parancsa a fenti szkript start részében is elhelyezhető.

5.3 Telepítés tesztelése SQL*Plusz-szal

Amennyiben tipikus adatbázist telepítettünk, egy scott nevű felhasználónak is kellett készülnie. Hozzátartozó jelszó a tiger. Hajtsuk végre a következőt:

sqlplus scott/tiger

ami az SQL*Plus értelmezőjét futtatja és scott felhasználóként lép az adatbázisba. A következőt kellene látnunk a képernyőnkön:



SQL*Plus: Release 9.2.0.1.0 - Production on Fri Feb 21 10:55:45 2003

Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.

Connected to:
Oracle9i Release 9.2.0.1.0 - Production
JServer Release 9.2.0.1.0 - Production

SQL>quit
Disconnected from Oracle9i Release 9.2.0.1.0 - Production
JServer Release 9.2.0.1.0 - Production

Kilépés előtt magunk is kipróbálhatunk néhány SQL parancsot, hogy lássuk az adatbázis mintatábláit, vagy bármit amit akarunk. Innentől kezdve a mi elképzelésünké és céljainké a terep.

6. Kliensek

Minden platformra van (futtatható) Oracle 9i adatbázis kliens szoftver, úgyhogy a tervezett platformra a megfelelő klienst letölthetjük (már ami beszerezhető). Én szeretem a klienst szoftvert feltenni mind a DB szerverre mind a MS Windows munkaállomásra. Ez talán többplatformos ellenőrzési lehetőséget nyújt, illetve úgy hiszem :)

Töltsük le és készítsük elő a platformunkra megfelelő klienst tartalmazó CD lemezeket, amin majd használjuk a klienst. Nem nélkülözhetetlen, de ajánlott hogy legyen klienst tartalmazó CD lemezünk. Elképzelhető ugyan, hogy a telepítést elvégezhetjük a merevlemezről ahová letöltöttük a klienst, azért én azt ajánlom, hogy ne sajnáljuk az időt a CD megírására, így mindig kéznél lesz. A kliens is az Oracle Universal Istaller-t (Általános Oracle telepítőt) használja, így elég egyszerű dolgunk lesz az előzőek után.

Mikor először futtatjuk az Enterprise Management Console-t, az végigvezet minket az adatbázis csatlakozás során. Adjuk meg az adatbázisunk teljes nevét, a SID nevet, és próbáljunk SYS felhasználóként SYSDBA jogosultságokkal bejelentkezni az adatbázisba. Néhány helyen be kell írjuk az adatbázis-szerverünk IP címét, és választanunk kell egy portot a kliens csatlakozáshoz. Én az alapértelmezett értékeket hagytam meg (még a szerver hálózati beállításoknál is).

Ha semmilyen hibaüzenetet nem kapunk, akkor kész. Megcsináltuk.

Élvezzük a szerverek és kliensek játékát!

7. Utószó

Az Oracle 9i egy nagyon hasznos, összetett és mindenekelőtt nagyon biztonságos alkalmazás. Ez a dokumentum elég felszínes megközelítést ad csupán, és nem is akar átfogó útmutatóul szolgálni. Remélem, hogy a kezdeti telepítés során némely dologban segítséget nyújt, de fontos, hogy saját helyzetünket elemezve mindig a megbízhatóbb forrást használjuk.

Néhány műveletet SQL*Pusz-szal közvetlenül is elvégezhetünk. Ez nagyobb rugalmasságot ad a szoftver beállításához, és a telepítés elvégzéséhez is. Mindezt én gyakorlottabb kezekre bízom.

Sok dologról nem szóltam, ami magában az Oracle dokumentációban megtalálható. Tanulmányozzuk át az eredeti forrást részletesen!

Sok szerencsét!