Simplificación de las instalaciones de Oracle Database 12c y 11g en Oracle Linux 6

Por Ginny Henningsen; actualizado por Michele Casey
Publicado en Julio 2014

Simplificación de la instalación de Oracle Database 12c u 11g en Oracle Linux 6 mediante la instalación del paquete RPM oracle-rdbms-server-12cR1-preinstall o oracle-rdbms-server-11gR2-preinstall, que ejecuta de forma automática varias tareas como instalar paquetes de software requeridos, resolver dependencias de paquetes y modificar parámetros del kernel.

Presentación de los RPM oracle-rdbms-server-12cR1-preinstall y oracle-rdbms-server-11gR2-preinstall para Oracle Linux
Antes de instalar Oracle Database 12c u 11g en un sistema, es necesario configurar el entorno operativo, puesto que la base de datos requiere ciertos paquetes de software, versiones de paquetes y modificaciones de los parámetros del kernel. (Consulte la guía de instalación de Oracle Database que corresponda para conocer los requisitos relativos a hardware, software y sistema operativo.)

Nota: El presente artículo es válido para Oracle Linux 6. En un artículo anterior, "How I Simplified Oracle Database Installation on Oracle Linux" (Simplificación de la instalación de Oracle Database en Oracle Linux), se aborda la ejecución de una tarea similar en versiones de Oracle Linux 5.
Descubrí que existe un modo notablemente sencillo de cumplimentar los requisitos de instalación en Oracle Linux: Primero, instale el paquete RPM denominado oracle-rdbms-server-12cR1-preinstall o el oracle-rdbms-server-11gR2-preinstall, según cuál sea su versión de base de datos. Este RPM ejecuta varios pasos de configuración previa:

  • Descarga e instalación automáticas de paquetes de software y versiones específicas de paquetes requeridas para instalar Oracle Grid Infrastructure y Oracle Database 12 c Versión 1 (12.1) u 11g Versión 2 (11.2.0.3); las dependencias de paquetes se resuelven mediante capacidades yum o up2date .
  • Creación del usuario oracle y los grupos oinstall (para OraInventory) y dba (para OSDBA), que se usan durante la instalación de la base de datos. (Por motivos de seguridad, este usuario no tiene contraseña predeterminada y no puede iniciar sesión de manera remota. Para permitir el inicio de sesión remoto, defina una contraseña utilizando la herramienta passwd.)
  • Modificación de parámetros del kernel en /etc/sysctl.conf para cambiar la configuración relativa a memoria compartida, semáforos, cantidad máxima de descriptores de archivos, etcétera.
  • Definición de límites máximos y flexibles para los recursos del shell en /etc/security/limits.conf, por ejemplo espacio de direcciones de memoria bloqueado, cantidad de archivos abiertos, cantidad de procesos y tamaño de archivos del núcleo.
  • Definición numa=off en el kernel para máquinas x86_64.

Nótese que oracle-rdbms-server-12cR1-preinstall y oracle-rdbms-server-11gR2-preinstall analizan los archivos /etc/sysctl.conf y /etc/security/limits.conf existentes y actualizan los valores solo en la medida en que se requiera para instalar la base de datos. Toda configuración personalizada previamente que no se relacione con la instalación de la base de datos permanece sin modificación alguna.
Es posible obtener los paquetes RPM oracle-rdbms-server-12cR1-preinstall y oracle-rdbms-server-11gR2-preinstall a través de la red Oracle Unbreakable Linux Network (ULN, que requiere contar con contrato de soporte técnico), desde los medios de distribución Oracle Linux o en el repositorio yum público de Oracle. Por lo tanto, independientemente de que su sistema esté registrado en la red ULN para obtener acceso a parches y soporte técnico de Oracle, es posible utilizar oracle-rdbms-server-12cR1-preinstall y oracle-rdbms-server-11gR2-preinstall para simplificar la instalación de la base de datos en Oracle Linux. Además, el repositorio yum público de Oracle incluye en la actualidad todos los parches de seguridad y para resolución de errores, lo que garantiza la seguridad y estabilidad de los sistemas mediante el acceso a las más recientes actualizaciones de seguridad y correcciones de errores.


Instalación del RPM oracle-rdbms-server-12cR1-preinstall o oracle-rdbms-server-11gR2-preinstall .
En el resto del artículo, describo los pasos del procedimiento que seguí para instalar oracle-rdbms-server-11gR2-preinstall en Oracle Linux mediante el repositorio yum público de Oracle. Los pasos que se describen en el apartado siguiente pueden utilizarse para cualquiera de las versiones del paquete RPM de preinstalación. Partí de un sistema en el que se ejecuta Oracle Linux Versión 6, Actualización 4 para x86_64, una versión de 64 bits de Oracle Linux que descargué de Oracle Software Delivery Cloud (es necesario registrarse o iniciar sesión). En primer lugar, configuré un archivo de configuración yum que apuntaba al repositorio correcto y, luego, instalé el RPM oracle-rdbms-server-11gR2-preinstall desde ese repositorio.
A continuación, se indican los pasos requeridos para configurar un sistema para la posterior instalación de Oracle Database utilizando oracle-rdbms-server-11gR2-preinstall. Recuerde que para el paquete oracle-rdbms-server-12cR1-preinstall deben seguirse los mismos pasos; solo es necesario cambiar el nombre del paquete RPM en el paso correspondiente a la instalación de yum.

  1. Recupere el archivo que configura las ubicaciones de repositorio como usuario autorizado (por ejemplo, root):
  2. # cd /etc/yum.repos.d
    # wget http://public-yum.oracle.com/public-yum-ol6.repo  

  3. Con un editor de texto, modifique el archivo reemplazando el campo enabled=0 por enabled=1 para reflejar los repositorios que correspondan a la versión del sistema operativo de la máquina.
  4. A continuación, se incluye un fragmento de public-yum-old6.repo con las líneas modificadas en negrita.

    [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_latest]
    name=Latest Unbreakable Enterprise Kernel for Oracle Linux $releasever ($basearch)
    baseurl=http://public-yum.oracle.com/repo/OracleLinux/OL6/UEK/latest/$basearch/
    gpgkey=http://public-yum.oracle.com/RPM-GPG-KEY-oracle-ol6
    gpgcheck=1
    enabled=1  

    Puesto que el sistema de destino ejecuta Oracle Linux Versión 6, Actualización 4 para x86_64, que instala Oracle Unbreakable Enterprise Kernel en forma predeterminada, deben habilitarse dos repositorios, [ol6_latest] y [ol6_UEK_latest].

  5. A continuación, instale el RPM oracle-rdbms-server-11gR2-preinstall con el comando yum install. Si estuviera utilizando Oracle Database 12c, debería escribir yum install.
  6. La salida en el Listado 1 muestra la comprobación de dependencias que lleva a cabo la instalación y la posterior descarga e instalación de los paquetes requeridos.

    # yum install oracle-rdbms-server-11gR2-preinstall
    Loaded plugins: refresh-packagekit, rhnplugin, security
    Setting up Install Process
    Resolving Dependencies
    --> Running transaction check
    ---> Package oracle-rdbms-server-11gR2-preinstall.x86_64 0:1.0-6.el6 will be installed
    --> Processing Dependency: gcc-c++ for package: oracle-rdbms-server-11gR2-preinstall-1.0-6.el6.x86_64
    --> Processing Dependency: gcc for package: oracle-rdbms-server-11gR2-preinstall-1.0-6.el6.x86_64
    --> Processing Dependency: libaio-devel for package: 
        oracle-rdbms-server-11gR2-preinstall-1.0-6.el6.x86_64
    --> Processing Dependency: libstdc++-devel for package:  
        oracle-rdbms-server-11gR2-preinstall-1.0-6.el6.x86_64
    --> Processing Dependency: glibc-devel for package: 
        oracle-rdbms-server-11gR2-preinstall-1.0-6.el6.x86_64
    --> Processing Dependency: compat-libstdc++-33 for package: 
        oracle-rdbms-server-11gR2-preinstall-1.0-6.el6.x86_64
    --> Processing Dependency: ksh for package: oracle-rdbms-server-11gR2-preinstall-1.0-6.el6.x86_64
    --> Processing Dependency: compat-libcap1 for package: 
        oracle-rdbms-server-11gR2-preinstall-1.0-6.el6.x86_64
    --> Running transaction check
    ---> Package compat-libcap1.x86_64 0:1.10-1 will be installed
    ---> Package compat-libstdc++-33.x86_64 0:3.2.3-69.el6 will be installed
    ---> Package gcc.x86_64 0:4.4.6-4.el6 will be installed
    --> Processing Dependency: cpp = 4.4.6-4.el6 for package: gcc-4.4.6-4.el6.x86_64
    --> Processing Dependency: cloog-ppl >= 0.15 for package: gcc-4.4.6-4.el6.x86_64
    ---> Package gcc-c++.x86_64 0:4.4.6-4.el6 will be installed
    --> Processing Dependency: libmpfr.so.1()(64bit) for package: gcc-c++-4.4.6-4.el6.x86_64
    ---> Package glibc-devel.x86_64 0:2.12-1.80.el6_3.4 will be installed
    --> Processing Dependency: glibc-headers = 2.12-1.80.el6_3.4 for package: 
        glibc-devel-2.12-1.80.el6_3.4.x86_64
    --> Processing Dependency: glibc-headers for package: glibc-devel-2.12-1.80.el6_3.4.x86_64
    ---> Package ksh.x86_64 0:20100621-16.el6 will be installed
    ---> Package libaio-devel.x86_64 0:0.3.107-10.el6 will be installed
    ---> Package libstdc++-devel.x86_64 0:4.4.6-4.el6 will be installed
    --> Running transaction check
    ---> Package cloog-ppl.x86_64 0:0.15.7-1.2.el6 will be installed
    --> Processing Dependency: libppl_c.so.2()(64bit) for package: cloog-ppl-0.15.7-1.2.el6.x86_64
    --> Processing Dependency: libppl.so.7()(64bit) for package: cloog-ppl-0.15.7-1.2.el6.x86_64
    ---> Package cpp.x86_64 0:4.4.6-4.el6 will be installed
    ---> Package glibc-headers.x86_64 0:2.12-1.80.el6_3.4 will be installed
    --> Processing Dependency: kernel-headers >= 2.2.1 for package: glibc-headers-2.12-1.80.el6_3.4.x86_64
    --> Processing Dependency: kernel-headers for package: glibc-headers-2.12-1.80.el6_3.4.x86_64
    ---> Package mpfr.x86_64 0:2.4.1-6.el6 will be installed
    --> Running transaction check
    ---> Package kernel-uek-headers.x86_64 0:2.6.32-300.32.1.el6uek will be installed
    ---> Package ppl.x86_64 0:0.10.2-11.el6 will be installed
    --> Finished Dependency Resolution
    Dependencies Resolved
    
    
    ================================================================================
     Package                         Arch   Version                Repository  Size
    ================================================================================
    Installing:
    oracle-rdbms-server-11gR2-preinstall
                                     x86_64 1.0-6.el6              ol6_latest  15 k
    Installing for dependencies:
     cloog-ppl                       x86_64 0.15.7-1.2.el6         ol6_latest  93 k
     compat-libcap1                  x86_64 1.10-1                 ol6_latest  17 k
     compat-libstdc++-33             x86_64 3.2.3-69.el6           ol6_latest  183 k
     cpp                             x86_64 4.4.6-4.el6            ol6_latest  3.7 M
     gcc                             x86_64 4.4.6-4.el6            ol6_latest  10 M
     gcc-c++                         x86_64 4.4.6-4.el6            ol6_latest  4.7 M
     glibc-devel                     x86_64 2.12-1.80.el6_3.4      ol6_latest  970 k
     glibc-headers                   x86_64 2.12-1.80.el6_3.4      ol6_latest  600 k
     kernel-uek-headers              x86_64 2.6.32-300.32.1.el6uek ol6_latest  713 k
     ksh                             x86_64 20100621-16.el6        ol6_latest  684 k
     libaio-devel                    x86_64 0.3.107-10.el6         ol6_latest  13 k
     libstdc++-devel                 x86_64 4.4.6-4.el6            ol6_latest  1.5 M
     mpfr                            x86_64 2.4.1-6.el6            ol6_latest  156 k
     ppl                             x86_64 0.10.2-11.el6          ol6_latest  1.3 M

     

    Transaction Summary
    ================================================================================
    Install      15 Package(s)
    Total download size: 25 M
    Installed size: 61 M
    Is this ok [y/N]: Downloading Packages:
    --------------------------------------------------------------------------------
    Total                                           710 kB/s |  25 MB     00:35     
    
    Running rpm_check_debug
    Running Transaction Test
    Transaction Test Succeeded
    Running Transaction
      Installing : mpfr-2.4.1-6.el6.x86_64                                  1/15 
      Installing : libstdc++-devel-4.4.6-4.el6.x86_64                       2/15 
      Installing : cpp-4.4.6-4.el6.x86_64                                   3/15 
      Installing : ppl-0.10.2-11.el6.x86_64                                 4/15 
      Installing : cloog-ppl-0.15.7-1.2.el6.x86_64                          5/15 
      Installing : kernel-uek-headers-2.6.32-300.32.1.el6uek.x86_64         6/15 
      Installing : glibc-headers-2.12-1.80.el6_3.4.x86_64                   7/15 
      Installing : glibc-devel-2.12-1.80.el6_3.4.x86_64                     8/15 
      Installing : gcc-4.4.6-4.el6.x86_64                                   9/15 
      Installing : gcc-c++-4.4.6-4.el6.x86_64                               10/15 
      Installing : compat-libstdc++-33-3.2.3-69.el6.x86_64                  11/15 
      Installing : libaio-devel-0.3.107-10.el6.x86_64                       12/15 
      Installing : ksh-20100621-16.el6.x86_64                               13/15 
      Installing : compat-libcap1-1.10-1.x86_64                             14/15 
      Installing : oracle-rdbms-server-11gR2-preinstall-1.0-6.el6.x86_64    15/15 
      Verifying  : gcc-4.4.6-4.el6.x86_64                                   1/15
      Verifying  : compat-libcap1-1.10-1.x86_64                             2/15 
      Verifying  : ksh-20100621-16.el6.x86_64                               3/15 
      Verifying  : glibc-devel-2.12-1.80.el6_3.4.x86_64                     4/15 
      Verifying  : libaio-devel-0.3.107-10.el6.x86_64                       5/15 
      Verifying  : oracle-rdbms-server-11gR2-preinstall-1.0-6.el6.x86_64    6/15 
      Verifying  : gcc-c++-4.4.6-4.el6.x86_64                               7/15 
      Verifying  : glibc-headers-2.12-1.80.el6_3.4.x86_64                   8/15 
      Verifying  : libstdc++-devel-4.4.6-4.el6.x86_64                       9/15 
      Verifying  : compat-libstdc++-33-3.2.3-69.el6.x86_64                  10/15 
      Verifying  : mpfr-2.4.1-6.el6.x86_64                                  11/15 
      Verifying  : kernel-uek-headers-2.6.32-300.32.1.el6uek.x86_64         12/15 
      Verifying  : cpp-4.4.6-4.el6.x86_64                                   13/15 
      Verifying  : ppl-0.10.2-11.el6.x86_64                                 14/15 
      Verifying  : cloog-ppl-0.15.7-1.2.el6.x86_64                          15/15 
    

    Installed:
      oracle-rdbms-server-11gR2-preinstall.x86_64 0:1.0-6.el6
                           
    Dependency Installed:
      cloog-ppl.x86_64 0:0.15.7-1.2.el6                                             
      compat-libcap1.x86_64 0:1.10-1                                                
      compat-libstdc++-33.x86_64 0:3.2.3-69.el6                                     
      cpp.x86_64 0:4.4.6-4.el6                                                      
      gcc.x86_64 0:4.4.6-4.el6                                                      
      gcc-c++.x86_64 0:4.4.6-4.el6                                                  
      glibc-devel.x86_64 0:2.12-1.80.el6_3.4                                        
      glibc-headers.x86_64 0:2.12-1.80.el6_3.4                                      
      kernel-uek-headers.x86_64 0:2.6.32-300.32.1.el6uek                            
      ksh.x86_64 0:20100621-16.el6                                                  
      libaio-devel.x86_64 0:0.3.107-10.el6                                          
      libstdc++-devel.x86_64 0:4.4.6-4.el6                                          
      mpfr.x86_64 0:2.4.1-6.el6                                                     
      ppl.x86_64 0:0.10.2-11.el6
                                                        
    Complete!

     

    Listado 1: Instalación del RPM oracle-rdbms-server-11gR2-preinstall .
    La instalación de yum registra los mensajes relativos a los cambios del kernel en el archivo /var/log/oracle-rdbms-server-11gR2-preinstall/results/orakernel.log y confecciona copias de seguridad de la configuración actual del sistema en el directorio /var/log/oracle-rdbms-server-11gR2-preinstall/backup.

  7. Al llegar a este punto, el sistema está listo para la instalación de Oracle Database. Por ejemplo, para instalar Oracle Database 11g Versión 2, siga las instrucciones que se ofrecen en el capítulo 4, "Installing Oracle Database" (Instalación de Oracle Database), de la Database Installation Guide for Linux (Guía de instalación de Database para Linux).

Los siguientes son los pasos que seguí para instalar Oracle Database 11g Versión 2 en el entorno de prueba. Asegúrese de consultar toda la documentación y adoptar las prácticas recomendadas antes de instalarlo en su entorno de producción.

- Como usuario root, cree un directorio principal en un sistema de archivos que cuente con espacio suficiente para funcionar como ubicación de destino de los archivos descargados:

# mkdir /home/OraDB11g
# cd /home/OraDB11g

El espacio en disco necesario para el sistema de archivos varía en función del tipo específico de instalación, pero aproximadamente el doble del espacio que ocupan los archivos comprimidos o 5 GB son suficientes para alojar el software y los archivos de datos

- Descargue en este directorio de destino los archivos de medios desde la página Oracle Database Software Downloads (Descargas de software de Oracle Database) de Oracle Technology Network.

- Extraiga los archivos:

# unzip linux.x64_11gR2_database_1of2.zip
# unzip linux.x64_11gR2_database_2of2.zip 

 

- Inicie sesión como usuario oracle. Cambie de directorio a database y escriba el siguiente comando para ejecutar la herramienta Oracle Universal Installer:

$ cd /home/OraDB11g/database
$ ./runInstaller 

El instalador universal de Oracle ejecuta una cantidad de comprobaciones para verificar que los paquetes y versiones de SO requeridos estén instalados. Además, comprueba parámetros del kernel definidos por la instalación de oracle-rdbms-server-11gR2-preinstall. Durante la comprobación de la configuración del kernel, el instalador puede indicar que algunos valores son erróneos (failed); en ese caso, deberá investigar los errores señalados. Puede ocurrir, en algunos casos, que de todos modos sea posible seguir adelante con la instalación de la base de datos. Si revisa la configuración del kernel en /etc/sysctl.conf, observará que oracle-rdbms-server-11gR2-preinstall ha modificado y añadido los valores necesarios para asegurar que se cumpla con los requisitos mínimos, según se definen en el apartado 2.10.1, "Displaying and Changing Kernel Parameter Values" (Visualización y modificación de valores de parámetros del kernel), en el capítulo 2, "Oracle Database Preinstallation Requirements" (Requisitos de instalación previa de Oracle Database), en la Oracle Database Installation Guide 11g Release2 (11.2) for Linux (Guía de instalación de Oracle Database 11g, Versión 2 (11.2) para Linux). A continuación se incluye la lista de requisitos:

fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 4294967295
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 = 1048576

Si fuera necesario, puede (como root) modificar el archivo /etc/sysctl.conf para especificar una configuración en forma manual, por ejemplo:

# vi /etc/sysctl.conf 
# /sbin/sysctl -p 

El instalador universal de Oracle ejecuta comprobaciones adicionales, por ejemplo, verifica la versión de la glibc, la variable de entorno y la configuración de la ruta, comprueba que haya suficiente espacio en disco, memoria física y espacio de intercambio. Por lo general, con la instalación de oracle-rdbms-server-11gR2-preinstall se satisfacen todos los requisitos previos, de modo que se puede proceder directamente a instalar la base de datos.


Conclusión

Instalar los RPM oracle-rdbms-server-12cR1-preinstall y oracle-rdbms-server-11gR2-preinstall puede ahorrar tiempo a la hora de instalar Oracle Database 12c y 11g en Oracle Linux. Estos RPM resuelven la mayor parte de los requisitos previos a la instalación de Oracle Database, por lo que simplifican en gran medida el proceso de instalación.

Información adicional

A continuación se incluyen los recursos mencionados con anterioridad en el presente documento:

Y estos son algunos recursos adicionales de la biblioteca de documentación de Oracle Database (http://www.oracle.com/pls/db112/homepage). Los subapartados pertinentes de Oracle Database Installation Guide 11g Release 2 (11.2) for Linux (Guía de instalación de Oracle Database 11g, Versión 2 [11.2] para Linux) (http://download.oracle.com/docs/cd/E11882_01/install.112/e16763/toc.htm) con direcciones URL válidas son los siguientes:

Véase también la entrada de blog "Oracle RDBMS Server 11gR2 Pre-Install RPM for Oracle Linux 6 has been released" (Se ha publicado el RPM Oracle RDBMS Server 11 g V2 Pre-Install para Oracle Linux 6): https://blogs.oracle.com/linux/entry/oracle_rdbms_server_11gr2_pre
 


Ginny Henningsen se desempeña desde hace quince años como escritora independiente dedicada a desarrollar material suplementario y documentación técnica para empresas de alta tecnología. Con anterioridad, Ginny trabajó en Sun Microsystems, Inc., como ingeniera de sistemas en King of Prussia, Pensilvania, y Milwaukee, Wisconsin. Ginny obtuvo su título de grado en Carnegie-Mellon University y llevó a cabo una maestría en Ciencias de la Computación en Villanova University.

Michele Casey es Directora de Gestión de Producto de Oracle Linux. Trabaja desde 2006 como gerente de producto en relación con distribuciones comerciales de Linux y proyectos de fuente abierta. También se ha desempeñado como administradora de sistemas, gerente de proyectos e ingeniera de soporte técnico.