Instalação do Oracle RAC 10g Release 2 – Parte 1: Pré-requisitos
Instalação do Oracle RAC 10g Release 2 – Parte 2: Criação da VM
Instalação do Oracle RAC 10g Release 2 – Parte 3: Instalação do Linux
===================================
Olá pessoal!
Vimos no último artigo como instalar o Linux.
Pois bem, agora precisamos configurar o nosso sistema operacional para atender os pré-requisitos necessários para instalar o software Oracle de banco de dados e clusterização.
Os pré-requisitos são citados na Documentação Oficial:
- Database Installation Guide for Linux x86;
- Database Oracle Clusterware and Oracle Real Application Clusters Installation Guide for Linux.
No entanto, quando o software de banco de dados 10g Release 2 foi lançado, ainda não estava disponível no mercado o Red Hat Enterprise Linux 5. Por esse motivo, nos documentos acima, essa versão de sistema operacional não é citada. Somente é possível encontrar esses pré-requisitos no Metalink (Oracle Support). Para acesso ao Metalink, é necessário ter um contrato de suporte junto à Oracle (CSI). No Metalink, é possível encontrar notas de suporte atualizadas para as versões de banco ainda suportadas pela Oracle.
A Nota 419646.1 cita os pré-requisitos necessários para instalar o Oracle 10g Release 2 no Red Hat Enterprise Linux 5 32bit.
Vamos lá, para os pacotes de sistema operacional (os RPM’s), a lista dos pré-requisitos é a seguinte:
- binutils-2.17.50.0.6-2.el5;
- compat-libstdc++-33-3.2.3-61;
- elfutils-libelf-0.125-3.el5;
- elfutils-libelf-devel-0.125;
- gcc-4.1.1-52;
- gcc-c++-4.1.1-52;
- glibc-2.5-12;
- glibc-common-2.5-12;
- glibc-devel-2.5-12;
- glibc-headers-2.5-12;
- libaio-0.3.106;
- libaio-devel-0.3.106;
- libgcc-4.1.1-52;
- libstdc++-4.1.1 ;
- libstdc++-devel-4.1.1-52.e15;
- make-3.81-1.1;
- sysstat-7.0.0;
- unixODBC-2.2.11;
- unixODBC-devel-2.2.11.
Para pesquisar se temos os pacotes, uma das melhores maneiras é utilizando a seguinte sintaxe, com o binário rpm com o usuário root:
rpm -qa --queryformat "%{NAME}-%{VERSION}.%{RELEASE} (%{ARCH})\n" | grep package_name
Como exemplo, vou pesquisar o pacote binutils:
rpm -qa --queryformat "%{NAME}-%{VERSION}.%{RELEASE} (%{ARCH})\n" | grep binutils
A saída do comando será:
binutils-2.17.50.0.6.9.el5 (i386)
De acordo com a lista acima, e com a instalação do sistema operacional realizada, os únicos pacotes que ainda precisamos instalar são os seguintes:
elfutils-libelf-devel-0.125; libaio-devel-0.3.106; unixODBC-2.2.11; unixODBC-devel-2.2.11.
Para instalar esses pacotes, primeiramente devemos apontar na Console da VMWare que essa máquina virtual utilizará a imagem ISO do Linux:
Após isso, deveremos montar o DVD no sistema operacional, acessar o DVD e instalar os pacotes restantes:
[root@mvrac1 ~]# mount /dev/hdc /media mount: block device /dev/hdc is write-protected, mounting read-only [root@mvrac1 ~]# cd /media/Server/ [root@mvrac1 Server]# rpm -ivh elfutils-libelf-devel* warning: elfutils-libelf-devel-0.137-3.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159 Preparing... ############################### [100%] 1:elfutils-libelf-devel-s############################### [ 50%] 2:elfutils-libelf-devel ############################### [100%] [root@mvrac1 Server]# rpm -ivh libaio-devel* warning: libaio-devel-0.3.106-3.2.i386.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159 Preparing... ############################### [100%] 1:libaio-devel ############################### [100%] [root@mvrac1 Server]# rpm -ivh unixODBC* warning: unixODBC-2.2.11-7.1.i386.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159 Preparing... ############################### [100%] 1:unixODBC ############################### [ 33%] 2:unixODBC-devel ############################### [ 67%] 3:unixODBC-kde ############################### [100%]
Pronto! Uma parte dos pré-requisitos foi concluída!
O próximo passo serão os parâmetros de kernel.
Os seguintes parâmetros precisam ser adicionados ao arquivo de configuração /etc/sysctl.conf
kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 net.ipv4.ip_local_port_range = 9000 65500 net.core.rmem_default = 1048576 net.core.rmem_max = 1048576 net.core.wmem_default = 262144 net.core.wmem_max = 262144
Após colocar esses parâmetros no arquivo acima especificado, para efetivar os parâmetros no sistema operacional, o seguinte comando deverá ser executado como root:
sysctl -p
Agora, faremos a criação dos grupos e usuário no sistema operacional. Para o ambiente com Oracle RAC, a Oracle solicita que todos os usuários e grupos envolvidos na instalação do software Oracle, possuam os mesmos ID’s em todas as máquinas. Por isso, os grupos oinstall, dba e o usuário oracle serão criados da seguinte forma:
groupadd -g 1521 oinstall groupadd -g 1522 dba useradd -g oinstall -G dba -u 1521 oracle
A senha do usuário oracle deverá ser definida:
[root@mvrac1 Server]# passwd oracle Changing password for user oracle. New UNIX password: BAD PASSWORD: it is based on a dictionary word Retype new UNIX password: passwd: all authentication tokens updated successfully
Com os grupos e usuário criados, agora os diretórios deverão ser criados:
mkdir -p /u01/app/oracle/oraInventory mkdir -p /u01/app/oracle/product/10.2.0/crs mkdir -p /u01/app/oracle/product/10.2.0/db_1 chown -R oracle:oinstall /u01
Num ambiente corporativo, é recomendado instalar um Oracle Home para o ASM separadamente do Oracle Home do banco de dados. Como estamos num ambiente virtualizado, utilizarei o ASM e o banco de dados no mesmo Oracle Home.
Agora, o arquivo /etc/security/limits.conf deverá ser editado e as seguintes linhas deverão ser adicionadas:
oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536
O próximo arquivo a ser editado é o /etc/pam.d/login:
session required pam_limits.so
O próximo arquivo a ser editado é o /etc/profile:
if [ $USER = "oracle" ]; then ulimit -u 16384 ulimit -n 65536 fi
O módulo hangcheck-timer deverá ser carregado no kernel. Além disso, ele deverá ser carregado automaticamente quando o servidor for iniciado novamente. Num próximo artigo eu definirei em detalhes sobre o que é o hangcheck-timer. Editar o arquivo /etc/rc.d/rc.local e inserir a seguinte linha no final arquivo:
/sbin/insmod /lib/modules/2.6.18-128.el5/kernel/drivers/char/hangcheck-timer.ko hangcheck_tick=1 hangcheck_margin=10 hangcheck_reboot=1
Após isso, executar o arquivo e verificar se o módulo foi carregado:
[root@mvrac1 ~]# /etc/rc.d/rc.local [root@mvrac1 ~]# lsmod |grep hangcheck hangcheck_timer 8025 0
Outro ponto importante num ambiente clusterizado, é o horário dos servidores. Como os servidores vão “hospedar” o mesmo banco de dados, é importante que o horário desses servidores estejam sincronizados. Por este motivo, é recomendado utilizar um servidor NTP (Network Time Protocol). Muitas empresas têm servidores NTP internamente, na sua própria rede, e na grande maioria das vezes, esses servidores NTP apontam para um servidor NTP externo, muito preciso, brasileiro, que é o servidor da Rede Nacional de Ensino e Pesquisa (RNP).
Se a empresa não tiver um servidor NTP interno, e os servidores de banco de dados conseguirem acessar a Internet, basta colocar a seguinte informação na crontab do usuário root no servidor de banco de dados:
* * * * * /usr/sbin/ntpdate ntp.cais.rnp.br >/dev/null 2>/dev/null
Com isso, o servidor sempre terá a hora sincronizada.
Para garantir que o serviço está OK, ou seja, que o servidor de banco de dados consegue utilizar o binário ntpdate para acessar o servidor da RNP, basta executar o seguinte comando como root:
[root@mvrac1 ~]# ntpdate ntp.cais.rnp.br 18 Feb 00:06:46 ntpdate[23646]: step time server 200.144.121.33 offset 90541.348582 sec
O próximo passo é configurar o arquivo /etc/hosts do servidor. Nesse arquivo, teremos a configuração de todos os servidores que farão parte do cluster:
# ======================================== # Arquivo /etc/hosts configurado para utilizacao do Oracle RAC # Configurado por Marcus Vinicius # 18/02/2010 # ======================================== # Localhost 127.0.0.1 localhost.localdomain localhost # Oracle RAC 10g # ----------------- # Rede Publica 172.23.10.11 mvrac1.viniciusdba.com.br mvrac1 172.23.10.12 mvrac2.viniciusdba.com.br mvrac2 # InterConnect - Conexao Privada 10.0.0.11 mvrac1-priv.viniciusdba.com.br mvrac1-priv 10.0.0.12 mvrac2-priv.viniciusdba.com.br mvrac2-priv # Virtual IP's 172.23.10.21 mvrac1-vip.viniciusdba.com.br mvrac1-vip 172.23.10.22 mvrac2-vip.viniciusdba.com.br mvrac2-vip
Por enquanto, para finalizarmos os pré-requisitos, falta instalarmos e configurarmos a ASMLib. Eu explicarei o porquê de utilizarmos essa LIB num artigo posterior.
Para baixarmos a ASMLib, precisamos acessar o seguinte link:
Oracle ASMLib Page / Downloads / Red Hat Enterprise Linux 5 AS*.
Deveremos encontrar a seção na página que trata da arquitetura 32bit:
Intel IA32 (x86) Architecture
Após encontrarmos, os dois primeiros arquivos deverão ser baixados:
Após baixar esses dois arquivos, procurar a versão correta da Lib para o Kernel utilizado no sistema operacional: 2.6.18-128.el5. Pode ser que você encontre variações como 2.6.18-128.1.1.el5 e assim por diante. Ignore essas versões, encontre a versão exata do Kernel:
Baixar os três arquivos, transferí-los via SCP/FTP para o servidor e instalá-los, com o usuário root:
[root@mvrac1 ~]# rpm -ivh oracleasm* warning: oracleasm-2.6.18-128.el5-2.0.5-1.el5.i686.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159 Preparing... ############################### [100%] 1:oracleasm-support ############################### [ 33%] 2:oracleasm-2.6.18-128.el############################### [ 67%] 3:oracleasmlib ############################### [100%]
Após instalar os pacotes, deveremos configurar a ASMLib no sistema operacional:
[root@mvrac1 ~]# /etc/init.d/oracleasm configure Configuring the Oracle ASM library driver. This will configure the on-boot properties of the Oracle ASM library driver. The following questions will determine whether the driver is loaded on boot and what permissions it will have. The current values will be shown in brackets ('[]'). Hitting without typing an answer will keep that current value. Ctrl-C will abort. Default user to own the driver interface []: oracle Default group to own the driver interface []: dba Start Oracle ASM library driver on boot (y/n) [n]: y Scan for Oracle ASM disks on boot (y/n) [y]: y Writing Oracle ASM library driver configuration: done Initializing the Oracle ASMLib driver: [ OK ] Scanning the system for Oracle ASMLib disks: [ OK ]
Pronto! A primeira fase de pré-requisitos foi concluída! Falta agora particionar os discos e criar a equivalência de usuários entre os servidores que farão parte do cluster.
Como estamos num ambiente virtualizado, podemos agora baixar esse servidor, para clonar esse servidor para a nova máquina virtual (mvrac2).
Baixar o servidor:
shutdown -h now
No próximo artigo veremos como clonar esse servidor para criar a nova máquina virtual.
Abraços!
Vinicius
———–
* Links do ASMLIb atualizados em 19/05/2011. Obrigado, Mônica!
Related posts
16 Comments
Deixe um comentário Cancelar resposta
Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.
Disclaimer
Minhas postagens refletem minhas próprias opiniões e não representam necessariamente as opiniões do meu empregador, a Accenture.
Olá Marcus,
eu tenho procurado alguns roteios pra criação de Rac até mesmo no site da Oracle, mas não encontrei os que dizem sobre a parte de configuração de Autenticação de Chaves.
Não sei qual é o mais correto pra se usar RSH ou SSH, e também como faz pra configurar.
Se puder detalhar/mencionar essa parte, acho que seria bacana! …e me ajudaria tbem!! rs
Abraço
Olá Alexander, tudo bem?
Como você deve ter percebido, dividi o roteiro de instalação do RAC em partes. Fiz isso pois como eu gosto de detalhar colocando telas, achei que tudo de uma vez só ia ficar muito pesado para quem recebe a informação.
Sobre a sua dúvida, fique tranquilo meu caro, ela estará no artigo da semana que vem, que serão os últimos passos pré-instalação do RAC.
Os artigos geralmente vão entrar no ar às quartas-feiras…
Abraço!
[…] 2: Criação da VM Instalação do Oracle RAC 10g Release 2 – Parte 3: Instalação do Linux Instalação do Oracle RAC 10g Release 2 – Parte 4: Configuração do Linux Instalação do Oracle RAC 10g Release 2 – Parte 5: Clonagem da […]
Show de bola! Parabéns pelo artigo. Melhor que isso só vc instalando… 🙂
Obrigado, Carlos!
Parabens “garoto”, está muito bem detalhado.
Vamos para a próxima etapa.
Vinicius,
Segui o procedimento (tentei até reinstalar o linux 2 vezes) mas esta dando este erro de dependencia dos pacote, tem alguma idéia do que possa ser?
[root@mvrac1 Server]# rpm -ivh unixODBC*
warning: unixODBC-2.2.11-7.1.i386.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159
error: Failed dependencies:
libqt-mt.so.3 is needed by unixODBC-kde-2.2.11-7.1.i386
qt >= 2.1 is needed by unixODBC-kde-2.2.11-7.1.i386
Tiago,
Vou rever hoje o procedimento e te retornar, ok?
Vinicius,
Primeiramente parabéns pela iniciativa, tem me ajudado mto nos estudos! Muito obrigada…
Bom, estou fazendo a instalação passo a passo com no blog e estou tomando erro no passo [root@mvrac1 ~]# /etc/rc.d/rc.local
mensagem de erro: insmod: can’t read ‘/lib/modules/2.6.18-128.e15/kernel/drivers/char/hangcheck-timer.ko’: No such file or directory
Pode me ajudar nisso? Outra pergunta os links para baixar ASMLib está fora, tem outro para baixarmos…
Se puder me dar alguma orientação para resolver o problema agradeço desde já.
Olá Mônica,
Tudo bem?
Vamos lá:
É estranho seu Linux não encontrar o hangcheck-timer. Você baixou a mesma versão de Linux que eu recomendei?
Vamos conferir tudo.
1) uname -r
Vai retornar a versão de kernel que está em execução no seu servidor.
2) cd /lib/modules
3) ls -l
Deve listar aí a pasta com a mesma versão de kernel do seu servidor listado no comando uname -r
4) cd 2.6… (entre na pasta)
5) cd kernel/drivers/char
6) ls -l
O hangcheck-timer.ko deve aparecer aí.
Se aparecer, faça o seguinte.
7) pwd
Copie o caminho completo do caminho onde está posicionada.
8 ) vi /etc/rc.local
Confirme se o caminho que você obteve no item 7 é o mesmo caminho abaixo:
/sbin/insmod /lib/modules/2.6.18-128.el5/kernel/drivers/char/hangcheck-timer.ko hangcheck_tick=1 hangcheck_margin=10 hangcheck_reboot=1
Se tiver algo de diferente, deverá modificar:
/sbin/insmod /lib/modules/2.6.xxxxx/kernel/drivers/char/hangcheck-timer.ko hangcheck_tick=1 hangcheck_margin=10 hangcheck_reboot=1
-=-=–=-=–=-=–=-=–=-=–=-=–=-=–=-=-
Sobre o ASMLIB, realmente, a Oracle havia mudado o link dos arquivos, já atualizei no post e inclusive agradeci você a isso lá… 🙂 Olhe no final do post o agradecimento, e basta clicar no link normalmente.
Abraços
Vinicius
Vinícius, estou tentando instalar o ASMLib no Red Hat EL 6 x86_64, mas estou com problemas pra encontrar os pacotes necessários. Os links desses post não estão funcionando. Tentei compilar, sem sucesso, a partir desse fonte http://oss.oracle.com/projects/oracleasm/ e desse http://oss.oracle.com/projects/oracleasm-support/. Aparentemente está faltando alguma coisa já que são três pacotes e só tem 2 fontes.
Enfim, estou meio enrolado e agradeceria uma ajuda.
Estou pensando em configurar as partições raw sem usar o ASMLib mesmo não sendo recomendado pela Oracle.
Abraço, e parabéns pelos posts… São excelentes!
Leonardo,
A partir do OEL6 (e consequentemente o RHEL6) o ASMLIB não está mais disponível para download! Só terá o ASMLIB quem tiver o contrato de suporte do Unbreakable Linux junto à Oracle.
Você terá que configurar via raw device mesmo.
Trecho da Nota:
Oracle ASMLib Software Update Policy for Red Hat Enterprise Linux Supported by Red Hat [ID 1089399.1]
Software Update Policy for ASMLib running on future releases of Red Hat Enterprise Linux
Red Hat Enterprise Linux 6 (RHEL6)
For RHEL6, Oracle will only provide ASMLib software and updates when configured with a kernel distributed by Oracle. Oracle will not provide ASMLib packages for kernels distributed by Red Hat as part of RHEL6. ASMLib updates will be delivered via Unbreakable Linux Network(ULN) which is available to customers with Oracle Linux support. ULN works with both Oracle Linux or Red Hat Linux installations, but ASMlib usage will require replacing any Red Hat kernel with a kernel provided by Oracle.
Abraço!
Vinicius
Olá Vinicius,
Estou acompanhando o passo a passo da instalação do RAC, estou achando muito interessante e bem legal o seu método de explicar bem detalhado.
Porém estou com um problema, não sei usar muito bem o linux e o meu S.O. real é um windows 7, fiz os downloads do ASMLIB(os 3 arquivos) através windows 7, porém agora não consigo fazer o FTP para transferir os pacotes para dentro do Oracle Linux. Também tentei via rede e também não tive sucesso
Tem algum procedimento específico, como posso fazer isso ???
Desde já agradeço .. Parabéns pelo blog
Olá Luiz,
Desculpe-me pela demora1
Vamos lá!
Você disse que não consegue transferir, isso pode ter a ver com a configuração da VMWare.
Como a placa de rede foi definida? Em modo bridge? Host-Only?
Você consegue fazer um ping no IP que definiu para a placa de rede?
Me dê mais informações para te ajudar.
Abraços
Olá Vinicius, Parabéns pela iniciativa, realmente seus post´s ajudam e muito a quem esta começando no mundo Oracle como eu.
Estou tendo o seguinte problema : Estou seguindo como sugeriu todos os passos do blog, só que agora ao iniciar o sistema ele esta me pedindo: Usuario e senha, sendo que eu não mandei ele criar, e para tirar as duvidas instalei 2x o linux para ter certeza de que não fiz nada de errado; Será que esqueci alguma etapa por fazer???
Um Grande abraço.
Claudeir,
O usuário inicial é o root, e a senha, se seguiu os passos do blog, será root123.
Abraços!
Vinicius