2008. július 15., kedd

"Gyorsfagyasztott" adatbázis szerver

Az elmúlt hét eseményei annyira felkorbácsolták itthon a hangulatot, hogy még mindig nem sikerült kihevernem teljesen. Épp a legfrissebb Oracle InDepth hírlevelet olvasgattam, amikor egy mondat a TECH DIVE rovatban hirtelen szemetszúrt: "Deploy Linux Faster with Oracle Validated Configurations". Érthető módon azonnal kattintottam, hogy a cím mögötti tartalom is előkerüljön. Mint kiderült, más is sok időt eltöltött már linux telepítéssel és véleményének hangot is adhatott, mert az Oracle-nek van egy csapata, akik előretelepített konfigurációkat gyártanak, tesztelnek és validálnak (szép magyar szó:D). Mikor ezt megtudtam, akkor szidtam az Istent, hogy ez a levél hamarabb is landolhatott volna a postaládámban. Viszont akkor nem biztos, hogy felfigyelek erre a mondatra. Mindegy. Tovább nézegetve a letölthető konfigurációkat rájöttem, hogy nem igazán ilyen garázs projektekhez állították össze őket, mint az enyém. Van a listán HP, Dell, IBM szerver, de sok más gyártó termékei is. Összesen 61 konfigurációt számolhatunk össze (foylamatosan bővítik), melyek megbízhatóan működnek. Vannak 10g, 11g szerverek OEL4 vagy OEL5-tel, VM-mel vagy anélkül, RAC-cal vagy nélküle. Szóval színes a lista. Az én AMD Sempron 2600+ -os x86-osomhoz nem találtam konfigurációt :D Talán egyszer majd arra is sort kerítenek...

2008. július 7., hétfő

11g on OEL5

Engem is utolért a végzet, mint sok más blogger kollégámat. Linuxra 11g-t telepíteni nem hogy nehéz, de egyenesen lehetetlen [...ha nem értesz hozzá:)] Itt megjegyezném, hogy a sokat szidott operációs rendszer kapott tőlem pár plusz pontot ez idő alatt - főleg a kényelem és használhatóság terén - , de azért a linuxot sem becsülöm le.

Nagy ötletem volt a félév végén. Próbáljuk ki, hogy amit megterveztünk hogyan működik valójában. Ehhez össze kell állítani egy tesztkörnyezetet, ami egy Oracle 11g szerverből áll, valamint egy vele hálózatba kötött gépből, amin egy kliens alkalmazást futtatunk, ami elvégzi a szükséges funkciókat. Arra gondoltam, hogy itt az alkalom kipróbálni az Oracle által szállított Enterprise Linux legújabb 5-ös verzióját (félreértés ne essék, életemben egy linux disztribúcióval volt dolgom, azzal sem sokáig), mert azt gondoltam, hogy ezzel lesz a legkevesebb telepítési és konfigurációs probléma. Tévedtem. Nem vehetjük kézpénznek az Oracle által támogatott Linux disztribúció (Oracle Enterprise Linux 5 - OEL5) és saját adatbázisuk (Oracle Database 11g) felhőtlen viszonyát.

Telepítés előtt felkutattam azokat a dokumentációkat, melyek segítenek a telepítésben és felhívják a figyelmet a kritikus pontokra (van belőlük bőven). Amíg vártam, hogy levánszorogjon az 5 CD-s OEL5, valamint a 11g (1.7G), átolvasgattam, hogy mire kell felkészülnöm, milyen műveleteket kell végrehajtanom a helyes konfiguráció elérése érdekében. Itt megemlíteném, hogy az Oracle munkatársai csak CD-s verzióban bocsátják rendelkezésünkre az ingyenes Linux disztribúciójukat. Természetesen van 1 DVD-s verzió is, de azt postai úton kell megrendelni valamennyi térítés ellenében. Mivel manapság CD-t nem használok, ezért kicsit hülyén éreztem magam, miközben DVD-re írom ki a 700 megás képfájlokat.

A linux telepítés viszonylag simán ment elsőre (legalábbis akkor még azt hittem), csak utána kezdődtek a gondok. Mondhatom, hogy amikor behelyeztem a letöltött és DVD-re kiírt 11g legújabb verzióját, megkezdődött vesszőfutásom.
A telepítési útmutatóban leírtaknak megfelelően létrehoztam a felhasználókat és könyvtárakat, megadtam a jogokat, ezzel nem volt semmi gond. A telepítő is elindult sikerrel, beállítottam a kívánt paramétereket, amolyan Windows User módjára nyomkodtam a Next-et. Ezután elkezdte felmásolni a fájlokat, de csak egy darabig, mert kis idő elteltével hibüzenetet kaptam, mely arról árulkodott, hogy szüksége lenne egy .oui fájlra, de sehol sem találja a DVD-n. Gondoltam hú de jó, még ez is, lehet hegesztgetni a frissen kiadott adatbázis telepítőjét. Rákerestem magam is a fájlra, hogy esetleg valami elérési út probléma állhat-e a probléma mögött, de nem találtam egyáltalán a médián. A következő lépés az volt, hogy a tömörített képfájlban megtalálom-e, mert ha igen, akkor a tömörítéssel lehetett gond. Természetesen abban meg volt, csak DVD-re nem került rá valahogy. Még egyszer kitömörítettem a TotalCommander-em beépített tömörítőjével, csak a teszt kedvéért. Nem csalatkoztam, a tömörítés hiánytalan volt. Egyetlen láncszem maradt a folyamatban, amely a hibát okozhatta, mégpedig az író program. Világ életemben az Ahead Nero programját használtam CD/DVD írásra, mert részletesen be lehetett állítani, de az új gépemen valamiért egy másik szoftver van fent. Roxio Creator Basic. Egyszerű felület, még az írási sebességet sem kell beállítani(természetesen van rá mód), és kész is a lemez. Most is jól elintézte, mert úgy néz ki, hogy a számára értelmezhetetlen fájlokat egy adatlemez készítésénél önkényesen kihagyja, és még csak nem is tájékoztat a műveletről. Így történt, hogy a ".oui" nevű fájl nem felelt meg az elnevezési konvenciónak és lemaradt a lemezről. Az esetből tanulva az archiv fájlt írtam ki a DVD-re és a tömörítést a felmásolás után parancssorból végeztem, ahogy a telepítési útmutató is ajánlotta.

Újra belevágtam a telepítésbe és sikerrel jártam. Egy aggasztó képernyő fogadott a konfigurációs panelnál. Mégpedig az operációs rendszer(OEL5) adatbázishoz szükséges hiányzó csomagjainak a listája. Nem volt rövid. Kérdem én. Miért hihányoznak ezek a csomagok? Miért nincsenek feltelepítve? Talán elrontottam a telepítést? Nem a default módot kellett volna választani, hanem a Telepítés adatbázis számára? De ilyen opció nem volt. Akkor miért nincsenek alap esetben telepítve ezek? Hiszen ki a fene választaná az Oracle által csomagolt operációs rendszert, ha nem az, aki az Oracle adatbázis-kezelőjét szeretné használni? Más biztos nem választja, hiszen igazából egy összepofozott RedHat Linuxról van szó. Nem értem. Ezzel a problémával más is szembe találkozott és nem hagyta szótlanul: oracle forum.

Belenyugodtam, hogy ez a telepítés nem lesz egy leányálom és tovább kutakodtam, mi módon fogok egy minden Error és Warning nélküli, jól működő Oracle adatbázist kapni Linuxra telepítve. A hivatalos telepítési doksiban van egy "Pre-installation tasks" rész, de azt eddig átugrottam, mert nem feltételeztem, hogy csomagokat kell telepítgetnem ehhez az "összeszokott pároshoz". Tévedtem. -Azt azért megemlítem, mivel gyakorlatlan Linux használó vagyok, ezért még egyszer megkíséreltem egy "Clear install"-t a pingvines csodából és nagyon megnéztem a telepítési módokat, hátha van olyan, hogy "Install Linux for Oracle Database", de sajnos nem volt. Sebaj, legalább nöttek a tapasztalati pontjaim Linux telepítésből.- Tehát nekiláttam a csomagok telepítésének a leírás alapján. Már az első lépés után egy halom hibaüzenetet kaptam, ami természetesen nem volt betervezve, így a leírás alapján nem tudtam(/lehet) felrakni a kívánt csomagokat, melyek megtalálhatóak a telepítő CD-ken. Igazából ezekre a csomagokra van szükség a 11g telepítéséhez:

* binutils-2.17.50.0.6
* compat-libstdc++-33-3.2.3
* compat-libstdc++-33-3.2.3 (32 bit)
* elfutils-libelf-0.125
* elfutils-libelf-devel-0.125
* gcc-4.1.1
* gcc-c++-4.1.1
* glibc-2.5-12
* glibc-2.5-12 (32 bit)
* glibc-common-2.5
* glibc-devel-2.5
* glibc-devel-2.5-12 (32 bit)
* libaio-0.3.106
* libaio-0.3.106 (32 bit)
* libaio-devel-0.3.106
* libgcc-4.1.1
* libgcc-4.1.1 (32 bit)
* libstdc++-4.1.1
* libstdc++-4.1.1 (32 bit)
* libstdc++-devel 4.1.1
* make-3.81
* sysstat-7.0.0

Ha default Linux installt csinálunk, akkor a következő csomagokat kell még feltelepíteni:

* compat-libstdc++-33-3.2.3
* compat-libstdc++-33-3.2.3 (32 bit)
* elfutils-libelf-devel-0.125
* gcc-4.1.1
* gcc-c++-4.1.1
* glibc-devel-2.5
* glibc-devel-2.5-12 (32 bit)
* libaio-devel-0.3.106
* libstdc++-devel 4.1.1
* sysstat-7.0.0

Itt hozzátenném, hogy nem csak ezekre a csomagokra lesz szükség, hanem a függőségek figyelembe vételével azokra is, amelyekre ezek támaszkodnak. Szerencsére minden szükséges csomag megtalálható az 1., 2., 3. CD-ken.

Most már készen állok az adatbázis telepítésére. Ezt mi sem bizonyítja jobban, mint a telepítő "Product-Specific Prerequisit Checks" oldalán a "Checking operating system package requirements" teszt megfeleltté van nyilvánítva. Igen! Megcsináltuk! :D A telepítés további részletei nem voltak érdekesek, pont úgy kell, mint Windows-on, hála a java alapú telepítő GUI-nak.

Nem esett még szó a tárhelyről. Elvileg ajánlatos Automatic Storage Managementet(ASM) alkalmazni, de mivel ezen a gépen van még két NTFS partíció, amolyan Windows célokra és nem nagyon bízom meg az ilyen automatikusan konfigurálódó, particionáló és formázó technológiákban, ezért ezt nem alkalmazom. A vas egy 2600+ Sempron, 1G memóriával. Ehhez egy 2Gb méretű SWAP-ot foglaltam le, valamint vagy 50Gb EXT3 fájlrendszerű tárterületet. Egyébként a telepítő doksiban is az EXT3-at ajánlják.

Összegzésül elmondanám, hogy a nehézségek ellenére nem bántam meg, hogy "felszenvedtem" egy 11g-t OEL5-re. Azonban megfontolandó, hogy ha erre a NAGYON támogatott operációs rendszerre ennyi megpróbáltatás árán sikerült telepíteni a szoftvert, akkor egy olyan rendszerrel mennyi gond lehet, amely a KEVÉSBÉ támogattottak listáján csücsül. Ha bárki hasonló telepítési gondokkal küzd, mint amikkel én is szembe találkoztam, annk egy jó tanács, hogy a csomagokat figyelmesen telepítse fel. Ehhez nyújt segítséget ez a pár dokumentáció:
* Installing Oracle Database 11g Release 1 on Enterprise Linux 5 (32- and 64-bit) by John Smiley
* Installation of Oracle 11g Release 1 (11.1.0.6.0) on RedHat EL 4, 5 and (Oracle) Enteprise Linux 4, 5
* Install 11g on Unbreakable Linux 5 failing on Community Discussion Forums, Oracle

Pém Gábor blogjában lehet még olvasni 11g telepítési HowTo-t. Ő Debian-nal próbálkozott és érdekes problémákba ütközött, melyekre mind megtalálta a megoldást:
* Oracle 11g telepítése Debian 4.0 Etch-re (AMD64) - Előkészületek
* Oracle 11g telepítése Debian 4.0 Etch-re (AMD64) - Az adatbázis telepítése
* Oracle 11g telepítése Debian 4.0 Etch-re (AMD64) - Telepítés utáni feladatok