Oracle 10g en Gentoo: sí, es posible
Efectivamente. Gracias a una excelente página en
Togaware
(en inglés), a un poco de paciencia y a algunos trucos no muy ortodoxos, he
conseguido instalar Oracle 10g (la última versión, 10.2.0.1.0 que puede descargarse desde
Oracle. Más concretamente, las versiones Windows y Linux
x86 pueden bajarse de
aquí y
otras desde
aquí.
La documentación de la versión está
aquí. La guía explica como instalarlo en
Debian x86, pero casi todo es igual que en Gentoo, excepto, claro está, el
método de hacerse con el software de las dependencias de Oracle. También
existe otra guía para SuSE
aquí, pero no he seguido
ésta, aunque puede ayudarte con alguna duda.
Poco que añadir al documento de Togaware; lo más cabal es seguirlo al pie de
la letra salvo en algunas pequeñas cosas:
- Las versiones de libaio compatibles con Oracle son sólo las
anteriores a la 0.3.15 (103, 104, 106).
- No he necesitado realizar los procedimientos relativos al servicio
cssd que mencionan en Togaware
- He tenido problemas con los programas de arranque dbstart y
dbshut. Así que, en su lugar, he utilizado mi propio script de arranque y
parada que puedes ver aquí. Para que funcione,
déjalo en un directorio incluido en el PATH del usuario oracle y crea un
enlace dinámico a este con el nombre de la base de datos que creaste en la
instalación. Si, por ejemplo, llamaste a tu base de datos jul0,
necesitarás ejecutar las siguientes órdenes:
# su - oracle
# cd ~/bin #Si tienes ~/bin en el PATH
# ln -s orcl.sh jul0
# jul0 start #para arrancar la BD y...
# jul0 stop #para pararla
Como ves, no recomiendo que sea el usuario root el que realice el
arranque y la parada. Si no tienes más remedio, te recomiendo que uses el
script anterior a través de la orden su - oracle, lo que da,
casi siempre, menos quebraderos de cabeza.
- Errores en la compilación: Al enlazar los ejecutables en la fase final
de la instalación (es parte de la instalación desde tiempos inmemoriales de
Oracle), encontré que faltaban dos bibliotecas de enlace dinámico que,
curiosamente, sí estaban en mi sistema pero que, sin embargo, buscaba en otra
ubicación. Mi solución fue crear enlaces simbólicos allí donde las buscaba;
las órdenes fueron:
# ln -s /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.5/libgcc_s.so.1 /lib64/libgcc_s.so.1
# ln -s /usr/lib64/libstdc++-v3/libstdc++.so.5.0.6 /usr/lib64/libstd++.so.5
No sé si es posible eliminar después de la instalación estos enlaces,
supongo que sí.
- En cuanto a las dependencias, y sólo a título de referencia, las
versiones de los paquetes con los que pude instalar en Gentoo
correspondientes a los que en Togaware se indican como requisitos
preliminares son:
sys-devel/gcc-3.4.5
sys-devel/make-3.80-r3
sys-devel/binutils-2.16.1
x11-libs/openmotif-2.2.3-r8
dev-libs/libaio-0.3.106
Date cuenta de que no he necesitado ni lesstif ni rpm,
claro.
- Si te falla la creación de una base de datos e intentas volver a crearla
con el mismo nombre, probablemente la herramienta te dirá que ya exista
aunque borres los ficheros de la misma. Lo que hay que hacer es,
simplemente, eliminar su entrada en el fichero
$ORACLE_HOME/install/oratab
- Es difícil (o al menos a mí me lo pareció) encontrar cómo se arranca el
servicio de Oracle Web Enterprise Manager. La orden es:
oracle$ emctl start dbconsole
que es necesario para poder administrar las bases de datos de forma remota
con esta herramienta.