jueves, 17 de agosto de 2017

Instalación de Oracle 11g en Linux


Como es sabido la instalación de Oracle en Linux suele ser algo complicada. Para facilitar este proceso  a continuación se explican las fases para llevar a cabo, sin ningún problema, el proceso de instalación de Oracle 11g en Linux.

Antes de proceder a la instalación de Oracle Database 11g se deben tener en cuenta los siguientes requisitos de Hardware:
  • Requisitos de memoria
  • Requisitos de espacio en disco
  • Creación directorios necesarios
Requisitos de memoria
Para un funcionamiento óptimo de nuestro sistema será necesario disponer de un equipo con, al menos, 1GB de memoria RAM. Aunque podemos trabajar con sistemas que no cumplan con este requisito, si nuestro sistema crece y, con él, el número de transacciones realizadas por la base de datos, podemos obtener un deterioro drástico del rendimiento de nuestro servidor.
Directamente relacionado con el tamaño de nuestra memoria RAM, tendremos nuestra partición de swap o intercambio, la cual deberá tener, en la mayoría de los casos, una capacidad el doble de grande que nuestra memoria principal. Para ser más exactos, y según las recomendaciones facilitadas por Oracle, podemos fijarnos en la siguiente tabla para conocer la relación RAM/Swap óptima para diferentes situaciones.
RAM Disponible
Espacio Swap Requerido
Entre 257 MB y 512 MB
El doble de memoria RAM
Entre 513 MB y 2048 MB
1.5 veces el tamaño de nuestra RAM
Entre 2049 MB y 8192 MB
El mismo tamaño que RAM
Más de 8192 MB
0.75 veces el tamaño de la RAM
Requisitos de espacio en disco
Para instalar Oracle Database 11g debemos tener disponibles por lo menos entre 150 y 200MB en el directorio /tmp. Dependiendo del tipo de instalación necesitaremos, además, entre 1.5GB y 3.5GB de espacio en nuestro disco para instalar todo el software Oracle. Este tamaño podrá variar ampliamente según el tipo de instalación y elementos seleccionados. Además, si escogemos la utilidad de autobackup necesitaremos espacio extra a medida que trabajemos normalmente con nuestro sistema. Según el tipo de instalación necesitaremos:
Tipo de Instalación Espacio Requerido (GB)
Enterprise Edition 3.47
Standard Edition 3.22
Custom (espacio máximo)
3.37

Creación directorios necesarios
Antes de proceder a la instalación de Oracle, debemos crear ciertos directorios y concederles los permisos necesarios. Crearemos el directorio base de Oracle y, opcionalmente, un directorio para datos.
Para crear dichos directorios usaremos:
Comando
Acción
mkdir -p /mount_point/app/
Creación del directorio app en /mount_point
chown -R oracle:oinstall /mount_point/app/
Cambiando propietario
chmod -R 775 /mount_point/app/
Concesión de permisos
En nuestro caso /mount_point es una partición a parte montada en raíz con el nombre u01.

Requisitos de Software

Dependiendo de los productos que queramos instalar y el sistema utilizado como base, deberemos tener en cuenta ciertos puntos:
  • Requisitos de Sistema Operativo
  • Requisitos de Kernel
  • Paquetes necesarios
  • Usuarios y grupos
Requisitos de Sistema Operativo
Los siguientes sistemas operativos son soportados por la versión 11g de la Base de Datos Oracle:
Distribuciones Linux Soportadas
Asianux 2.0
Asianux 3.0
Oracle Enterprise Linux 4.0
Oracle Enterprise Linux 5.0
Red Hat Enterprise Linux 4.0
Red Hat Enterprise Linux 5.0
SUSE Enterprise Linux 10.0
Aunque solo las distribuciones que aparecen en la lista anterior son las soportadas oficialmente por Oracle, otras distribuciones tales como Fedora o Ubuntu funcionan correctamente.
Requisitos de Kernel
Las distribuciones anteriores deben utilizar las siguientes versiones de Kernel:
Distribución Versión de Kernel
Asianux 2, Oracle EL 4.0 y Red Hat EL 4.0 2.6.9
Asianux 3, Oracle EL 5.0 y Red Hat EL 5.0 2.6.18
SUSE 10 2.6.16.21
Parámetros de kernel
Hay numerosos parámetros de nuestro kernel que deberemos modificar para el uso de Oracle en nuestro equipo. La siguiente tabla muestra los valores mínimos recomendados para esos parámetros y el archivo donde aparecen.
Parámetro Valor Archivo
semmsl 250 /proc/sys/kernel/sem
semmns 32000 /proc/sys/kernel/sem
semopm 100 /proc/sys/kernel/sem
semmni 128 /proc/sys/kernel/sem
shmall 2097152 /proc/sys/kernel/shmall
shmmax La mitad del tamaño total de RAM /proc/sys/kernel/shmmax
shmmni 4096 /proc/sys/kernel/shmmni
file-max 512 * PROCESSES /proc/sys/fs/file-max
ip_local_port_range Mínimo: 1024 / Máximo: 65000 /proc/sys/net/ipv4/ip_local_port_range
rmem_default 4194304 /proc/sys/net/core/rmem_default
wmem_default 262144 /proc/sys/net/core/wmem_default
rmem_max 4194304 /proc/sys/net/core/rmem_max
wmem_max 262144 /proc/sys/net/core/wmem_max
Si en un determinado parámetro tenemos un valor igual o superior, no es necesaria su modificación, es decir, únicamente debemos modificar los parámetros que posean un valor inferior al dado. Todos los archivos mostrados en la tabla anterior contienen parámetros del kernel con lo cual puede resultar complicado y delicado su modificación directa. Una posible solución elegante y efectiva consiste en modificar el archivo /etc/sysctl.conf añadiéndole, de las líneas mostradas a continuación, únicamente las que necesitemos modificar:
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 
net.core.rmem_default = 4194304 
net.core.rmem_max = 4194304 
net.core.wmem_default = 262144 
net.core.wmem_max = 262144
Paquetes necesarios
La distribución que hemos utilizado en la realización del presente proyecto ha sido Oracle Enterprise Linux 5.0 y Ubuntu 8.04 LTS. Oracle recomienda realizar una instalación típica sea cual sea la versión de nuestra distribución Linux para facilitar así todo el proceso de instalación y eliminar gran parte de los problemas de dependencias. De igual forma, es posible el uso de apt-get (previa instalación y configuración) aunque no ha sido la alternativa utilizada en nuestro caso. Los usuarios más avanzados pueden escoger una instalación mínima (con soporte para x-window ya que es necesaria para realizar la instalación de nuestra base de datos) optimizando así el uso de disco e instalar, posteriormente, los paquetes necesarios y que se añaden en el CD-ROM adjunto. Los paquetes requeridos para nuestra distribución junto a sus versiones mínimas se muestran a continuación:
binutils-2.17.50.0.6-2.el5 
compat-libstdc++-33-3.2.3-61 
elfutils-libelf-0.125-3.el5 
elfutils-libelf-devel-0.125 
glibc-2.5-12 
glibc-common-2.5-12 
glibc-devel-2.5-12 
glibc-headers-2.5-12 
gcc-4.1.1-52 
gcc-c++-4.1.1-52 
libaio-0.3.106 
libaio-devel-0.3.106 
libgcc-4.1.1-52 
libstdc++-4.1.1 
libstdc++-devel-4.1.1-52.e15 
make-3.81-1.1 
sysstat-7.0.0 
unixODBC-2.2.11 
unixODBC-devel-2.2.11
Usuarios y grupos
Los siguientes usuarios y grupos serán necesarios para la instalación y el uso de Oracle:
Nombre Tipo Rol
oinstall Grupo Grupo de inventario de Oracle
dba Grupo Grupo de OSDBA
oracle Usuario El propietario del software Oracle
nobody Usuario Usuario sin privilegios en el sistema
El usuario oracle deberá pertenecer al grupo oinstall (grupo primario) y también al grupo dba (grupo secundario).
Para mejorar el rendimiento de nuestra base de datos podemos incrementar las limitaciones de shell para el usuario oracle. En concreto, modificaremos el número máximo de descriptores abiertos y el número máximo de procesos disponibles para este usuario. Podemos establecer también ciertas variables de entorno en el archivo .bash_profile en el home del usuario oracle para tenerlas siempre disponibles cuando éste acceda al sistema. El conjunto de modificaciones que añadiremos en este paso se resumen en la siguiente tabla.
Fichero Parámetros
/etc/security/limits.conf oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
/etc/pam.d/login session required /lib/security/pam_limits.so
session required pam_limits.so
/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
Para finalizar estableceremos variables de entorno ORACLE_BASE y ORACLE_SID.
Nota:
Para establecer las variables de entorno:
ORACLE_BASE=/mount_point/app/oracle 
ORACLE_SID=sid 
export ORACLE_BASE ORACLE_SID
Una vez hechas estas modificaciones ya estamos listos para iniciar el proceso de instalación de Oracle 11g.

No hay comentarios:

Publicar un comentario