Após a notícia da certificação da versão 6 do Red Hat Enterprise Linux e do Oracle Enterprise Linux, baixei e executei uma instalação do banco.
E para minha surpresa, durante a instalação encontrei um pequeno bug que resolvi relatar.
A primeira impressão foi na instalação do Red Hat Enterprise Linux 6.2. Não sou expert em instalação, nem houve muito tempo para analisar todos os aspectos de instalação do Sistema Operacional, observei que a instalação padrão adiciona somente o pacote “@core” o que significa que somente 230 pacotes são instalados.
Enfim, com o sistema operacional instalado, decidi instalar pacotes suficientes para atender as dependências de instalação do Oracle Database e o acesso remoto para carregar o ambiente gráfico na minha máquina usando um servidor X para windows; também é possível instalar o vncserver, tudo depende da necessidade do momento.
Segue as fontes consultadas na Oracle para atender os requisitos do sistema operacional:
# DOC ID 1350000.1
# DOC ID 851598.1
# DOC ID 1441282.1
# DOC ID 1454982.1
Após a instalação do sistema operacional, instalei os seguintes pacotes para atender as dependências do Oracle.
# -- Dependencias # rpm -ivh /Packages/kernel-headers-2.6.32-220.el6.x86_64.rpm # rpm -ivh /Packages/glibc-headers-2.12-1.47.el6.x86_64.rpm # rpm -ivh /Packages/libgomp-4.4.6-3.el6.x86_64.rpm # rpm -ivh /Packages/ppl-0.10.2-11.el6.x86_64.rpm # rpm -ivh /Packages/cloog-ppl-0.15.7-1.2.el6.x86_64.rpm # rpm -ivh /Packages/mpfr-2.4.1-6.el6.x86_64.rpm # rpm -ivh /Packages/cpp-4.4.6-3.el6.x86_64.rpm # rpm -ivh /Packages/elfutils-libelf-devel-0.152-1.el6.x86_64.rpm # # -- Necessarios # rpm -ivh /Packages/compat-libstdc++-33-3.2.3-69.el6.x86_64.rpm # rpm -ivh /Packages/ksh-20100621-12.el6.x86_64.rpm # rpm -ivh /Packages/libaio-0.3.107-10.el6.x86_64.rpm # rpm -ivh /Packages/make-3.81-19.el6.x86_64.rpm # rpm -ivh /Packages/compat-libcap1-1.10-1.x86_64.rpm # rpm -ivh /Packages/glibc-devel-2.12-1.47.el6.x86_64.rpm # rpm -ivh /Packages/libaio-devel-0.3.107-10.el6.x86_64.rpm # rpm -ivh /Packages/libstdc++-devel-4.4.6-3.el6.x86_64.rpm # rpm -ivh /Packages/sysstat-9.0.4-18.el6.x86_64.rpm # rpm -ivh /Packages/gcc-4.4.6-3.el6.x86_64.rpm # rpm -ivh /Packages/gcc-c++-4.4.6-3.el6.x86_64.rpm # # -- Outros # rpm -ivh /Packages/zip-3.0-1.el6.x86_64.rpm # rpm -ivh /Packages/unzip-6.0-1.el6.x86_64.rpm # # -- Para carregar grafico remotamente # rpm -ivh /Packages/libX11-common-1.3-2.el6.noarch.rpm # rpm -ivh /Packages/libXau-1.0.5-1.el6.x86_64.rpm # rpm -ivh /Packages/libxcb-1.5-1.el6.x86_64.rpm # rpm -ivh /Packages/libX11-1.3-2.el6.x86_64.rpm # rpm -ivh /Packages/libXext-1.1-3.el6.x86_64.rpm # rpm -ivh /Packages/libICE-1.0.6-1.el6.x86_64.rpm # rpm -ivh /Packages/libSM-1.1.0-7.1.el6.x86_64.rpm # rpm -ivh /Packages/libXt-1.0.7-1.el6.x86_64.rpm # rpm -ivh /Packages/libXmu-1.0.5-1.el6.x86_64.rpm # rpm -ivh /Packages/xorg-x11-xauth-1.0.2-7.1.el6.x86_64.rpm
Segundo as dependências da Oracle, essa é a lista de pacotes necessários para a instalação:
binutils-2.20.51.0.2-5.11.el6
compat-libstdc++-33-3.2.3-69.el6 glibc-2.12-1.7.el6 ksh-20100621-12.el6 libaio-0.3.107-10.el6 libgcc-4.4.4-13.el6 libstdc++-4.4.4-13.el6 make-3.81-19.el6 compat-libcap1-1.10-1 gcc-4.4.4-13.el6 gcc-c++-4.4.4-13.el6 glibc-devel-2.12-1.7.el6 libaio-devel-0.3.107-10.el6 libstdc++-devel-4.4.4-13.el6 sysstat-9.0.4-11.el6
Após os ajustes do sistema operacional, iniciei a instalação do Oracle Database 11.2.0.3; acompanhe o processo.
1. Comando para instalação
2. Primeiro alerta, como o programa xdpyinfo não está instalado e também não está na lista de pacotes do Red Hat, resolvi continuar, pois não precisava testar o ambiente gráfico.
3. Adicionar conta para receber informações de segurança do produto.
4. Credenciais para download de atualização do produto.
5. Instalando somente o aplicativo; o banco fica para depois.
6. Instalando modo “single instance”.
7. Linguagem do banco.
8. Escolhendo a Enterprise Edition.
9. Parâmetros ORACLE_BASE e ORACLE_HOME previamente definidos no sistema operacional.
10. Definindo caminho do Inventory.
11. Definindo os grupos administrativos.
12. Verificação de dependências em progresso.
13. Nesse ponto temos o bug encontrado.
14. Buscando no suporte, encontrei o DOC ID 1454982.1, com o título Installing 11.2.0.3 64-bit (x86-64) on RHEL6 Reports That Packages “elfutils-libelf-devel-0.97” and “pdksh-5.2.14″ are missing (PRVF-7532) [ID 1454982.1], no qual encontrei a seguinte solução para o fato.
15. Após corrigido o problema, reiniciei a instalação e o problema foi solucionado, conforme tela abaixo.
16. Sumário da instalação.
17. Progresso da instalação.
18. Tela informando para executar scripts como usuário root.
19. Executando os scripts como usuário root.
20. Tela final de uma instalação bem sucedida.
Após o procedimento de instalação, tudo está funcionando bem.
[]s
Marcos A. Braga
Bom dia Marcos.
Já realizei a instalação com sucesso na minha máquina do SO Oracle Linux 6.4 e do SGBD Oracle Enterprise Linux 11gR2.
Porém, gostaria de saber se tu sabes alguma forma de realizar startup e shutdown automático na base toda vez que o computador ligar e desligar?
Grato.
Oi Renato,
Para ambiente Linux, uso um script que encontrei há tempos no metalink.
Para usá-lo, crie o script em /etc/init.d/oracle com o conteúdo abaixo.
Depois digite a seguinte sequência de comandos:
# cd /etc/init.d
# chmod +x oracle
# chkconfig –add oracle
Antes é necessário alterar a variável do arquivo /etc/oratab para “Y” porque esse script usa o dbstart e dbshut para abrir e fechar o banco.
Uma vez instalado, é possível administrar o startup e shutdown do banco usando o “ntsysv” ou o “chkconfig”.
Conteúdo do script /etc/init.d/oracle
#! /bin/bash
#
# description: Oracle auto start-stop script.
#
# chkconfig: 2345 99 10
#
# processname: oracle
# config: /etc/oratab
# pidfile: /var/run/oracle.pid
# Source function library.
. /etc/init.d/functions
RETVAL=0
ORA_OWNER=”oracle”
ORA_HOME=”/u01/oracle/product/11.2.0″
# See how we were called.
prog=”oracle”
start() {
echo -n $”Starting $prog: ”
su – $ORA_OWNER -c “$ORA_HOME/bin/dbstart $ORA_HOME”
#su – $ORA_OWNER -c “$ORA_HOME/bin/lsnrctl start listener_personalizado”
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/dbora return $RETVAL
}
stop() {
echo -n $”Stopping $prog: ”
su – $ORA_OWNER -c “$ORA_HOME/bin/dbshut $ORA_HOME”
#su – $ORA_OWNER -c “$ORA_HOME/bin/lsnrctl stop listener_personalizado”
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && rm -r /var/lock/subsys/dbora
return $RETVAL
}
restart() {
stop
start
}
case “$1″ in
start) start ;;
stop) stop ;;
restart) restart ;;
*) echo $”Usage: $0 {start|stop|restart}”
exit 1
;;
esac
exit $?