1. Aku verziu Oracle?
V súčasnosti má zmysel inštalovať pre Linux dve verzie: Oracle8i – 8.1.7 alebo Oracle9i – 9.0.1. Výhodou verzie 8i sú nižšie hardwarové nároky (vid tabuľka), nevýhodou je však zastaralosť. Rozdiel v samotnej databázovej architektúre nie je až taký zlomový, aký nastal pri prechode z verzie 7 na verziu 8, preto z dôvodu menších hardwarových nárokov a pre „obyčajného“ používateľa na nerozoznanie podobného správania sa, odporúčam nainštalovať si verziu 8i. Na testovanie a štúdium táto verzia plne postačuje. Ak vám však hardwarové nároky nerobia žiadne problémy, inštalujte to najnovšie čo je: 9i.
2. Kontrola hardwaru a softwaru
Verzia: | Oracle8i (8.1.7) | Oracle9i (9.0.1) |
Pamäť pre server: | 128 MB | 512 MB |
Pamäť pre klienta: | 64 MB | 128 MB |
Swap: | 400 MB | 512 MB |
Temp: | 75 MB | 400 MB |
Disk pre Software: | okolo 800 MB | okolo 2,5 GB |
Disk pre Databázu: | okolo 800 MB | okolo 1 GB |
Verzia: | Oracle8i (8.1.7) | Oracle9i (9.0.1) |
OS Linux kernel: | verzia 2.2 alebo vyššie | verzia 2.4.4, make-3.79, binutils-2.10 |
GLIBC: | verzia 2.1 alebo vyššie | verzia 2.2 alebo vyššie |
Obľúbenou témou medzi databázovými administrátormi je, akú distribúciu Linuxu použiť. Zo strany firmy Oracle existuje pre Linux certifikácia rôznych typov hardwarových a softwarových konfigurácii. Tá však slúži len na identifikáciu na čo Oracle poskytuje oficiálny support. Vo všeobecnosti platí, že najvýhodnejšia je tá distribúcia, s ktorou je pri inštalácii a konfigurácii najmenej problémov, prípadne pri ktorej sú tieto problémy najlepšie zdokumentované. Prakticky je pre vás najlepšia tá distribúcia, ktorú najlepšie poznáte, teda tá, ktorú máte nainštalovanú. Osobne, hlavne vďaka zdokumentovanosti, preferujem SuSE 7.0–7.3. Viac Oracle at SuSE.
3. Hľadáme popis inštalácie
Postupovať pri inštalácii podľa oficiálnej Oracle príručky nie je pre začiatočníka to najrýchlejšie a najšťastnejšie riešenie. Na jednej strane je príručka veľmi zdĺhavá a podrobná (pre Oracle8i má 174 strán), na druhej strane je písaná pre Linux všeobecne. Najlepšia a najrýchlejšia cesta je nájsť si niekoľkostránkový HOWTO dokument na Internete. Hľadanie kľúčových slov „oracle linux installation“ vo vašom obľúbenom vyhľadávačí vám ale prezradí, že v podstate pre každú distribúciu a verziu Linuxu a Oraclu sa HOWTO dokumenty dosť lišia, preto odporúčam hľadať dovtedy, kým nenájdete popis inštalácie pre svoj systém. Začinať len s podobným popisom väčšinou končí neúspechom.
Niekoľko užitočných liniek pre Red Hat (SuSE viď vyššie):
Installing Oracle8i on Red Hat Linux 7.1/7.2
Short Guide to install Oracle 9i on Red Hat Linux 7.1/7.2
Oracle 9i EE Installation on Red Hat Linux 7.1 and on Red Hat Linux 7.2
Installing Oracle9i on Red Hat Linux 7.1/7.2
Oficialna stranka Oracle Supportu pre inštaláciu: Oracle Install
How to Install Oracle 8i Server on OpenLinux 2.x
Nájdené dokumenty si podrobne prečítajte a snažte sa čo najpresnejšie dodržať uvedený postup krokov. V týchto dokumentoch sa väčšinou vyskytuje aj popis odstránenia už známych a vyriešených problémov, dokonca aj popis bugov. (Napríklad vo verzii 8.1.7 sa na inštalačnom médiu nachádza chybný súbor root.sh). Dostať sa k podrobným informáciam o patchoch a bugoch je pre väčšinu používateľov pomerne ťažké. Väčšina sa totiž nachádza len na oficiálnom on-line supporte firmy Oracle – MetaLink, ktorý je však spoplatniteľný. Ako ďalši zdroj informácii slúži originálna dokumentácia, ktorá sa nachádza na inštalačnom médiu, a ktorú odporúčam si v každom prípade nainštalovať. Je možné samozrejme používať aj jej on-line verzie na Oracle9i Database Documentation, prípadne Oracle8i Database Documentation
4. Sťahujeme software
K inštalačným médiam Oracle pre Linux sa v podstate dostanete len jedným spôsobom – downloadom. V rôznych knižkách a časopisoch o Oracli sa síce vyskytuje CD-ROM, ale väčšinou obsahuje Oracle pre Windows, prípadne Oracle staršej verzie (8.1.5). Keďže neexistuje rozdiel v inštaláčkách pre verzie server a klient, budete si musiet stiahnúť niekoľko 100 MB. Pre Oracle8i 8.1.7 je to jeden file – linux81701.tar (536,980 kb), pre Oracle 9i je to nepomerne viac: Linux9i_Disk1.cpio.gz (412,092kb), Linux9i_Disk2.cpio.gz (638,547kb), Linux9i_Disk3.cpio.gz (82,956kb). (Veľkost médii je ďalšia z výhod, prečo pre vyskúšanie postačuje verzia 8i). K stiahnutiu sa dostanete pomerne jednoducho po registracii na Oracle Techology Network (OTN). Zaregistrovaním sa dostanete nielen k softwaru, ale aj k fóram, čo sa vám v prípade problémov určite v budúcnosti zíde.
5. Čo môžeme očakávať pri samotnej inštalácii
Pri zbežnom prečítaní dokumentu HOWTO, ktorý ste si našli pre svoju distribúciu Linuxu na Internete, sú vám určite jasné prípadne problémy, s ktorými sa možete stretnúť. Pokúsim sa ich v stručnosti zhrnúť:
I. Kernel a jeho parametre
Officiálne Oracle požaduje zmenu niektorých parametrov kernela (shared memory a semaphore segments). Vo všeobecnosti však platí, že na 90 % pobeží aj so štandartným už prekompilovaným kernelom dodávaným v novších distribúciach. V žiadnom prípade, pre študijné účely, však nepotrebujete kernel pre Oracle kompilovať. Kernel sa zvyčajne kompiluje len pre počítače pre produkčný databázový systém, výlučne používané ako databázové servery, na ktorých okrem Oraclu nič iné nebeží. Aby ste sa ale vyhli prípadným problémom, úplne postačí zmena parametrov pred štartom samotnej databázy. Tu vykonáte napríklad takto:
echo 2147483648 >/proc/sys/kernel/shmmax echo 250 32000 32 1024 >/proc/sys/kernel/sem
Minimálne hodnoty kernel parametrov najlepšie zistíte z vášho HOWTO, prípadne z oficiálnej Oracle dokumentácie.
II. JDK, JRE
JRE je potrebné na spustenie Java aplikácii, vrátane inštalačného programu – aplikácie runInstaller. JRE je zvyčajne súčasťou inštalačných médii, teda nie je potrebné ho inštalovať zvlášť. Oficiálne Oracle vyžaduje verziu JRE 1.1.8–3 od IBM.
JDK je potrebný len v prípade, ak chcete zároveň inštalovať Oracle HTTP Server Powered by Apache, čo je v podstate … Apache. Ak chcete k Oraclu aj web interface, odporúča sa inštalovať ten HTTP server, ktorý sa nachádza na inštalačných médiach. Keďže Oracle HTTP Server Powered by Apache používa porty 7777 a 3339, nie je problém mať na jednom počítači viac rôznych paralelne bežiacich http serverov. Oracle vyžaduje, aby ste pre Oracle HTTP Server Powered by Apache nainštalovali pred spustením inštalácie Oraclu JDK verzie 1.2.2 (pre 8i) alebo 1.3.1 (pre 9i). Počas inštalácie budete totiž na cestu k JDK vyzvaný.
III. Downgrade – patch
Oracle8i 8.1.7 je dodávaný s archívom objektov prekompilovaných s glibc-2.1.3. Spustiteľné programy sú pri inštalácii linkované použitím tohto archívu. Ak inštalujete Oracle 8.1.7 na systém s novšou verziou glibc knižnice, linkovanie programov zlyhá. Jednoducho povedané, spustiteľné súbory Oraclu po inštalácii nebudú funkčné. Na odstránenie tohto problému, slúži patch nachádzajúci sa pri downloade softwaru na OTN. Takže, ak pri inštalácii dostanete chybovú hlášku, že niečo nebolo správne zlinkované, stláčajte „Ignore“ a pripravte sa na inštaláciu patch-u. Inštalácia je pomerne jednoduchá a dobre zdokumentovaná. Viac na Patch Description.
6. Konečne spúšťame inštaláčný program – runInstaller
Keďže runInstaller je Java aplikácia, potrebujeme mať nainštalovaný X-Windows server podporujúci Motif verzie 1.2. Niekedy z dôvodu nekompatibility JRE môžete mať problém so samotným štartom runInstaller-u. Čo sa týka inštalácie typu „Server“, pre laikov odporúčam voľbu „Typical“, no pre len trochu skúsených a znalých komponentov Oracle odporúčam voľbu „Custom“. Jednotlivé komponenty inštalácie môžu byť kedykoľvek v budúcnosti doinštalované alebo odinštalované. Osobne odporúčam inštalovať len to čo je naozaj nutné, vyhnete sa tak prípadným problémom s nepotrebnými komponentami. V prípade voľby „Custom“ inštalácie si aspoň zbežne prečítajte popis jednotlivých komponent, ktorý nájdete v inštaláčnej príručke. Pri otázke či si prajete zároveň s inštaláciou softwaru vytvoriť aj databázu, vyberte NIE. Je to časovo náročný krok, ktorý pri chybnom nainštalovaní softwaru pravdepodobne aj tak zlyhá. Napríklad v prípade nesprávneho prelinkovania spustiteľných programov (viď vyššie: Downgrade – patch) vytvorenie databázy bude na 100 % neúspešné. Databázu si môžete vytvoriť kedykoľvek, po úspešnom nainštalovaní softwaru.
7. Samotná databáza
Databázu si vytvoríte pomocou programu Oracle Database Configuration Assistant. Program sa spušťa príkazom dbassist pre 8i alebo dbca pre 9i. Opäť sa jedná o Java aplikáciu. Máte možnosť prekopírovať si už predinštalovanú databázu z inštalačných médii, alebo vytvoriť si databázu vlastnú. Prvý spôsob je nepomerne rýchlejší a pomerne automatický. Pri vytvorení vlastnej databázy je potrebná aspoň základná znalosť fyzickej štruktúry Oracle databáz.
8. Štart
Vytvorenú databázu spustíte, po vyexportovaní parametra ORACLE_SID s názvom novo vytvorenej databázy, príkazom startup open. Výstup by ste mali vidieť približne v nasledujúcej podobe:
sqlplus "/ AS SYSDBA" SQL> startup open ORACLE instance started. Total System Global Area 292683936 bytes Fixed Size 73888 bytes Variable Size 208551936 bytes Database Buffers 83886080 bytes Redo Buffers 172032 bytes Database mounted. Database opened. SQL>
So samotným databázovým softwarom sa nám nainštalovali aj jednotlivé aplikácie pre administráciu: DBA Studio, Instance Manager, Schema Manager, Security Manager, SQLPlus WorkSheet, Storage Manager… Nevýhodou týchto Java aplikácii je ich rýchlosť a nie veľmi intuitívne ovládanie. Pre Linux je medzi administrátormi najrozšírenejšia TOra – Toolkit for Oracle. Pre klienov bežiacich na Windows sa používa najčastejšie freeware verzia produktu TOAD firmy Quest Software.
9. Záverom
Tento článok neslúži ako dokumentácia k inštalácii Oracle pre Linux. Na to je veľmi všeobecný a nie veľmi presný. V krátkosti som sa snažil len priblížiť jednotlivé kroky čo vás môžu pri inštalácii čakať. V prípade problémov odporúčam prehrabať sa vo forume Linux na OTN – Collaboration – Forums. Veľa vám môžu pomôcť aj archívy rôznych mailing listov. Napríklad pri problémoch s parametrami kernelu, môžete skúsiť riešenie pohľadať v SuSE-oracle mailing liste, hľadaním reťazca „oracle kernel parameters site:lists.suse.com“ na www.google.com.