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 [1]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. * Oracle 9i Installation Guide (Oracle 9i telepítési kézikönyv) * Oracle 9i Database Administrator's Guide (Oracle 9i adatbázis-adminisztrátorok kézikönyve) * DBA's guide to databases on Linux (adatbázis-adminisztrátorok kézikönyve Linuxhoz) * Oracle 8i: A beginner's guide (Oracle 8i: Kezdők kézikönyve) * Oracle web site ( [2]Oracle web site) (az Oracle honlapja) 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. * Steve Schladel-nek, kollégának és egyben DBA-nak az UMDNJ-mél, aki a RedHat 9.x telepítési folyamat leállásainak számos kiküszöböléséhez adott útmutatást. * Rene Bauer-nek, aki részletes magyarázatokat küldött a JRE verziók eltéréseiből adódó problémák megoldására a gcc 2.9.x vs. gcc 3.2 disztribúciók és a Legato Single Server Version telepítés összefüggéseiben. 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 [3]evgueni@email.com e-mail címre. 1.5 Magyar fordítás A magyar fordítást [4]Velancsics Anikó készítette (2004.03.22). A lektorálást [5]Daczi László végezte el (2004.05.20). A dokumentum legfrissebb változata megtalálható a [6]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 [7]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: * lnx_920_disk1.cpio.gz * lnx_920_disk2.cpio.gz * lnx_920_disk3.cpio.gz 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 [8]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 LIST ENER -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 verzió kompatibilitás * Hiányzó adatbázis-beállító fájl * Legato Single Server Version telepítési hiba 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! References 1. http://www.gnu.org/copyleft/fdl.html 2. http://www.oracle.com/ 3. mailto:evgueni@email.com 4. mailto: velan[kukac]primposta[pont]hu 5. mailto: dacas[kukac]freemail[pont]hu 6. http://tldp.fsf.hu/ 7. http://www.oracle.com/ 8. http://www.blackdown.org/