Como primer paso tendremos que tener un equipo (físico o virtual) con RedHat Enterprise Linux 4 instalado, la instalación de esta distribución está fuera del alcance de esta mini-guía, pero como referencia podemos decir que, básicamente necesitamos:
- Instalación mínima
- SWAP calculado de acuerdo a la siguiente lista:
- RAM < 4gb =" 2*RAM
- RAM >= 4GB < 8gb =" 1,5*RAM
- RAM >= 8GB = RAM
Una vez que tenemos instalado el sistema, debemos hacer algunos ajustes.
Hostname: El hostname de la máquina debe estar asignado de forma estática. En el archivo /etc/hosts no debe estar asociado al localhost, es bastante común tener una entrada como la siguiente:
"127.0.0.1 localhost.localdomain localhost miservidor"
Esta debe quedar:
"127.0.0.1 localhost.localdomain localhost
1.2.3.4 miservidor.midominio.tld miservidor"
Respecto a la dirección IP, esta debe estar asignada de forma estática, Oracle no soporte configuraciones con DHCP
Paquetes del Sistema Operativo: Como se imaginarán Oracle tiene un set de pre-requisitos para la instalación del motor, pues bien, a través de la experimentación, he ido depurando un listado menor de paquetes, e incluyendo algunos extras a fin de hacer nuestras tareas administrativas un poco más simples.
Deben instalar:
- cpp
- gcc
- gcc-c++
- binutils
- libstdc++
- libstdc++-devel
- compat-libstdc++-296
- compat-libstdc++-33
- make
- pdksh
- compat-db
- sysstat
- libaio
- openmotif21
- xorg-x11-xauth
- strace (muy útil para hacer debug)
- ntp (sincronización de tiempo)
- popt (pre-requisito de ntp)
Los siguientes parámetros deben estar configurados como mínimo, todos están en la sintaxis que necesitan poner en el archivo /etc/sysctl.conf
kernel.shmmax = (RAM en bytes/2) - 1, en 32 bits que no exceda los 4GB - 1 bytes
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 262144
net.core.wmem_default = 262144
net.core.rmem_max = 262144
net.core.wmem_max = 262144
Una vez modificados los parámetros en el archivo /etc/sysctl.conf, basta con ejecutar sysctl -p para activarlos. Cabe notar, que si algún parámetro de ese archivo es mayor a los anotados más arriba, se debe dejar el mayor.
Cuentas de usuario y grupos
Ahora debemos crear el grupo "dba", y el usuario "oracle". En los documentos de Oracle, se recomienda crear el grupo "oinstall" para ser dueño del inventario de software de Oracle, en la generalidad, no he visto instalaciones productivas donde se lleven a cabo más tareas que tener el motor de datos, por tanto el grupo "oinstall" se vuelve irrelevante.
Primero creamos el grupo con "groupadd dba", y luego el usuario oracle con "useradd -g dba oracle".
Límites para el usuario oracle
Debemos configurar los límites para el usuario oracle, para esto, modificamos el archivo /etc/security/limits.conf, y agregamos
oracle soft nofile 65536
oracle hard nofile 65536
oracle soft nproc 16384
oracle hard nproc 16384