Google+ (Google Plus)

Ajude a divulgar o MyTraceLog clicando no botão +1.

28 de junho de 2011

Instalando o Oracle 11g R2 na VM CentOS 5.6

Neste artigo é apresentado como instalar o Oracle 11g Release 2 no CentOS 5.6 em um ambiente virtualizado, descrevendo todo o processo desde a criação do usuário oracle até o Oracle Universal Installer. Utilizou-se o Virtualbox para a criação da máquina virtual. Todo procedimento aqui apresentado pode ser aplicado também para uma máquina real.

Para criar o ambiente virtualizado, leia os seguintes artigos:
Faça o download do Oracle Database 11g Release 2 (11.2.0.1.0) for Linux x86-64. O instalador do pode ser encontrado o site da Oracle e está divido em duas partes:
  • linux.x64_11gR2_database_1of2.zip (1,15 GB)
  • linux.x64_11gR2_database_1of2.zip (1,03 GB)
Antes de instalar o Oracle, existe todo um processo de preparação do ambiente:
  • Instalação do pacote oracle-validated
    • Criação do usuário e grupos
    • Configuração dos parâmetros de kernel
    • Configuração dos limites do SO
    • Configuração do parâmetro de boot
    • Configuração dos parâmetros de modulo
  • Instalação e atualização dos pacotes requeridos
  • Criação dos diretórios
  • Configuração das variáveis de ambiente
  • Configuração do controle de acesso
  • Instalação do banco de dados Oracle

Instalação do pacote oracle-validated

O pacote oracle-validated é um RPM que de modo geral verifica e configura os parâmetros do sistema baseado nas recomendações da Oracle. Cria usuário e grupos, configura parâmetros de kernel, configura limites do SO, configura parâmetros de boot e configura parâmetros de modulo. Modifica os seguintes arquivos:
  • /etc/sysctl.conf
  • /etc/security/limits.conf
  • /etc/grub/menu.lst
  • /etc/modprobe.conf
Nossa VM possui dois usuários: root (super usuário) e mytracelog (usuário comum). Trabalharemos sempre com o usuário comum, caso haja necessidade trocaremos para o super usuário através do comando su -.
  1. Abra o terminal com o usuário comum, e troque para o super usuário:
  2. [mytracelog@mytracelog ~]$ su -
    
  3. Atualize o sistema:
  4. [root@mytracelog ~]# yum update
    
  5. Reinicie o sistema:
  6. [root@mytracelog ~]# init 6
    
  7. Faça do download do pacote:
  8. [root@mytracelog ~]# wget http://oss.oracle.com/el5/oracle-validated/oracle-validated-1.0.0-24.el5.x86_64.rpm
    
  9. Importe a assinatura:
  10. [root@mytracelog ~]# rpm --import http://oss.oracle.com/el5/RPM-GPG-KEY-oracle
    
  11. Utilize o YUM para instalar:
  12. [root@mytracelog ~]# yum localinstall oracle-validated-1.0.0-24.el5.x86_64.rpm
    
  13. A instalação executa automaticamente o script /etc/sysconfig/oracle-validated/oracle-validated-verify. Confira o log:
  14. [root@mytracelog ~]# vi /var/log/oracle-validated/results/orakernel.log
    
  15. Arquivo orakernel.log:
  16. Adding group oinstall with gid 54321
    Adding group dba
    Adding user oracle with user id 54321, initial login group oinstall, supplementary group dba and  home directory /home/oracle
    Changing ownership of /home/oracle to oracle:oinstall
    Creating oracle user passed
    
    Verifying  kernel parameters as per Oracle recommendations...
    fs.file-max             6815744
    kernel.msgmni           2878
    kernel.msgmax           8192
    kernel.msgmnb           65536
    kernel.sem              250 32000 100 142
    kernel.shmmni           4096
    kernel.shmall           1073741824
    kernel.shmmax           4398046511104
    kernel.sysrq            1
    net.core.rmem_default           262144
    net.core.rmem_max               4194304
    net.core.wmem_default           262144
    net.core.wmem_max               1048576
    fs.aio-max-nr           3145728
    net.ipv4.ip_local_port_range            9000 65500
    vm.min_free_kbytes              51200
    Setting kernel parameters as per oracle recommendations...
    Altered file /etc/sysctl.conf
    Original file backed up at /etc/sysctl.conf.orabackup
    Verifying & setting of kernel parameters passed
    
    Verifying oracle user OS limits as per Oracle recommendations...
    oracle  soft    nofile          131072
    oracle  hard    nofile          131072
    oracle  soft    nproc           131072
    oracle  hard    nproc           131072
    oracle  soft    core            unlimited
    oracle  hard    core            unlimited
    oracle  soft    memlock         50000000
    oracle  hard    memlock         50000000
    Setting oracle user OS limits as per Oracle recommendations...
    Altered file /etc/security/limits.conf
    Original file backed up at /etc/security/limits.conf.orabackup
    Verifying & setting of user limits passed
    
    Verifying kernel boot parameters as per Oracle recommendations...
    old boot params: kernel /vmlinuz-2.6.18-238.12.1.el5 ro root=/dev/VolGroup00/LogVol00 rhgb quiet, new boot params: kernel /vmlinuz-2.6.18-238.12.1.el5 ro root=/dev/VolGroup00/LogVol00 rhgb quiet numa=off
    
    old boot params: kernel /vmlinuz-2.6.18-238.el5 ro root=/dev/VolGroup00/LogVol00 rhgb quiet, new boot params: kernel /vmlinuz-2.6.18-238.el5 ro root=/dev/VolGroup00/LogVol00 rhgb quiet numa=off
    
    Setting kernel boot parameters as per Oracle recommendations...
    Boot parameters will be effected on next reboot
    Altered file /boot/grub/grub.conf
    Original file backed up at /boot/grub/grub.conf.orabackup
    Verifying & setting of boot parameters passed
    
    Verifying module parameters as per Oracle recommendations...
    Setting module parameters as per Oracle recommendations...
    Altered file /etc/modprobe.conf
    Original file backed up at /etc/modprobe.conf.orabackup
    e1000 settings modified to include FlowControl=1
    Jun 25 20:59:12 mytracelog yum: Installed: gcc-4.1.2-50.el5.x86_64
    Jun 25 20:59:13 mytracelog yum: Installed: gcc-c++-4.1.2-50.el5.x86_64
    Jun 25 20:59:16 mytracelog yum: Installed: compat-gcc-34-c++-3.4.6-4.1.x86_64
    Jun 25 20:59:19 mytracelog yum: Installed: unixODBC-devel-2.2.11-7.1.i386
    Jun 25 20:59:19 mytracelog yum: Installed: elfutils-libelf-devel-0.137-3.el5.x86_64
    Verifying & setting of module parameters passed
    
    Taking a backup of old config files under /var/log/oracle-validated/backup/Jun-25-2011-20-59-20
    
  17. Adicione a seguinte linha no arquivo /etc/pam.d/login, caso não exista:
  18. session    required     pam_limits.so
    [root@mytracelog ~]# vi /etc/pam.d/login
    [root@mytracelog ~]# echo '# oracle' >> /etc/pam.d/login
    [root@mytracelog ~]# echo 'session    required     pam_limits.so' >> /etc/pam.d/login
    
  19. Reinicie o sistema:
  20. [root@mytracelog ~]# init 6
    
  21. Logue com o usuário oracle e senha oracle, e mude a senha:
  22. [oracle@mytracelog ~]$ passwd
    
  23. Confira se o usuário e os grupos foram criados corretamente:
  24. [oracle@mytracelog ~]$ tail -1 /etc/passwd
    oracle:x:54321:54321::/home/oracle:/bin/bash
    [oracle@mytracelog ~]$ tail -2 /etc/group
    oinstall:x:54321:
    dba:x:54322:oracle
    [oracle@mytracelog ~]$ id
    uid=54321(oracle) gid=54321(oinstall) grupos=54321(oinstall),54322(dba)
    

Instalação e atualização do pacotes requeridos

Os pacotes requeridos são:
  • binutils-2.17.50.0.6
  • compat-libstdc++-33-3.2.3
  • compat-libstdc++-33-3.2.3 (32 bit)
  • elfutils-libelf-0.125
  • elfutils-libelf-devel-0.125
  • gcc-4.1.2
  • gcc-c++-4.1.2
  • glibc-2.5-24
  • glibc-2.5-24 (32 bit)
  • glibc-common-2.5
  • glibc-devel-2.5
  • glibc-devel-2.5 (32 bit)
  • glibc-headers-2.5
  • ksh-20060214
  • libaio-0.3.106
  • libaio-0.3.106 (32 bit)
  • libaio-devel-0.3.106
  • libaio-devel-0.3.106 (32 bit)
  • libgcc-4.1.2
  • libgcc-4.1.2 (32 bit)
  • libstdc++-4.1.2
  • libstdc++-4.1.2 (32 bit)
  • libstdc++-devel 4.1.2
  • make-3.81
  • numactl-devel-0.9.8.x86_64
  • sysstat-7.0.2
  • unixODBC-2.2.11
  • unixODBC-2.2.11 (32 bit)
  • unixODBC-devel-2.2.11
  • unixODBC-devel-2.2.11 (32 bit)
  • pdksh-5.2.14
  • expat-1.95.7
  1. Verifique os pacotes requeridos pelo script oracle-package-requeriments-verify.sh:
  2. [root@mytracelog ~]# ./oracle-package-requeriments-verify.sh
    
  3. Script oracle-package-requeriments-verify.sh:
  4. #!/bin/bash
    # script: oracle-package-requeriments-verify.sh
    # autor: sakamoto
    # site: http://mytracelog.blogspot.com
    # data: 2011-06-26
    # versao: 1.0
    # alvo: oracle 11gR2 x86_64 & centos 5.6 x86_64
    clear
    echo '+----------------------------------------+'
    echo '| Oracle Package Requeriments Verify 1.0 |'
    echo '| Para:                                  |'
    echo '|    Oracle 11g Release 2 x86_64         |'
    echo '|    CentOS 5.6 x86_64                   |'
    echo '+----------------------------------------+'
    echo ''
    echo 'binutils-2.17.50.6 (x86_64)'
    rpm -q binutils.x86_64
    echo ''
    echo 'compat-libstdc++-33-3.2.3 (x86_64)'
    rpm -q compat-libstdc++-33.x86_64
    echo ''
    echo 'compat-libstdc++-33-3.2.3 (i386)'
    rpm -q compat-libstdc++-33.i386
    echo ''
    echo 'elfutils-libelf-0.125 (x86_64)'
    rpm -q elfutils-libelf.x86_64
    echo ''
    echo 'elfutils-libelf-devel-0.125 (x86_64)'
    rpm -q elfutils-libelf-devel.x86_64
    echo ''
    echo 'gcc-4.1.2 (x86_64)'
    rpm -q gcc.x86_64
    echo ''
    echo 'gcc-c++-4.1.2 (x86_64)'
    rpm -q gcc-c++.x86_64
    echo ''
    echo 'glibc-2.5-24 (x86_64)'
    rpm -q glibc.x86_64
    echo ''
    echo 'glibc-2.5-24 (i686)'
    rpm -q glibc.i686
    echo ''
    echo 'glibc-common-2.5 (x86_64)'
    rpm -q glibc-common.x86_64
    echo ''
    echo 'glibc-devel-2.5 (x86_64)'
    rpm -q glibc-devel.x86_64
    echo ''
    echo 'glibc-devel-2.5 (i386)'
    rpm -q glibc-devel.i386
    echo ''
    echo 'glibc-headers-2.5 (x86_64)'
    rpm -q glibc-headers.x86_64
    echo ''
    echo 'ksh-20060214 (x86_64)'
    rpm -q ksh.x86_64
    echo ''
    echo 'libaio-0.3.106 (x86_64)'
    rpm -q libaio.x86_64
    echo ''
    echo 'libaio-0.3.106 (i386)'
    rpm -q libaio.i386
    echo ''
    echo 'libaio-devel-0.3.106 (x86_64)'
    rpm -q libaio-devel.x86_64
    echo ''
    echo 'libaio-devel-0.3.106 (i386)'
    rpm -q libaio-devel.i386
    echo ''
    echo 'libgcc-4.1.2 (x86_64)'
    rpm -q libgcc.x86_64
    echo ''
    echo 'libgcc-4.1.2 (i386)'
    rpm -q libgcc.i386
    echo ''
    echo 'libstdc++-4.1.2 (x86_64)'
    rpm -q libstdc++.x86_64
    echo ''
    echo 'libstdc++-4.1.2 (i386)'
    rpm -q libstdc++.i386
    echo ''
    echo 'libstdc++-devel 4.1.2 (x86_64)'
    rpm -q libstdc++.x86_64
    echo ''
    echo 'make-3.81 (x86_64)'
    rpm -q make.x86_64
    echo ''
    echo 'numactl-devel-0.9.8.x86_64 (x86_64)'
    rpm -q numactl-devel.x86_64
    echo ''
    echo 'sysstat-7.0.2 (x86_64)'
    rpm -q sysstat.x86_64
    echo ''
    echo 'unixODBC-2.2.11 (x86_64)'
    rpm -q unixODBC.x86_64
    echo ''
    echo 'unixODBC-devel-2.2.11 (x86_64)'
    rpm -q unixODBC-devel.x86_64
    echo ''
    echo 'unixODBC-devel-2.2.11 (i386)'
    rpm -q unixODBC-devel.i386
    echo ''
    echo 'pdksh-5.2.14 (x86_64)'
    rpm -q pdksh.x86_64
    echo ''
    echo 'expat-1.95.7 (x86_64)'
    rpm -q expat.x86_64
    echo ''
    echo '+---------------------------------+'
    echo '| Mytracelog - Registro de um DBA |'
    echo '| http://mytracelog.blogspot.com  |'
    echo '+---------------------------------+'
    
  5. Caso algum pacote não esteja instalado ou esteja desatualizado, utilize o YUM:
  6. [root@mytracelog ~]# yum install < pacote >
    
Para verificar um pacote individualmente:
  • 64 bit
  • [root@mytracelog ~]# rpm -q < pacote >.x86_64
    
  • 32 bit
  • [root@mytracelog ~]# rpm -q < pacote >.i386
    [root@mytracelog ~]# rpm -q < pacote >.i686
    
Exemplos:
[root@mytracelog ~]# rpm -q glibc-devel.x86_64
[root@mytracelog ~]# rpm -q glibc-devel.i386
[root@mytracelog ~]# rpm -q glibc.i686



Criação dos diretórios

  1. Seguindo as recomendações do padrão OFA (Optimal Flexible Architecture), crie o diretório:
  2. [root@mytracelog ~]# mkdir -p /u01/app/
    
  3. Atribua como dono do diretório o usuário oracle:
  4. [root@mytracelog ~]# chown -R oracle:oinstall /u01/app/
    
  5. Defina as permissões:
  6. [root@mytracelog ~]# chmod -R 775 /u01/app/
    

Configuração das variáveis de ambiente

  1. Adicione as seguintes linhas ao arquivo /home/orcle/.bash_profile com o usuário oracle:
  2. umask 022
    DISPLAY=:0.0; export DISPLAY
    TMP=/tmp; export TMP
    TMPDIR=$TMP; export TMPDIR
    ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
    ORACLE_SID=mytracelog; export ORACLE_SID
    ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1; export ORACLE_HOME
    ORACLE_OWNER=oracle; export ORACLE_OWNER
    PATH=$PATH:$ORACLE_HOME/bin; export PATH
    
    [oracle@mytracelog ~]$ echo '# oracle' >> /home/oracle/.bash_profile
    [oracle@mytracelog ~]$ echo 'umask 022' >> /home/oracle/.bash_profile
    [oracle@mytracelog ~]$ echo 'DISPLAY=:0.0; export DISPLAY' >> /home/oracle/.bash_profile
    [oracle@mytracelog ~]$ echo 'TMP=/tmp; export TMP' >> /home/oracle/.bash_profile
    [oracle@mytracelog ~]$ echo 'TMPDIR=$TMP; export TMPDIR' >> /home/oracle/.bash_profile
    [oracle@mytracelog ~]$ echo 'ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE' >> /home/oracle/.bash_profile
    [oracle@mytracelog ~]$ echo 'ORACLE_SID=mytracelog; export ORACLE_SID' >> /home/oracle/.bash_profile
    [oracle@mytracelog ~]$ echo 'ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1; export ORACLE_HOME' >> /home/oracle/.bash_profile
    [oracle@mytracelog ~]$ echo 'ORACLE_OWNER=oracle; export ORACLE_OWNER' >> /home/oracle/.bash_profile
    [oracle@mytracelog ~]$ echo 'PATH=$PATH:$ORACLE_HOME/bin; export PATH' >> /home/oracle/.bash_profile
    
    A variável $ORACLE_SID é o nome do base de dados que você irá criar, neste caso, utilize mytracelog.
  3. Recarregue as variáveis de ambiente:
  4. [oracle@mytracelog ~]$ . /home/oracle/.bash_profile
    

Configuração do controle de acesso

  1. Configure o controle de acesso como root:
  2. [root@mytracelog ~]# xhost +
    

Instalação do banco de dados Oracle

Para fazer a instalação utilize o usuário oracle, não use o root neste momento.
  1. Execute unset para as variavéis $ORACLE_HOME e $TNS_ADMIN
  2. [oracle@mytracelog ~]$ unset ORACLE_HOME
    [oracle@mytracelog ~]$ unset TNS_ADMIN
    
  3. Localize o instalador do Oracle, e descompacte os dois arquivo na mesma pasta:
  4. [oracle@mytracelog ~]$ ls
    Desktop  linux.x64_11gR2_database
    [oracle@mytracelog ~]$ cd linux.x64_11gR2_database
    [oracle@mytracelog linux.x64_11gR2_database]$ ls
    linux.x64_11gR2_database_1of2.zip  linux.x64_11gR2_database_2of2.zip
    [oracle@mytracelog linux.x64_11gR2_database]$ unzip linux.x64_11gR2_database_1of2.zip
    [oracle@mytracelog linux.x64_11gR2_database]$ unzip linux.x64_11gR2_database_2of2.zip
    
  5. Inicie o Oracle Universal Installer:
  6. [oracle@mytracelog linux.x64_11gR2_database]$ ls
    database  linux.x64_11gR2_database_1of2.zip  linux.x64_11gR2_database_2of2.zip
    [oracle@mytracelog linux.x64_11gR2_database]$ cd database
    [oracle@mytracelog database]$ ./runInstaller
    
  7. Configure o email para receber informações sobre questões de segurança.
  8. oracle01.png
  9. Selecione a opção Instalar somente software do banco de dados.
  10. oracle02.png
  11. Selecione a opção Instalação do banco de dados de instância única.
  12. oracle03.png
  13. Selecione os idiomas desejados.
  14. oracle04.png
  15. Selecione a opção Enterprise Edition (4,29GB).
  16. oracle05.png
  17. Mantenha Oracle base como /u01/app/oracle e edite a Localização do Software para /u01/app/oracle/product/11.2.0/db_1.
  18. oracle06.png
  19. Mantenha Diretório de Inventário como /u01/app/oraInventory e o Nome do Grupo oraInventory como oinstall.
  20. oracle07.png
  21. Mantenha Grupo de Administração do Banco de Dados(OSDBA) como dba e mude o Grupo de Operador de Banco de Dados(OSOPER) para dba também.
  22. oracle08.png
  23. É feito a verificação de requisitos mínimos. Caso você seguiu todos os passo até agora, há grande chances de não encontrar nenhum erro.
  24. oracle09.png
  25. Nesta tela é apresentado um resumo, click em Finalizar para iniciar o processo de instalação.
  26. oracle10.png
  27. Processo de instalação em andamento.
  28. oracle11.png
  29. No final do processo de instalação é necessário executar dois script como root, abra um terminal e execute esses comandos, depois volte para a tela e dê OK.
  30. [mytracelog@mytracelog ~]$ su -
    [root@mytracelog ~]# . /u01/app/oraInventory/orainstRoot.sh
    [root@mytracelog ~]# . /u01/app/oracle/product/11.2.0/db_1/root.sh
    
    oracle12.png
  31. Instalação efetuada com sucesso! Click em Fechar.
  32. oracle13.png
Oracle 11g Release 2 finalmente instalado! O próximo passo é criar um banco de dados via DBCA, assunto que será apresentado em um outro artigo. Para concluir vimos que a instalação do Oracle via Oracle Universal Installer é bem simples, mas existe todo um processo de configuração e preparação do ambiente Linux que antecede a instalação.

Gostou do artigo? Ajude a divulgá-lo clicando no botão +1

Related Posts Plugin for WordPress, Blogger...
 

FeedBurner

 
Voltar ao Topo