Instalación Oracle 11g en Linux

Como ya sabemos, la instalación de Oracle en Linux suele ser algo complicada. Para facilitar este “mal trago”, publico este manual explicando la fase de preparación del sistema para poder realizar, sin ningún problema, el proceso de instalación de Oracle 11g en Linux.

Si lo que necesitas es instalar Oracle 10g, visita este otro manual.

Antes de proceder a la instalación de Oracle Database 11g deberemos 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

ilumina2 photo

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.

Entradas relacionadas:

  • Para acceder a los comandos Oracle mas utilizados, puedes visitar:

Comandos Oracle – Primera Parte –

Comandos Oracle – Segunda Parte –

Comandos Oracle – Tercera Parte –

Fuente: PFC Ceus

Anuncios

7 Responses to Instalación Oracle 11g en Linux

  1. RONKE says:

    goodevenning. please i need your assistance on the installation of oracle 10g enterprise linux 5.0 (which is already on a cd-rom) unto ubuntu 8.04. My system is window vista hp pavilion 6000V. kindly help me with the installation guide. thanks in advance for your favourable response.

  2. Aitor says:

    Hi RONKE

    Thanks for visiting my blog. If you’re installing Oracle 10g you can read this other tip of my blog in Spanish. If you prefer to see the official documentation in English, I recommend you to read the installation guide of Oracle.com.

    -Here you can see all the documentation of 10g Release 2

    –The Installation Guide of the Release 2 for your Ubuntu (Linux x86 ) is here

    –The Quick Installation Guide of the Release 2 for your Ubuntu (Linux x86) is here

    If you are installing Oracle 10g Release 1 have a lookto this other link

    I hope it will be helpful!

  3. Jose says:

    Hola, ayer instalé el Oracle 11g sobre el Enterprise Linux (de Oracle también)…

    Para ello seguí todos los pasos del manual que está publicado en la misma Oracle:
    http://www.oracle.com/technology/pub/articles/smiley-11gr1-install.html

    La instalación (del Linux y del Oracle) finalizó sin ningún problema…
    pero luego cuando quise ejecutar la sentencia:

    sqlplus “/ AS SYSDBA”

    me salió el siguiente error:

    sqlplus: command not found.

    Me puse a investigar en foros en internet y la mayoria dicen que este problema se pueda deber a que no están correctamente definidas las variables: ORACLE_HOME y ORACLE_SID

    ¿Se puede hacer esto con el Oracle ya instalado? o ¿Debí hacerlo antes de instalarlo? (como indicas en tu manual)

    ¿Cuales son los valores correctos para ambos variables?

    Muchísimas gracias anticipadas por el apoyo!

    Jose
    PD1: Estuve paseando por tu blog y vi las fotos que publicaste, están muy chéveres…
    PD2: Saludos desde Perú!

  4. Marlon says:

    Hola Aitor, me aa gustado mucho tu blog pero tengo una duda, no en que archivo es que se ponen las bariables de entorno que vienen aqui en esta instalacion (ORACLE_BASE=/mount_point/app/oracle, ORACLE_SID=sid) crees que puedas explicar más detalladamente este paso.

    Gracias por tu blog me resulto de muchisima ayuda.

    Marlon

  5. Carlo Avalos says:

    Jose acude a la web de oracle para corregir el error , por lo regular cuando hagas la instalacion verifica los parametros antes de que te firmes como dbaadmin asi de esa manera no tendras que repetir todo el proceso , ya que despues cuando asignes datos a tu DB podrias tener algun problema con la configuracion cualquier duda contactame al siguiente correo milcarava@hotmail.com.

  6. Emmanuel says:

    Solo entra al .bash_profile y vuelvelas a setear, en caso de no funcionar, vete a la dirección de instalación del producto Oracle, en la carpeta de /bin ejecuta :
    ./sqlplus /nolog y despues te conectas con el usuario y password que quieras

  7. Reblogueó esto en Trigo IT Projecty comentado:
    oracle 11g

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: