Guia de instalación de Oracle 11g en Debian/Ubuntu

Puedes descargarte el instalador de Oracle desde su página de descargas. Yo voy a instalar sobre un Ubuntu 64 por lo que me bajaré el instalador linux 64 bit. Tu bajate el que se ajuste a tu arqutectura.

Tras descargar y descomprimir, vamos a empezar.

Presupuestos

  1. La instalación la hará el usuario root u Oracle cuando se especifique
  2. Tienes al menos 500 MB de ram
  3. Tienes al menos 1 GB de swap

Preparando el sistema

1. Crear el usuario y grupo de oracle:

/usr/sbin/groupadd oinstall
/usr/sbin/groupadd dba
/usr/sbin/groupadd nobody
/usr/sbin/useradd -m -g oinstall -G dba -p passwd -d /home/oracle oracle

2. Creamos ciertos directorios y le asignamos permisos

mkdir -p /home/oracle/app/oracle
mkdir -p /home/oracle/oradata
chown -R oracle:oinstall /home/oracle/
chmod -R 775 /home/oracle/

3. Parámetros del kernel

Vamos a ver que los parámetros del kernel

/sbin/sysctl -a | grep sem
/sbin/sysctl -a | grep shm
/sbin/sysctl -a | grep file-max
/sbin/sysctl -a | grep ip_local_port_range

Te tiene que salir algo así como :

kernel.sem = 250 32000 100 128
kernel.shmmni = 4096
kernel.shmall = 2097152
kernel.shmmax = 2147483648
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000

Si no, como es mi caso, haz los cambios necesarios en /etc/sysctl.conf

vi /etc/sysctl.conf
#
# Lineas a añadir para la configuración de oracle
#
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000

Y aplicas los cambios

/sbin/sysctl -p

Ahora vamos a establecer los límites. Para eso editamos el fichero /etc/security/limits.conf y ponemos dentro (incluidos los asteriscos):

*               soft    nproc   2047
*               hard    nproc   16384
*               soft    nofile  1024
*               hard    nofile  65536

Añade ( o descomenta ) la siguiente línea en : /etc/pam.d/login y /etc/pam.d/su

session    required     /lib/security/pam_limits.so

Dado que usamos Bash debemos añadir este código a /etc/profile

if [ $USER = "oracle" ]; then
      if [ $SHELL = "/bin/ksh" ]; then
            ulimit -p 16384
            ulimit -n 65536
      else
            ulimit -u 16384 -n 65536
      fi
fi

Instalamos los siguientes paquetes ya que tenemos una distribución x64

apt-get install build-essential ia32-libs libc6-dev-i386 libc6-dev libaio-dev expat pdksh unixodbc sysstat libaio1 elfutils build-essential libaio1 libaio-dev libmotif3 libtool expat alien ksh pdksh unixODBC unixODBC-dev sysstat elfutils libelf-dev binutils lesstif2 lsb-cxx lsb-rpm

y hacemos unos cuantos enlaces simbolicos. Oracle está pensado para funcionar con Red Hat y va a buscar las cosas a los directorios donde espera encontrarlos en Red Hat. Por lo que vamos a ponerle las cosas faciles.

ln -s /usr/bin/awk /bin/awk
ln -s /usr/bin/rpm /bin/rpm
ln -s /usr/bin/basename /bin/basename 
ln -s /etc /etc/rc.d                  

Por último, para no tener problemas de versiones, bajate estas librerías a mano. Ya las tienes, pero tienes la versión 6 y Oracle quiere la 5 por lo que hay que hacer la siguente ñapa:

cd /tmp
wget http://mirrors.kernel.org/ubuntu/pool/universe/g/gcc-3.3/libstdc++5_3.3.6-17ubuntu1_amd64.deb
dpkg-deb -x libstdc++5_3.3.6-17ubuntu1_amd64.deb ia64-libs
cp ia64-libs/usr/lib/libstdc++.so.5.0.7 /usr/lib64/
cd /usr/lib64/
ln -s libstdc++.so.5.0.7 libstdc++.so.5

cd /tmp
wget http://security.ubuntu.com/ubuntu/pool/universe/i/ia32-libs/ia32-libs_2.7ubuntu6.1_amd64.deb
dpkg-deb -x ia32-libs_2.7ubuntu6.1_amd64.deb ia32-libs
sudo cp ia32-libs/usr/lib32/libstdc++.so.5.0.7 /usr/lib32/
cd /usr/lib32
ln -s libstdc++.so.5.0.7 libstdc++.so.5

Por fin nos cambiamos de usuario para ser oracle

Y, al menos en mi caso, cambiamos de usuario significa que salimos de la sesion actual y nos volvemos a logar como oracle. Si estas haciendo la instalacion en local vuelves a entrar en gnome o kde. Esto es porque si no no podrás hacer el export del display. Ya volveremos sobre este tema.

Vamos a poner algunas cosas en el ~/.bash_profile

ORACLE_BASE=/home/oracle/ORACLE
ORACLE_SID=test
export ORACLE_BASE ORACLE_SID
unset ORACLE_HOME
unset TNS_ADMIN
umask 022

Para poder exportar el DISPLAY. Cosa totalmente necesaraia para la instalción debemos haber entrado com el usuario oracle.

Si instalamos desde una máquina cliente deberemos establecer el display a nuestra máquina:

export DISPLAY=192.168.160.180:0.0

Abirmos una consola y ejectuamos

 xhost +

Para comprobar que todo ha ido bien puedes hacer exactamente la misma comprobación que hará Oracle:

/usr/X11R6/bin/xclock

Y se te abriá el reloj.

Recuerda: yo estoy haciendo la instalación en la misma máquina. y tengo un entorno gráfico ejecutando. He salido de la sesion del entrono grafico y he entrado como el usuario oracle que hemos creado un poco mas arriba.

ahora ya podemos empezar. Vamos al directorio dode hayamos descomprimido el instalador y:

./runInstaller -ignoreSysPrereqs
 
ora/instal_11g.txt · Última modificación: 2011/03/31 09:47 por juantxu
 
Excepto donde se indique lo contrario, el contenido de esta wiki se autoriza bajo la siguiente licencia:CC Attribution-Noncommercial-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki