Estos son los requerimientos para poder instalar Oracle 12cR1 en Oracle Linux x86 para RHEL 6. Siempre recomiendo tomar los últimos valores disponibles en la documentacion oficial de Oracle disponible en este enlace.

Si no especifico que vamos a usar otro usuario, todos los comando mencionados son con el usuario root, así que debemos tener acceso a ese usuario. 

Algo de lo que tiene Linux es que tiene una manera de dejar esto todo listo con yum que es un gestor de paquetes interactivo, basado en rpms , y  lo puedes hacer de la siguiente manera:

Configuración automática de Oracle Linux con Oracle RDBMS Pre-Install RPM

  • Como el usuario root

    cd /etc/yum.repos.d/
    wget http://public-yum.oracle.com/public-yum-ol6.repo

  • Asegurate que los siguientes estén habilitados en el archivo public-yum-ol6.repo

    [oracle@oracleenespanol yum.repos.d]$ cat public-yum-ol6.repo
    [ol6_latest]
    name=Oracle Linux $releasever Latest ($basearch)
    baseurl=http://public-yum.oracle.com/repo/OracleLinux/OL6/latest/$basearch/
    gpgkey=http://public-yum.oracle.com/RPM-GPG-KEY-oracle-ol6
    gpgcheck=1
    enabled=1

    [ol6_UEK_base]
    name=Unbreakable Enterprise Kernel for Oracle Linux $releasever ($basearch)
    baseurl=http://public-yum.oracle.com/repo/OracleLinux/OL6/UEK/base/$basearch/
    gpgkey=http://public-yum.oracle.com/RPM-GPG-KEY-oracle-ol6
    gpgcheck=1
    enabled=1


  • Corre el siguiente comando para verificar los canales registrados

    yum repolist

  • Y todavía con el usuario root, corre el siguiente comando que va a dejar listo tu instalación de Linux para que puedas instalar Oracle 12c

    yum install oracle-rdbms-server-12cR1-preinstall -y

Configuración manual de Oracle Linux con Oracle RDBMS 

Requisitos de Memoria

  • Por lo menos 1 GB de RAM
    Para verificar el tamaño de tu RAM
    grep MemTotal /proc/meminfo
  • Espacio swap
    Para verificar el tamaño de tu espacio Swap
    grep SwapTotal /proc/meminfo


RAM Disponible Espacion Swap Requerido
Entre 1 GB y 2 GB 1.5 veces el tamaño de la RAM
Entre 2 GB y 16 GB Igual al Tamaño de la RAM
Mas que 16 GB 16 GB

Requisitos de Hardware

  • 1 GB de espacio en el directorio /tmp
    Para determinar el espacio libre
    df -h /tmp

Tipo de Instalacion Requerimientos de Archivos SW (GB)
Enterprise Edition 6.4
Standard Edition 6.1


Tipo de Instalacion Requerimientos Para Datafiles (GB)
Enterprise Edition 3.8
Standard Edition 3.2

Requisitos de Software

  • Determinar la distribución y versión de Linux instalado. Acuerdate que estamos instalando una version de RHEL 6 con un kernel 2.6.39-400.17.1.el6uek.x86_64

    cat /proc/version

  • Kernel Requerido 
    Para Oracle Linux 6:
    Oracle Linux 6 con Unbreakable Enterprise kernel: 2.6.39-200.24.1.el6uek.x86_64 o posterior
    Oracle Linux 6 con Red Hat Compatible kernel: 2.6.32-71.el6.x86_64 o posterior

    Red Hat Enterprise Linux 6:
    Red Hat Enterprise Linux 6: 2.6.32-71.el6.x86_64 o posterior
    Red Hat Enterprise Linux 6 with the Unbreakable Enterprise Kernel: 2.6.32-100.28.5.el6.x86_64 o posterior

    • Paquetes Requeridos
      Todos son la versión mencionada o posterior.

      binutils-2.20.51.0.2-5.11.el6 (x86_64)
      compat-libcap1-1.10-1 (x86_64)
      compat-libstdc++-33-3.2.3-69.el6 (x86_64)
      compat-libstdc++-33-3.2.3-69.el6 (i686)
      gcc-4.4.4-13.el6 (x86_64)
      gcc-c++-4.4.4-13.el6 (x86_64)
      glibc-2.12-1.7.el6 (i686)
      glibc-2.12-1.7.el6 (x86_64)
      glibc-devel-2.12-1.7.el6 (x86_64)
      glibc-devel-2.12-1.7.el6 (i686)
      ksh
      libgcc-4.4.4-13.el6 (i686)
      libgcc-4.4.4-13.el6 (x86_64)
      libstdc++-4.4.4-13.el6 (x86_64)
      libstdc++-4.4.4-13.el6 (i686)
      libstdc++-devel-4.4.4-13.el6 (x86_64)
      libstdc++-devel-4.4.4-13.el6 (i686)
      libaio-0.3.107-10.el6 (x86_64)
      libaio-0.3.107-10.el6 (i686)
      libaio-devel-0.3.107-10.el6 (x86_64)
      libaio-devel-0.3.107-10.el6 (i686)
      libXext-1.1 (x86_64)
      libXext-1.1 (i686)
      libXtst-1.0.99.2 (x86_64)
      libXtst-1.0.99.2 (i686)
      libX11-1.3 (x86_64)
      libX11-1.3 (i686)
      libXau-1.0.5 (x86_64)
      libXau-1.0.5 (i686)
      libxcb-1.5 (x86_64)
      libxcb-1.5 (i686)
      libXi-1.3 (x86_64)
      libXi-1.3 (i686)
      make-3.81-19.el6
      sysstat-9.0.4-11.el6 (x86_64)

    Para verificar si tienes el paquete instalado, utiliza el siguiente comando
    rpm -q nombre_paquete

    Ejemplo
    rpm -q binutils

    De igual manera te puedes ahorrar mucho trabajo, si ya configuraste tu repositorio de yum, corriendo los siguientes comandos

    yum install binutils -y
    yum install compat-libcap1 -y
    yum install compat-libstdc++-33 -y
    yum install compat-libstdc++-33.i686 -y
    yum install gcc -y
    yum install gcc-c++ -y
    yum install glibc -y
    yum install glibc.i686 -y
    yum install glibc-devel -y
    yum install glibc-devel.i686 -y
    yum install ksh -y
    yum install libgcc -y
    yum install libgcc.i686 -y
    yum install libstdc++ -y
    yum install libstdc++.i686 -y
    yum install libstdc++-devel -y
    yum install libstdc++-devel.i686 -y
    yum install libaio -y
    yum install libaio.i686 -y
    yum install libaio-devel -y
    yum install libaio-devel.i686 -y
    yum install libXext -y
    yum install libXext.i686 -y
    yum install libXtst -y
    yum install libXtst.i686 -y
    yum install libX11 -y
    yum install libX11.i686 -y
    yum install libXau -y
    yum install libXau.i686 -y
    yum install libxcb -y
    yum install libxcb.i686 -y
    yum install libXi -y
    yum install libXi.i686 -y
    yum install make -y
    yum install sysstat -y
    yum install unixODBC -y
    yum install unixODBC-devel -y

    Valores de Kernel Requeridos

    Parametro Valor Minimo Archivo
    semmsl
    semmns
    semopm
    semmni
    250
    32000
    100
    128
    /proc/sys/kernel/sem
    shmall 2097152 /proc/sys/kernel/shmall
    shmmax Ya sea 4 GB – 1 byte, or la mitad del tamaño de la memoria fisica (en bytes), El que sea Menor.
    Default: 536870912

    /proc/sys/kernel/shmmax
    shmmni 4096 /proc/sys/kernel/shmmni
    filemax< /code> 6815744 /proc/sys/fs/file-max
    ip_local_port_range Minimo: 9000
    Maximo: 65500
    /proc/sys/net/ipv4/ip_local_port_range
    rmem_default 262144 /proc/sys/net/core/rmem_default
    rmem_max 4194304 /proc/sys/net/core/rmem_max
    wmem_default 262144 /proc/sys/net/core/wmem_default
    wmem_max 1048576 /proc/sys/net/core/wmem_max
    aio-max-nr Maximo: 1048576 /proc/sys/fs/aio-max-nr


    Para ver los valores de los parámetros del Kernel, utiliza los comandos mencionados en la siguiente tabla

    Parametro Comando
    semmslsemmnssemopm, ysemmni # /sbin/sysctl -a | grep sem
    shmallshmmax, y shmmni # /sbin/sysctl -a | grep shm
    file-max # /sbin/sysctl -a | grep file-max
    ip_local_port_range # /sbin/sysctl -a | grep ip_local_port_range
    rmem_default # /sbin/sysctl -a | grep rmem_default
    rmem_max # /sbin/sysctl -a | grep rmem_max
    wmem_default # /sbin/sysctl -a | grep wmem_default
    wmem_max # /sbin/sysctl -a | grep wmem_max
    • Si cualquiera de los valores mencionados es menor a los valores recomendados, crea o edita el archivo /etc/sysctl.conf y añade o edita las lineas mencionadas abajo: 
      fs.aio-max-nr = 1048576
      fs.file-max = 6815744
      kernel.shmall = 2097152
      kernel.shmmax = 536870912
      kernel.shmmni = 4096
      kernel.sem = 250 32000 100 128
      net.ipv4.ip_local_port_range = 9000 65500
      net.core.rmem_default = 262144
      net.core.rmem_max = 4194304
      net.core.wmem_default = 262144
      net.core.wmem_max = 1048586
    • Utiliza el siguiente comando para cambiar los valores actuales que tiene el kernel
      /sbin/sysctl -p


    • El siguiente comando te ayuda para confirmar que los parámetros están correctos
      /sbin/sysctl -a


      Crear el usuario Oracle y sus grupos
      Tomando en cuenta de que esta es una instalación nueva vamos a crear los siguientes grupos

      • /usr/sbin/groupadd dba
      • /usr/sbin/groupadd oinstall
      • /usr/sbin/groupadd oper
      • /usr/sbin/groupadd backupdba(*)
      • /usr/sbin/groupadd dgdba(*)
      • /usr/sbin/groupadd kmdba(*)
      • /usr/sbin/groupadd asmdba(*)
      • /usr/sbin/groupadd asmoper(*)
      • /usr/sbin/groupadd asmadmin(*)
      (*)Estos grupos no son inmediatamente requeridos, pero te aconsejo que los crees para no batallar en un futuro, ya que son requeridos para diferentes funciones como ASM o Usuarios de respaldo

      A continuación vamos a vamos a crear el usuario oracle

      • /usr/sbin/useradd -g oinstall -G dba oracle 
      • Para cambiar el password del usuario, vamos a usar el siguiente comando
        passwd oracle

      Recursos Limites Para el Usuario que va a instalar los binarios
      Estos son los valores recomendados por Oracle

      Recurso Limite del Shel Recurso Limite Soft Limite Hard
      Descriptores de Open file
      nofile

      por lo menos 1024

      por lo menos 655
      Numero de procesos disponibles a un solo usuario
      nproc

      por lo menos 2047

      por lo menos 16384
      Tamaño del segmento stack del proceso
      stack

      por lo menos 10240 KB

      por lo menos 10240 KB, y a lo mas 32768 KB



      Para verificar los recursos limites del usuario Entra como el usuario que va a hacer la instalación, en nuestro caso es el usuario Oracle

      • Verifica los limites soft y hard para los descriptores de archivo. Por ejemplo:

        ulimit -Sn
         4096
        ulimit -Hn
        65536

      • Verifica los limites soft y hard para los números de procesos disponibles al usuario. Por ejemplo:

        ulimit -Su
        2047
        ulimit -Hu
        16384

      • Verifica los limites soft y hard para los segmentos stack.Por ejemplo:
        ulimit -Ss
        10240
        ulimit -Hs
        32768
      • Si es necesario, actualiza los recursos limites en el archivo de configuración /etc/security/limits.conf . Por ejemplo, añade las siguientes lineas al archivo /etc/security/limits.conf file:

        oracle              soft    nproc   2047
        oracle              hard    nproc   16384
        oracle              soft    nofile  1024
        oracle              hard    nofile  65536
        oracle              soft    stack   10240

      Configurando la variable de ambiente y directorios
      Aquí yo también me alejo un poco de lo que recomienda Oracle. Lo que hago es utilizar en el .profile del usuario oracle uso lo siguiente:

      set -o vi
      stty erase "^?"
      export PS1="
      `echo ${LOGNAME}`@`hostname` ${PWD}
      `who am i | awk '{print $1}'` $ "
      export EDITOR=vi
      PATH=$HOME/bin:
      $PATH
      export PATH

      De ahí en el directorio $HOME/bin creo una variable de ambiente que refleje ahora si las necesidades de mi instancia, ya que puedo definir una variable distinta si tengo tengo otras versiones de Oracle en mi servidor. Asegurate de que todos los directorios definidos existan en tu servidor.

      ORACLE_HOME=/u01/oracle/app/oracle/product/12.1.0/dbhome_1
      DATA_PUMP_DIR=/mount/copy01/export01/TEST/
      ORACLE_SID=TEST
      ORACLE_BASE=/u01/oracle/app/oracle
      export ORACLE_HOME ORACLE_SID ORACLE_BASE DATA_PUMP_DIR
      ORACLE_CONFIG_HOME=/mount/oracle/product/cfg/TEST
      export ORACLE_CONFIG_HOME
      ADR_HOME=/mount/dump01/oracle/TEST/diag/rdbms/test/TEST
      export ADR_HOME
      SID_HOME=/mount/dba01/oracle/TEST
      export SID_HOME
      DBA_HOME=/mount/dba01/oracle
      export DBA_HOME
      TNS_ADMIN=$ORACLE_HOME/network/admin
      export TNS_ADMIN
      ORACLE_TERM=vt100
      export ORACLE_TERM

      Crear los Directorios Necesarios

      En mi caso, yo rompo un poco de la arquitectura OFA,aunque conservo alguna como puedes ver arriba, pero sigue teniendo mucho sentido, creo un mount point y dentro de ese creo todos los directorios necesarios para mi base de datos. En mi caso, uso el directorio de oracle para instalar los binarios.

      oracle@localhost /mount
      oracle $ ls
      arch01     copy01     dba01      dump01     oracle   


      Conclusión
      Aquí no hay mucho que concluir, mas que les vuelvo a decir que esto es solo una guia, para cualquier cambio de los requisitos consulten la documentación oficial En la segunda parte vamos a ver como es la instalación de los binarios de 12c y una base de datos.