Instalace Oracle 11g (R2) na Gentoo
Instalace Oracle 11g (R2) na nepodporované distribuci (ty jsou aktuálně tři - Oracle Enterprise Linux, Red Hat a SuSe) může být poněkud problém - a to zejména pokud je distribuce "progresivní" tj. pokud obsahuje velmi nové verze různých nástrojů (kompilátor, knihovny) a pokud není založena na RPM balíčcích. A oboje platí pro mé oblíbené Gentoo, takže se podívejme na jaké nástrahy lze při instalaci narazit (a jak je překonat).
V následující sérii screenshotů je zachycen jeden z možných postupů instalace na aktuálním Gentoo, přičemž u potenciálně problematických kroků je popsáno jak je vyřešit. Podívejme se na několik věcí které je třeba vyřešit ještě před započetím instalace.
Standardní předinstalační a instalační kroky (konfigurace parametrů jádra, vytvoření uživatelských skupin a uživatelů, apod.) v zásadě nejsou předmětem tohoto článku - jejich popis najdete ve stručném instalačním návodu nebo v detailním instalačním návodu. Podívejme se tedy na předinstalační kroky specifické pro instalaci na Gentoo:
- libaio - je třeba nainstalovat knihovnu pro asynchronní I/O operace (tj. "emerge libaio")
- nptl (USE flag) - Oracle využívá NPTL knihovnu (New Posix Thread Library) takže se ujistěte že ho máte v USE v souboru make.conf (a poté spusťte "emerge --newuse")
- pdksh - Oracle nepoužívá standardní bash, ale potřebuje Korn Shell, takže nainstalujte "public domain korn shell" (tj. "emerge pdksh")
- libstdc++.so.6 - během instalace je ve fázi linkování a sestavování spustitelných souborů odkazován soubor "libstdc++.so.6" přímo v adresáři "/usr/lib" který ale standardně neexistuje, takže je třeba vytvořit symlink na soubor v příslušném adresáři (např. "ln -s `gcc-config -L`/libstdc++.so.6 /usr/lib/libstdc++.so.6") a po instalaci ho zase odstranit.
- rt - Oracle během linkování souborů z nějakých důvodů nepřidává "-lrt" do volání "ldd," a z tohoto důvodu daný krok instalace selhává. Nicméně parametry pro "ldd" jsou čteny ze souboru vytvářeného až během instalace, takže řešení je možné až v okamžiku selhání (viz. zde).
- ORACLE_* - dávejte si pozor zda nemáte nastaveny ORACLE_* proměnné prostředí, protože ty mohou ovlivnit proces instalace (následující instalace počítá s tím že žádné proměnné nastaveny nejsou).
To je vše co jsem já osobně musel pro úspěšnou instalaci - a nyní již instalace prok za krokem.
Instalace krok za krokem ...
1. Konfigurace bezpečnostních aktualizací
Prvním krokem je možnost zasílání informací o bezpečnostních aktalizacích - já instalaci prováděl na svou vývojovou stanici, takže žádné informace dostávat nechci.


2. Možnosti instalace
Vyberte si jestli chcete pouze instalovat software, aktualizovat již existující databázi, nebo instalovat software a vytvořit novou databázi (já na vývojových stanicích používám první volbu).

3. Typ systému
Instaluji sice na vývojovou stanici, ale rád mám absolutní kontrolu nad průběhem instalace, takže jsem zvolil "server class."

4. Typ instance
Vyberte si jestli chcete instalovat standardní databázi s jednou instancí (jako já), nebo Real Application Clusters databázi.

5. Typ instalace
Zvolte si "pokročilou instalaci" abyste si mohli sami nastavit veškeré možné instalační volby (které jsou během typické instalace nastaveny automaticky).

6. Jazyky
Zvolte si které jazyky mají být vaší databázi podporovány.

7. Edice databáze
Zvolte si kterou edici databáze chcete nainstalovat - já volím maximální (enterprise) variantu. V případě potřeby si ještě přes tlačítko "Select options" můžete vybrat jednotlivé části instalované v rámci zvolené edice.


8. Instalační adresáře
Volba adresářů kam se má instalovat vlastní databáze - standardní umístění je v /opt/oracle.

9. Inventář instalovaných produktů
Volba adresáře ve kterém bude umístěn inventář instalovaných produktů - tento adresář by mělo být umístěn mimo "oracle base" (viz. předchozí krok).

10. Identifikátory databáze
Volba globálního jména databáze a tradičního SID.

11. Konfigurační volby - paměť, znakové sady, bezpečnost a vzorová schémata
Rozšířené volby - paměť (SGA/PGA), znakové sady, bezpečnost a vytvoření vzorových schémat. Na následujících obrázcích je ponechána automatická správa SGA, zvolena UTF-8 znaková sada (AL32UTF8), aplikace nových bezpečnostních pravidel a vytvoření vzorových schémat.




12. Volby správy databáze
Volba správy databáze - pokud chcete, můžete si zvolit zasílání různých upozornění.

13. Ukládání dat
Volba umístění datových souborů databáze.

14. Možnosti obnovy
Vzhledem k tomu že instaluji na vývojovou stanici na které si nějaké velké starosti s obnovou nedělám, takže automatické zálohování je vypnuté.

15. Hesla ke schématům
Dle svých požadavků si nastavte hesla - já pro všechna schémata nastavuji stejné heslo.

16. Uživatelské skupiny pro správu (OSDBA, OSOPER)
Mapování privilegovaných skupin na uživatele.

17. Kontrola požadavků na systém
V tomto kroku je kontrolováno splnění některých požadavků na systém (parametry jádra, instalované knihovny, apod.) - vzhledem k tom že Gentoo není podporovaný systém a nepoužívá rpm balíčky, většina kontrol chybně selže. Zaklikněte "Ignore all" a jedeme dál ;-)

18. Shrnutí informací
Přehled všech instalačních voleb - doporučuji si toto nastavení někam uložit, protože nic se nezapomíná tak rychle jako konfigurační volby.

19. Průběh instalace
V průběhu instalace je zobrazován postup celého procesu - během linkování ("Linking binaries") dojde k chybě protože Oracle mezi parametry při volání "ldd" nepřidává knihovnu "rt," a zobrazí chybovou hlášku (viz. níže).


Náprava je poměrně jednoduchá - otevřete soubor "/opt/oracle/product/11.2.0/lib/sysliblist" (cestu si budete muset upravit tak aby odpovídala vámi zadaným cestám), na konec přidejte "-lrt" takže soubor obsahuje zhruba toto:
-ldl -lm -lpthread -lnsl -lirc -lipgo -lrt
A pak samozřejmě klikněte na "Retry" u chybové hlášky.
20. Dokončení instalace
Po opravě souboru "sysliblist" už zbytek instalace proběhne správně (nebo by alespoň měl).

Odkazy
- installing Oracle 11g on gentoo (Gentoo Forums)




