Simplificação das instalações do Oracle Database 12c e 11g no Oracle Linux 6

Postado em Julho 2014
Por Ginny Henningsen e atualizado por Michele Casey

Simplificação da instalação do Oracle Database 12c ou 11g no Oracle Linux 6 mediante a instalação do pacote RPM oracle-rdbms-server-12cR1-preinstall o oracle-rdbms-server-11gR2-preinstall, que executa diversas tarefas de forma automática, como instalação de pacotes de software requeridos, resolução de dependências de pacotes e alterações de parâmetros do kernel.

Apresentação dos RPM oracle-rdbms-server-12cR1-preinstall e oracle-rdbms-server-11gR2-preinstall para Oracle Linux
Antes de instalar o Oracle Database 12c ou 11g em um sistema, é necessário configurar o sistema operacional, pois o banco de dados requer certos pacotes de software, versões de pacotes e alterações dos parâmetros do kernel. (Consultar o manual de instalação do Oracle Database respectivo para conhecer os requisitos relativos a hardware, software e sistema operacional.)

Nota: Este artigo é válido para o Oracle Linux 6. Em artigo anterior, "How I Simplified Oracle Database Installation on Oracle Linux" (Simplificação da instalação do Oracle Database no Oracle Linux), é abordada a execução de uma tarefa similar em versões do Oracle Linux 5. Descobri que existe um modo extremamente simples de atender aos requisitos de instalação no Oracle Linux: Primeiro, instale o pacote RPM chamado oracle-rdbms-server-12cR1-preinstall ou o oracle-rdbms-server-11gR2-preinstall, dependendo de sua versão de banco de dados. Este RPM realiza vários passos de configuração prévia:

  • Faz o download e instala automaticamente pacotes de software e versões específicas de pacotes requeridas para a instalação do Oracle Grid Infrastructure e do Oracle Database 12c Versão 1 (12.1) ou 11g Versão 2 (11.2.0.3); as dependências de pacotes são resolvidas mediante capacidades yum ou up2date.
  • Criação do usuário oracle e os grupos oinstall (para OraInventory) e dba (para OSDBA), usados durante a instalação do banco de dados. (Por motivos de segurança, este usuário não tem senha predeterminada e não pode fazer login de maneira remota. Para permitir o login remoto, defina uma senha utilizando a ferramenta passwd.)
  • Alteração de parâmetros do kernel em /etc/sysctl.conf para mudar a configuração relativa a memória compartilhada, semáforos, quantidade máxima de descritores de arquivos, etc.
  • Definição de limites máximos e flexíveis para os recursos do shell em /etc/security/limits.conf, por exemplo, espaço de endereços de memória bloqueado, quantidade de arquivos abertos, quantidade de processos e tamanho de arquivos do núcleo.
  • Definição numa=off no kernel para máquinas x86_64.

Note que oracle-rdbms-server-12cR1-preinstall e oracle-rdbms-server-11gR2-preinstall analisam os arquivos /etc/sysctl.conf e /etc/security/limits.conf existentes e atualizam os valores só se for necessário para a instalação do banco de dados. Toda configuração previamente customizada e não relacionada com a instalação do banco de dados não sofre nenhuma alteração.

o Os pacotes RPM oracle-rdbms-server-12cR1-preinstall e oracle-rdbms-server-11gR2-preinstall podem ser obtidos através da rede Oracle Unbreakable Linux Network (ULN, que exige um contrato de suporte técnico), dos meios de distribuição Oracle Linux ou no repositório yum público da Oracle. Portanto, independentemente de seu sistema estar registrado na rede ULN para ter acesso a patches e suporte técnico da Oracle, é possível utilizar oracle-rdbms-server-12cR1-preinstall e oracle-rdbms-server-11gR2-preinstall para simplificar a instalação do banco de dados no Oracle Linux. Além disso, o repositório yum público da Oracle atualmente inclui todos os patches de segurança e para resolução de erros, garantindo a segurança e estabilidade dos sistemas mediante o acesso aos mais recentes updates de segurança e correções de erros.

Instalação do RPM oracle-rdbms-server-12cR1-preinstall o oracle-rdbms-server-11gR2-preinstall .
No que resta do artigo, descrevo os passos do procedimento que apliquei para instalar oracle-rdbms-server-11gR2-preinstall no Oracle Linux mediante o repositório yum público da Oracle. Os passos que se descrevem na seção seguinte podem ser utilizados para qualquer uma das versões do pacote RPM de pré-instalação. Parti de um sistema no qual é rodado o Oracle Linux Versão 6, Update 4 para x86_64, uma versão de 64 bits do Oracle Linux disponível para download em Oracle Software Delivery Cloud (cadastro e login requeridos). Em primeiro lugar, configurei um arquivo de configuração yum que apontava para o repositório correto e, depois, instalei o RPM oracle-rdbms-server-11gR2-preinstall desse repositório.
A seguir, são informados os passos requeridos para configurar um sistema para a posterior instalação do Oracle Database utilizando oracle-rdbms-server-11gR2-preinstall. Lembre que para o pacote oracle-rdbms-server-12cR1-preinstall devem ser seguidos os mesmos passos; só é necessário mudar o nome do pacote RPM no passo relativo à instalação de yum.

  1. Recupere o arquivo que configura as localizações de repositório como usuário autorizado (por exemplo, root):
  2. # cd /etc/yum.repos.d # wget //public-yum.oracle.com/public-yum-ol6.repo
  3. Com um editor de texto, modifique o arquivo substituindo o campo enabled=0 por enabled=1 para refletir os repositórios para a versão do sistema operacional do equipamento. A seguir, é incluído um fragmento de public-yum-old6.repo com as linhas modificadas em negrito.
    [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

    Como o sistema de destino roda o Oracle Linux Versão 6, Update 4 para x86_64, que instala o Oracle Unbreakable Enterprise Kernel de forma predeterminada, dois repositórios devem ser habilitados, [ol6_latest] e [ol6_UEK_latest].

  4. A seguir, instale o RPM oracle-rdbms-server-11gR2-preinstall com o comando yum install. Se estiver utilizando o Oracle Database 12c, deveria escrever yum install.
  5. A saída na Lista 1 mostra a comprovação de dependências que a instalação realiza e o posterior download dos pacotes 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!

    Lista 1: Instalação do RPM oracle-rdbms-server-11gR2-preinstall.
    A instalação de yum registra as mensagens relacionadas às mudanças do kernel no arquivo /var/log/oracle-rdbms-server-11gR2-preinstall/results/orakernel.log e realiza backups da configuração atual do sistema no diretório /var/log/oracle-rdbms-server-11gR2-preinstall/backup.

  6. Neste ponto, o sistema está pronto para a instalação do Oracle Database. Por exemplo, para instalar o Oracle Database 11g Versão 2, siga as instruções oferecidas no capítulo 4, "Installing Oracle Database" (Instalação do Oracle Database), do Database Installation Guide for Linux(Manual de instalação do Database para Linux). Os seguintes passos que realizei para instalar o Oracle Database 11g Versão 2 no ambiente de teste. Certifique-se de consultar toda a documentação e de adotar as melhores práticas antes de instalá-lo em seu ambiente de produção.

 - Como usuário root, crie um diretório principal em um sistema de arquivos com espaço suficiente para funcionar como localização de destino dos arquivos baixados:

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

O espaço em disco necessário para o sistema de arquivos varia em função do tipo específico de instalação, mas, aproximadamente o dobro do espaço ocupado pelos arquivos compactados ou 5 GB são suficientes para hospedar o software e os arquivos de dados.

- Faça o download neste diretório de destino dos arquivos de mídia da página Oracle Database Software Downloads (Downloads de software do Oracle Database) da Oracle Technology Network.

- Extraia os arquivos:

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

  - Faça o login como usuário oracle. Mude de diretório para database e digite o seguinte comando para rodar a ferramenta Oracle Universal Installer:

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

O instalador universal da Oracle roda uma quantidade de comprovações para verificar que os pacotes e versões de SO requeridos estejam instalados. Além disso, confere parâmetros do kernel definidos pela instalação de oracle-rdbms-server-11gR2-preinstall . Durante a verificação da configuração do kernel, o instalador pode informar que alguns valores são falhos (failed); nesse caso, deverá estudar os erros informados. Em alguns casos, pode acontecer que, mesmo assim, seja possível continuar com a instalação do banco de dados. Se você revisar a configuração do kernel em /etc/sysctl.conf, vai observar que oracle-rdbms-server-11gR2-preinstall modificou e adicionou os valores necessários para garantir o cumprimento dos requerimentos mínimos, conforme definidos na seção 2.10.1, "Displaying and Changing Kernel Parameter Values" (Visualização e modificação de valores de parâmetros do kernel), no capítulo 2, "Oracle Database Preinstallation Requirements" (Requerimentos de instalação prévia do Oracle Database), no Oracle Database Installation Guide 11g Release2 (11.2) for Linux (Manual de instalação do Oracle Database 11g, Versão 2 (11.2) para Linux). A seguir, inclui-se a 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

Se fosse necessário, você pode (como root) modificar o arquivo /etc/sysctl.conf para especificar uma configuração de forma manual, por exemplo:

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

El instalador universal da Oracle roda comprovações adicionais, por exemplo, verifica a versão da glibc, a variável de ambiente e a configuração do caminho, confere que o disco tenha suficiente espaço, memória física e espaço swap. Geralmente, com a instalação de oracle-rdbms-server-11gR2-preinstall são atendidos todos os requerimentos prévios, portanto, é possível proceder diretamente à instalação do banco de dados.

Conclusão

A instalação dos RPM oracle-rdbms-server-12cR1-preinstall e oracle-rdbms-server-11gR2-preinstall pode economizar tempo no momento de instalar o Oracle Database 12c e 11g no Oracle Linux. Estes RPM resolvem a maior parte dos requerimentos prévios à instalação do Oracle Database, simplificando em grande medida o processo de instalação. Informações adicionais

A seguir, incluem-se os recursos mencionados acima neste documento: 

E estes são alguns recursos adicionais da biblioteca de documentação do Oracle Database. As subseções pertinentes do Oracle Database Installation Guide 11Release 2 (11.2) for Linux (Manual de instalação do Oracle Database 11g, Versão 2 [11.2] para Linux)(//download.oracle.com/docs/cd/E11882_01/install.112/e16763/toc.htm) com endereços URL válidos são os seguintes:

  • "About the Oracle RDBMS Pre-Install and Oracle Validated RPMs" (Sobre o RDBMS para instalação prévia do Oracle e dos RPM da Oracle validados), capítulo 1, "Overview of Oracle Database Installation" (Descrição geral da instalação do Oracle Database): //download.oracle.com/docs/cd/E11882_01/install.112/e16763/install_overview.htm#BABDBHCJ
  • Capítulo 2, "Oracle Database Preinstallation Requirements" (Requerimentos prévios para a instalação do Oracle Database): //download.oracle.com/docs/cd/E11882_01/install.112/e16763/pre_install.htm#BABFDGHJ
  • "Downloading Oracle Software" (Download de software Oracle), do capítulo 4, "Installing Oracle Database" (Instalação do Oracle Database), que descreve como fazer o download de arquivos de instalação do web site da Oracle Technology Network: //docs.oracle.com/cd/E11882_01/install.112/e16763/inst_task.htm#autoId6

Ver também a entrada de blog "Oracle RDBMS Server 11gR2 Pre-Install RPM for Oracle Linux 6 has been released" (Foi publicado o RPM Oracle RDBMS Server 11 V2 Pre-Install para Oracle Linux 6): //blogs.oracle.com/linux/entry/oracle_rdbms_server_11gr2_pre

Ginny Henningsen trabalha há quinze anos como escritora independente voltada para o desenvolvimento de material suplementar e documentação técnica para empresas de alta tecnologia. Anteriormente, Ginny trabalhou na Sun Microsystems, Inc., como engenheira de sistemas na King of Prussia, Pensilvania, e Milwaukee, Wisconsin. Ginny é formada pela Carnegie-Mellon University e fez mestrado em Ciências da Computação na Villanova University.

Michele Casey é Diretora de Gestão de Produto da Oracle Linux. Tem trabalhado desde 2006 como gerente de produto em relação com distribuições comerciais do Linux e projetos de fonte aberta. Também se desempenhou como gerente de sistemas, gerente de projetos e engenheira de suporte técnico.