Oracle 10g XE pidi-howto (v Xenu a Fedora Core 5)

Již delší dobu se mi na notebooku nedostávalo místo, proto jsem se dokopal k tomu, abych si pořádně uklidil disk (promazal staré UML a VMWare image). Do toho vyšla Fedora 5 a tak jsem se v rámci úklidu rozhodl nainstalovat tento nový zázrak. Součástí Fedory 5 je nástroj pro virtualizaci Xen, který využiju místo UML pro testovací prostředí, do kterého budu instalovat software který potřebuju k práci.

Do virtuální mašinky jsem nainstaloval Fedoru 5, akorát teď přemýšlím jestli to náhodou nebyla chyba 🙁 Asi jsem si tam měl strčit poslední CentOS. Na fc5 se mi totiž nepodařilo nainstalovat Fedora Directory Server z rpm pro fc4. Teda ten DS se nainstaloval, ale administrační server se nespustí. SUNovský Directory server jsem taky nenainstaloval, takže jsem bez LDAPu 🙁 (OpenLDAP mi nevyhovuje).

Další SW, který jsem instaloval SUNovský Web Server, v kterém budu prohánět Identity Manager. Directory Server jako úložiště dat pro IdM padnul, tak jsem se rozhodl pro instalaci databáze Oracle 10g XE. O Oracle 10g Express Edition si můžete něco přečíst přímo na webu Oracle (anglicky) nebo na dbsvet.cz (česky).

Oracle 10g XE

Instalace databáze je relativně jednoduchá, stačí nainstalovat stažené soubory oracle-xe-univ-10.2.0.1-1.0.i386.rpm a oracle-xe-client-10.2.0.1-1.0.i386.rpm. Instaluje se to do /usr/lib/oracle, kde se také vytvoří adresářová struktura pro data (netušíte proč máme všichni v systému adresář /var ?). Po instalaci oracle-xe-univ-10.2.0.1-1.0.i386.rpm budete vyzváni k tomu abyste spustili /etc/init.d/oracle-xe configure jako uživatel root. Tento skriptík vás provede základním nastavením databáze a vyrobí nejnutnější datové soubory. Počítejte s 1.5 GiB volného místa na disku (ať žije LVM a možnost jednoduše nafukovat filesystem :-))!

Instalační skript se vás zeptá na heslo pro uživatele system, toto heslo je velmi důležité a neměli byste ho zapomenout. Také se vás zeptá na port pro administrační server, zkusil jsem místo výchozího 8080 zvolit 8081 (na 8080 mi poslouchá tomcat) a administrační server nenaběhl 🙁 Na portu 8080 naběhl v pohodě. Do administračního serveru se přihlásite s loginem system a heslem, které jste si před chvilkou zadali.

Vše pěkně funguje do doby, než se pokusíte použít oracle z příkazového řádku. Před prvním použitím proveďte jako root:

[root@vserv1 bin]# cd /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/bin
[root@vserv1 bin]# chmod 6751 oracle
[root@vserv1 bin]# ls -la oracle
-rwsr-s--x 1 oracle dba 74016852 Feb 20 06:39 oracle

Instalátor totiž nenastavil správně práva (suid bit) pro tento soubor.

Dálší krok je nadefinování proměných prostředí abyste mohli používat konzolové nástroje. Do ~/.bashrc si přidejte řádek

. /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/bin/oracle_env.sh

K databázi se připojuji z javy s použitím JDBC (z webu oracle si stáhněte ojdbc14.jar nebo ojdbc12.jar v závislosti na tom jakou verzi javy používáte). Databáze, kterou používám má tak 20MiB, webserver si sežere tak 150MiB RAM a Oracle něco kolem 120MiB. To celé mi běží ve virtuálním stroji s 300MiB RAM a má odswápnuto asi 130MiB. V práci (šťourání se v Identity Manageru) mě to nijak nebrzdí. Procesor na mém notebooku je Pentium M 1.4GHz, ale myslím že i na mnohem pomalejším procesoru byste neměli mít problém s provozem Oracle v Xenu.