Simplificação das instalações do Oracle Database 12c e 11g no Oracle Linux 6
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.
- Recupere o arquivo que configura as localizações de repositório como usuário autorizado (por exemplo, root):
- 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].
- 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.
- 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.
# cd /etc/yum.repos.d # wget //public-yum.oracle.com/public-yum-ol6.repo
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.
- 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 adicionaisA seguir, incluem-se os recursos mencionados acima neste documento:
- Unbreakable Linux Network (ULN) da Oracle: //linux.oracle.com
- Repositório yum público da Oracle: //public-yum.oracle.com
- Oracle Software Delivery Cloud (cadastro ou login requerido): //edelivery.oracle.com/linux
- Capítulo 4, "Installing Oracle Database" (Instalação do Oracle Database), de Database Installation Guide for Linux (Manual de instalação do Database para Linux): //docs.oracle.com/cd/E11882_01/install.112/e24321/inst_task.htm#BABBBHJH
- Página Oracle Database Software Downloads (Downloads de software do Oracle Database) na Oracle Technology Network: //www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html
E estes são alguns recursos adicionais da biblioteca de documentação do Oracle Database. As subseções pertinentes do Oracle Database Installation Guide 11g Release 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 g 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.