Tuesday, March 27, 2007

Instalacion Oracle9i en CentOS/RedHat

Antes de iniciar la instalación

Oracle recomienda para la esta versión los siguientes requisitos mínimos para el sistema:

RAM: 512 Mb.
SWAP: 1 Gb.
HD: 3 Gb.

(He conseguido hacerlo funcionar con mucho menos... pero allá tú!... realmente el rendimiento se “desinfla” exponencialmente...)

La instalación se muestra con CentOS 4.4 instalado en el sistema.

Obtener Oracle

Accede a http://technet.oracle.com y pulsa sobre “Downloads” y “Database”.

Después de haber aceptado las condiciones descarga los siguiente ficheros:
ship_9204_linux_disk1.cpio.gz
ship_9204_linux_disk2.cpio.gz
ship_9204_linux_disk3.cpio.gz
Después de descargarlos, ejecuta los siguientes comandos para montarlos en un sistema de ficheros lo suficientemente grande (+/- 2 Gb.)
# cd /bigtmp
# zcat ship_9204_linux_disk1.cpio.gz | cpio -idmv
# zcat ship_9204_linux_disk2.cpio.gz | cpio -idmv
# zcat ship_9204_linux_disk3.cpio.gz | cpio -idmv
Una vez expandidos los ficheros puedes copiarlos (si lo deseas) en sendos CD's para disponer de ellos en posteriores instalaciones.

Preparación del entorno

Crea los directorios de instalación donde tú decidas (yo acostumbro a utilizar /u01/app/oracle/product/9.2.0)

Crea además un usuario y un grupo para la instalación de los binarios así como un directorio para los ficheros de datos:

# /usr/sbin/groupadd dba
# /usr/sbin/groupadd oinstall
# /usr/sbin/useradd -m -g oinstall -G dba oracle
# mkdir -p /u01/app/oracle/product/9.2.0
# chown -R oracle:oinstall /u01/app/oracle
# mkdir -p /u01/oradata
# chown -R oracle:oinstall /u01/oradata
# passwd oracle

Añade las siguientes líneas en el fichero /etc/sysctl.conf

echo "kernel.shmmax = 2147483648" >> /etc/sysctl.conf
echo "kernel.shmmni = 100" >> /etc/sysctl.conf
echo "kernel.shmall = 2097152" >> /etc/sysctl.conf
echo "# semaphores: semmsl, semmns, semopm, semmni" >> /etc/sysctl.conf 
echo "kernel.sem = 100 256 100 100" >> /etc/sysctl.conf
echo "fs.file-max = 327679" >> /etc/sysctl.conf
echo "kernel.hostname = centos.localdomain" >> /etc/sysctl.conf
echo "kernel.domainname = localdomain" >> /etc/sysctl.conf 

Ejecuta el siguiente comando para cambiar los parámetros de kernel en caliente

# /sbin/sysctl -p

Añade las siguientes líneas al fichero /etc/security/limits.conf

echo "oracle soft nofile 65536" >> /etc/security/limits.conf
echo "oracle hard nofile 65536" >> /etc/security/limits.conf
echo "oracle soft nproc 16384" >> /etc/security/limits.conf
echo "oracle hard nproc 16384" >> /etc/security/limits.conf 

Modifica el .bash_profile del usuario

# Oracle 9i
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/9.2.0; export ORACLE_HOME
ORACLE_TERM=xterm; export ORACLE_TERM
PATH=$ORACLE_HOME/bin:$PATH; export PATH
ORACLE_OWNER=oracle; export ORACLE_OWNER
ORACLE_SID=DBORA; export ORACLE_SID
LD_LIBRARY_PATH=$ORACLE_HOME/lib; export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib CLASSPATH=$CLASSPATH:$ORACLE_HOME/network/jlib; export CLASSPATH
LD_ASSUME_KERNEL=2.4.19; export LD_ASSUME_KERNEL
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR

Guarda el fichero .bash_profile y vuelve a entrar como el usuario “oracle” (en en la misma session ejecuta en el home del usuario

$ . ./.bash_profile

Asegúrate de haber asignado una ip al servidor

# 192.168.0.10 hostname

Revisa que los siguientes paquetes estén instalados en el sistema

# rpm -q make                         \
compat-db                      \
compat-gcc-32                  \
compat-gcc-32-c++              \
compat-oracle-rhel4            \
compat-libcwait                \
compat-libgcc-296              \
compat-libstdc++-296           \
compat-libstdc++-33            \
gcc                            \
gcc-c++                        \
gnome-libs                     \
gnome-libs-devel               \
libaio-devel                   \
libaio                         \
make                           \
openmotif21                    \
xorg-x11-deprecated-libs-devel \
xorg-x11-deprecated-libs

Si no es así instalalos con los comandos “yum”, “up2date” o bién con rpm (aunque es bastante más artesanal!!!)

Instala los paquetes asociados al parche 4198954 :

cd 4198954
rpm -Uvh compat-oracle-rhel4-1*
rpm -Uvh compat-libcwait-2*

Instalación

Para iniciar la instalación accede al directorio

$ cd /bigtmp
$ cd Disk1
$ export ORACLE_HOME=/u01/app/oracle/product/9.2.0
$ ./runInstaller

Bienvenidos a mi humilde residencia en la gran telaraña.


Con los artículos que contiene mi blog pretendo únicamente poder colaborar con todos vosotros en lo referente a bases de datos, sistemas operativos abiertos y sistemas de inteligencia de negocio.

Las entradas que se muestran son las que, limitado por el tiempo, puedo garantizar que funcionan con el noble arte de "copy & paste"... pero si tenéis cualquier tipo de duda acerca de las tecnologías mencionadas con anterioridad no dudéis en poneros en contacto conmigo y procuraré colaborar con vosotros para cualquier cosa que esté a mi alcance.

Gracias por vuestro interés y hasta muy pronto!!!