Data

14 mar, 2008

Instalação Oracle Database 11g em Linux RHEL 4

Publicidade

Olá amigos! Hoje vamos iniciar os aprendizados no novo release da família de banco de dados Oracle, o Oracle Database 11gR1 (Release 11.1.0.6). E para começarmos, vamos realizar apenas a instalação do Oracle Server em um servidor Linux Red Hat Enterprise Linux Advanced Server 4 Update 5 na plataforma 32-Bits, lembrando que não iremos criar um banco de dados para utilização, mas apenas a instalação dos binários seguindo o padrão OFA (Optimal Flexibile Architecture).

Requisitos minímos de Hardware

  • Servidor com Red Hat Enterprise Linux Advanced Server 4 devidamente instalado.
  • 1GB de memória RAM.
  • 8GB de espaço livre, para instalação dos binários (4GB para software Oracle) e posteriormente criação do banco de dados.

Requisitos do Oracle Server

Os seguintes pacotes (RPMs) deverão estar instalados no sistema operacional para uma perfeita instalação do Oracle Server 11G. Segue:

  • compat-libstdc-33-3.2.3-61
  • elfutils-libelf-0.125-3.el5
  • elfutils-libelf-devel-0.125-3.el5
  • glibc-2.5-12
  • glibc-devel-2.5-12
  • glibc-common-2.5-12
  • gcc-4.1.1-52.el5
  • gcc-c-4.1.1-52.el5
  • libgcc-4.1.1-52.el5
  • libaio-0.3.106-3.2
  • libaio-devel-0.3.106-3.2
  • libstdc-4.1.1-52.el5
  • libstdc-devel-4.1.1-52.el5
  • unixODBC-2.2.11-7.1
  • unixODBC-devel-2.2.11-7.1
  • sysstat-7.0.0-3.el5
  • binutils-2.17.50.0.6-2.el5
  • make-3.81-1.1

Caso você tenha feito uma instalação convencional do Red Hat (Se for em CD, até o CD 4), alguns pacotes podem não estar presentes, como:

  • elfutils-libelf-0.125-3.el5
  • elfutils-libelf-devel-0.125-3.el5
  • libaio-0.3.106-3.2
  • libaio-devel-0.3.106-3.2
  • unixODBC-2.2.11-7.1
  • unixODBC-devel-2.2.11-7.1

Existem alguns sites onde você pode baixar os RPMs e instalar manualmente. A relação segue abaixo:

Recomendações Opcionais

Abaixo segue algumas recomendações para uma instalação do Oracle Server.

  • Criação de um FileSystem (Mount Point /u01 ou /app/oracle) somente para a instalação dos binários, arquivos de trace, e outros arquivos do banco de dados. Esse Mount Point pode ter cerca de 5GB.
  • Criação de um FileSystem (Mount Point /u02 ou /oracle/oradata/<nome_do_banco_de_dados>) somente para o banco de dados Oracle. Lembrando que a instalação do Oracle server é uma coisa, e depois os arquivos de banco de dados são outras.
  • Desabilitar o RHN (Red Hat Network – Atualização automática) do sistema operacional para atualização de pacotes. Isso funciona como o Windows Update, em algumas atualizações, como kernel ou pacotes de rede, podem afetar o funcionamento do banco de dados.
  • Desabilitar serviços desnecessários do Linux para melhorar a performance do servidor.
  • Cuidado ao habilitar o IPTABLES, eles podem barrar alguns acessos ao servidor e banco de dados, sempre se atente para liberar regras para as portas 1521,1522 para o Oracle e a porta 22 para o SSH no linux.

Seguindo os procedimentos de instalação, tenha em mãos o CD do Oracle database 11G ou baixe da intenet o arquivo para instalação, você pode fazer o download diretamente da Oracle, atráves do site da OTN (Oracle Tecnology Network) , sempre fazendo o download do arquivo para Linux x86, é cerca de 1.7GB.

Preparando o ambiente

Depois de validar os requisitos de harware e seus respectivos pacotes, devemos criar o usuário Oracle, os grupos (oinstall e dba), configuração de perfil e configurar os parâmetros de kernel para atender os pré-requisitos que o OUI (Oracle Universal Installer) verifica antes de iniciar a instalação dos arquivos do Oracle Server.

LEMBRE-SE

Todos os passos a seguir devem ser executados com o usuário ROOT.

Primeiro Passo | Criando os grupos e o usuário Oracle


[root@RALINUX]$ group oinstall
[root@RALINUX]$ group dba
[root@RALINUX]$ useradd -g oinstall -G dba oracle
[root@RALINUX]$ passwd oracle

Nesse último comando, deve ser colocado uma senha ao usuário Oracle para futuras conexões.

Segundo Passo | Criando os diretórios de instalação

Caso esteja seguindo as recomendações opcionais que foram passadas no início do artigo, vamos criar todos os diretórios no /u01.


[root@RALINUX]$ mkdir -p /u01/app/oracle
[root@RALINUX]$ chown oracle:oinstall /u01/app/oracle
[root@RALINUX]$ chmod -R 775 /u01/app/oracle

Terceiro Passo | Configurando os parâmetros de Kernel

Esse é um dos passos mais importantes, onde devemos adicionar os novos parâmetros de kernel para satisfazer os requisitos de instalação do Oracle Server. A lista com os novos parâmetros segue abaixo e o modo de como realizar essa tarefa.

Lista de novos parâmetros de kernel e seus respectivos valores.

  • kernel.shmall = 2097152
  • kernel.shmmax = 536870912
  • kernel.shmmni = 4096
  • kernel.sem = 250 32000 100 128
  • fs.file-max = 65536
  • net.ipv4.ip_local_port_range = 1024 65000
  • net.core.rmem_default=4194304
  • net.core.wmem_default=262144
  • net.core.rmem_max=4194304
  • net.core.wmem_max=262144

Agora, os passos para efetivar as alterações.

1) Abrir o arquivo de configuração do kernel no caminho abaixo.


[root@RALINUX]$ vi /etc/sysctl.conf

2) Inserir os novos valores no final do arquivo. Como no passo acima estamos utilizando o editor de texto VI, posicione o cursor para a última linha e pressione a tecla SHIFT+A, dê um ENTER e insira os parâmetros como na figura 1.

Exemplo do arquivo sysctl.conf com os novos parâmetros.Exemplo do arquivo sysctl.conf com os novos parâmetros.

Ao inserir, aperte a tecla ESC e quando o cursor se posicionar no fim do arquivo após os “dois pontos” ( : ), escreva wq! e dê enter. Dessa forma o arquivo será salvo e voltará para o prompt de comando.

3) Para confirmar os valores, basta executar o seguinte comando.


[root@RALINUX]$ sysctl -p

Quarto Passo | Configuração de limites do usuário Oracle

Esses limites são uma recomendação da Oracle para o controle do número de processos e arquivos abertos dentro do Linux. Abaixo segue os arquivos que devem ser modificados e os valores para alteração.

1) Arquivo: /etc/security/limits.conf


[root@RALINUX]$ vi /etc/security/limits.conf 

Inserir os seguintes parâmetros e valores. Lembrando que o editor de texto é VI, então os comandos para adicionar e salvar o arquivo será o mesmo utilizado no início do artigo.

  • oracle soft nproc 2047
  • oracle hard nproc 16384
  • oracle soft nofile 1024
  • oracle hard nofile 65536

2) Arquivo: /etc/pam.d/login


[root@RALINUX]$ vi /etc/pam.d/login 

Segue os parâmetros para autenticação.

  • session required /lib/security/pam_limits.so

Instalando o Oracle Database 11GR1

Depois de preparar todo o ambiente, agora podemos iniciar a instalação do Oracle Server, talvez sem possíveis problemas. A instalação será na versão Enterprise, ou seja, todas as opções (Particionamento, OLAP, Data Mining e Label Security) e aplicativos de administração instalados. A seguir, os passos necessários para realizar essas tarefas.

LEMBRETE

Para uma instalação corporativa, ou seja, para empresas, veja a versão que sua licensa cobre e se as mesmas podem ser utilizadas com as opções instaladas. Pois Particionamento, OLAP, Data Mining e Label Security são features (características) que necessitam de licensas a parte.

1-) Criando os diretórios de instalação no padrão OFA

O padrão OFA (Optimal Flexibile Architecture), resumidamente, é um metódo utilizada pela Oracle Consulting e diversas consultorias especializadas em banco de dados para padronizar as pastas, arquivos, caminhos e nomeclaturas de instalação e banco de dados. Para saber mais sobre o assunto, acesse o site SS64.com que contém um resumo bem legal.

Nesse artigo estamos adotando a padronização OFA e, para isso, devemos criar algumas pastas, já conectados com o usuário oracle, como mostrado abaixo:


[root@RALINUX]$ cd /u01/app/oracle
[root@RALINUX]$ mkdir product
[root@RALINUX]$ cd product
[root@RALINUX]$ mkdir 11.1.0
[root@RALINUX]$ cd 11.1.0
[root@RALINUX]$ mkdir db_1

A sequência das pastas ficará dessa forma:


[oracle@RALINUX oracle]$ ls -R
.:
product

./product:
11.1.0

./product/11.1.0:
db_1

./product/11.1.0/db_1:

Vale a pena lembrar que esses caminhos, posteriormente, serão os caminhos para as variáveis de ambiente no sistema operacional $ORACLE_BASE e $ORACLE_HOME, onde:

$ORACLE_BASE = /u01/app/oracle

$ORACLE_HOME = /u01/app/oracle/product/11.1.0/db_1

2) Iniciando a instalação do software

Com todos os diretórios criados, o download concluído do binário Oracle (linux_11gR1_database.zip) atráves do site da OTN, ou caso tenha os CDs/DVDs do produto, podemos começar a instalação do software.

ATENÇÃO

Para os usuários que fizeram o download do site da Oracle, favor verificar se o arquivo está sem problemas. Para isso, basta executar o unzip -t e verificar se todos os arquivos podem ser extraídos com sucesso ou efetuar um cksum do arquivo.

Em nosso exemplo, a instalação será utilizando o arquivo baixado pelo site da Oracle e utilizei o GUI KDE 3.0. Ao extrair o arquivo, será criado uma pasta database e dentro dele terá um arquivo chamado runInstaller que devemos executar, com o usuário Oracle. Caso tente executar com o usuário root, ele não irá permitir. Os passos abaixo simplifica essa execução.


[root@RALINUX]$ unzip -t linux_11gR1_database.zip
[root@RALINUX]$ unzip linux_11gR1_database.zip
[root@RALINUX]$ cd database
[root@RALINUX]$ ./runInstaller
Starting Oracle Universal Installer...

Checking Temp space: must be greater than 80 MB.   Actual 5946 MB    Passed
Checking swap space: must be greater than 150 MB.   Actual 2047 MB    Passed
Checking monitor: must be configured to display at least 256 colors.    Actual 65536    Passed
Preparing to launch Oracle Universal Installer from /tmp/OraInstall2008-03-07_03-42-06PM. Please wait ...

Será iniciado a primeira tela do OUI (Oracle Universal Installer), onde logo de cara, temos dois “text box” (campo de texto) para indicar os caminhos para as variáveis ORACLE_BASE e ORACLE_HOME, mencionados alguns passos acima.

Como nosso objetivo é apenas instalar o Oracle Server, devemos também desmarcar a opção Create Starter Database. Iremos instalar somente o software, sem nenhum banco de dados. A Figura 2 mostra como devem ficar as primeiras configurações.

Tela inicial de instalação.Tela inicial de instalação.

Ao avançar para a próxima tela, o Oracle Universal Installer irá realizar uma série de check no seu sistema operacional, validando todos os parâmetros, pacotes e configurações que citamos desde o início do artigo. Caso tenha faltado algo, ele irá acusar e você poderá verificar pelo LOG de erro gerado na parte inferior da tela.

Existem instalações que todos os check são validados, existem outros que acusam erros e alguns que apontam avisos (warning). No exemplo, temos dois warnings: um para configuração de rede (por não estar com DHCP) e outro para as variáveis de ambiente (isso porque o sistema operacional utilizado já possui o Oracle 9i e 10g). Logo, se tiver algo similar, apenas faça o check manualmente, e o status será alterado para USER VERIFIED. Pode presseguir normalmente. Caso tenha erros, verifique os erros no LOG e veja qual o motivo. A figura 3 mostra a tela de verificação dos pré-requisitos.

Tela de instalação do Oracle Server 11G.Tela de pré-requisitos.

Ao verificar todos os requisitos e clicar sobre o botão próximo (NEXT), serão exibidos todos os pacotes de instalação do Oracle Server, ou seja, uma sumarização de todos os componentes que o Oracle irá instalar, como na figura 4. Caso deseje instalar componentes opcionais, como o Label Security, na primeira Tela (Figura 1) deve ser escolhido a opção Advanced Installation. Lá será possível a escolha dos opcionais do produto. No nosso exemplo, estamos realizando uma instalação básica do Oracle Server.

Tela de sumarização dos componentes do Oracle Server.Tela de instalação do software.

Depois de todos os componentes revisados, podemos clicar no botão INSTALL e iniciar a instalação do produto.

Tela de instalação do software.Tela de instalação do software.

Ao termíno da instalação, link das bibliotecas e etc, será necessário executar um script com o usuário ROOT, para finalmente validar a instalação do Oracle Server.

OBSERVAÇÃO

Se atente! Abra uma nova sessão (janela) logado com o usuário ROOT. Em algumas ocaciões, o switch de usuários utilizando o SU (SUDO) para usuário com ID 0, como o ROOT, pode trazer problemas futuros no link de bibliotecas e caminhos de binários.

A figura 5 mostra a tela de finalização da instalação do Oracle Server.

Finalização da instalação.[/img

Nesse momento nós temos o Oracle Server instalado corretamente em nosso servidor. Lembrando sempre que não temos o banco de dados, mas apenas os binários. E mesmo depois de instalado, devemos configurar o profile do usuário Oracle para acessar os Paths corretos aos aplicativos do Oracle server.

Abaixo segue o procedimento de ajuste ao perfil do usuário Oracle.


[root@RALINUX]$ cd /home/oracle
[root@RALINUX]$ vi .bash_profile

E segue um exemplo de configuração do profile.


# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin
export PATH
unset USERNAME
# Oracle Settings
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/11.1.0/db_1; export ORACLE_HOME
ORACLE_SID=ranet11g; export ORACLE_SID
ORACLE_TERM=xterm; export ORACLE_TERM
PATH=/usr/sbin:$PATH; export PATH
PATH=$ORACLE_HOME/bin:$PATH; export PATH
SQL_PATH=/u02/scripts; export SQL_PATH
EDITOR=vi export EDITOR
NLS_DATE_FORMAT='DD/MM/RRRR HH24:MI:SS' export NLS_DATE_FORMAT
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH
LD_ASSUME_KERNEL=2.4.1; export LD_ASSUME_KERNEL

if [ $USER = "oracle" ]; then
  if [ $SHELL = "/bin/ksh" ]; then
    ulimit -p 16384
    ulimit -n 65536
  else
    ulimit -u 16384 -n 65536
  fi
fi

E pronto, instalação completa e perfil do usuário configurado.

Para resumir todo o nosso processo, esses são os passos básicos para uma instalação típica do Oracle Database 11g, sem muita complicação e algumas dicas de como realizar uma boa instalação. Todos os passos de preparação do sistema operacional é super importante, pois, caso mensagens de problema apareça durante a instalação e você clica em IGNORE, com certeza, terá problemas futuros com o banco de dados. Então, veja sempre se todos os pré-requisitos foram verificados com sucesso e siga em frente.

Caso tenha dúvida sobre esse aritgo ou outros anteriores, consegue me encontrar (alphamek) diariamente no Fórum Oracle da própria iMasters ou atráves do e-mail. Se quiserem manter o network, conseguem me achar no Linkedin.com. Podem também deixar seus comentários.

Abraços,