segunda-feira, 12 de abril de 2010

Instalando o Oracle 11g no Debian 5.04

Linux versão 2.6.26-2-686
Oracle 11g Release 2

Pré-requisitos de hardware
Última instalação realizada em 06/04/2010. Configuração de hardware:
Processador Intel Dual Core 3.0 GHz, 6MB L2, 1333 MHz FSB;
Placa-mãe ASUS
HD SATA 160GB (2HDs)
8GB RAM
4GB SWAP


Oracle instalado na partição /ora , com sistema de arquivos XFS.

É interessante reservar uma partição somente para o diretório onde o Oracle será instalado e nessa partição, utilizar um sistema de arquivo mais adequado para banco de dados, como o XFS ou JFS.

Nesta instalação de testes, o banco foi instalado em /ora, o qual será explicado mais abaixo; porém nada impede que seja instalado em outro diretório, ou em /usr/local, onde é mais usado. Dependerá unicamente das permissões de acesso para o usuário oracle que será criado mais abaixo.
Instalando dependências
O primeiro passo consiste em instalar os pacotes usados pelo Oracle 11g. Dependendo a versão atual do Debian ou do intervalo entre uma instalação e outra, alguns pocotes podem ter versões atualizadas. Fique atento a essas mudanças de versões.

$ sudo apt-get install  alien cpp-4.3 debhelper g++-4.3 gawk gcc-4.3 gcc-4.3-base gettext \ 
html2text intltool-debian ksh lesstif2 libaio-dev libaio1 libbeecrypt6 libdb4.2 libelf-dev \
libelf1 libltdl3 libltdl3-dev libodbcinstq1c2 libqt4-core libqt4-gui librpm4.4 libsqlite3-0 \
libstdc++6 libstdc++5 libstdc++6-4.3-dev lsb lsb-core lsb-cxx lsb-desktop lsb-graphics \
lsb-qt4 odbcinst1debian1 pax po-debconf rpm sysstat unixodbc unixodbc-dev elfutils \ 
libebl-dev libefl1 pdksh

O pacote libmotif não foi encontrado em nenhum repositório, por isso foi instalado separadamente:
$ sudo dpkg -i libmotif3_2.2.3-1_i386.deb
 

Configurando ambiente Linux

Criando usuário e grupo Oracle
$ sudo groupadd oinstall
$ sudo groupadd dba
$ sudo groupadd nobody
$ sudo useradd -d /home/oracle -s /bin/bash -G dba -g oinstall -m oracle
$ sudo useradd -g nobody nobody
$ sudo passwd oracle
Para verificar:
$ id oracle

Criando diretórios

Durante a instalação do Debian, uma partição foi destinada especialmente para o Oracle, no diretório /ora:

$ sudo mkdir -p /ora/app/oracle
$ sudo mkdir -p /ora/oradata
$ sudo chown -R oracle.oinstall /ora
$ sudo chmod -R 775 /ora 

Criando links

O make usado no Oracle foi desenvolvido para RHEL, ficando em caminhos diferentes dos encontrados no Debian. Sendo assim, precisamos de links simbólicos para “fazer a passagem”…:

$ sudo ln -s /usr/bin/awk /bin/awk
$ sudo ln -s /usr/bin/rpm /bin/rpm
$ sudo ln -s /usr/bin/basename /bin/basename
$ sudo ln -s /etc /etc/rc.d

Parâmetros do Kernel

Edite o arquivo /etc/sysctl.conf e insira no final deste arquivo as alterações abaixo:
 
#Parâmetros ORACLE 11g
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
 
Edite o arquivo /etc/security/limits.conf e insera as configurações abaixo:

#Parâmetros ORACLE 10g
*        soft    nproc   2047
*        hard    nproc   16384
*        soft    nofile  1024
*        hard    nofile  65536

Adicione a linha abaixo em /etc/pam.d/login:
 
session    required     /lib/security/pam_limits.so

Adicione a linha abaixo em /etc/pam.d/su:
 
session    required     /lib/security/pam_limits.so

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

Variáveis de ambiente

Essas variáveis de ambiente serão criadas para o usuário oracle. Logado como oracle, faça as alterações abaixo:
Adicione ou descomente em ~/.bash_profile:

umask 022 

E adicione também em ~/.bash_profile:

ORACLE_BASE=/ora/app/oracle
ORACLE_HOME=$ORACLE_BASE/product/11.2.0
ORACLE_SID=sagu
 
export ORACLE_BASE
export ORACLE_HOME
export ORACLE_SID

Exporte as variáveis de ambiente:

$ ORACLE_BASE=/ora/app/oracle; export ORACLE_BASE
$ ORACLE_HOME=$ORACLE_BASE/product/11.2.0; export ORACLE_HOME
$ ORACLE_SID=sagu; export ORACLE_SID

Adicione em ~/.bashrc:

ORACLE_BASE=/ora/app/oracle
ORACLE_HOME=$ORACLE_BASE/product/11.2.0
ORACLE_SID=sagu
TNS_ADMIN=$ORACLE_HOME/network/admin
LD_LIBRARY_PATH=$ORACLE_HOME/lib
PATH=$PATH:$ORACLE_HOME/bin
 
export ORACLE_BASE
export ORACLE_HOME
export ORACLE_SID
export TNS_ADMIN
export LD_LIBRARY_PATH  
export PATH
unset USERNAME
 
Se preferir, adicione também o trecho abaixo no arquivo /etc/profile:

#para o oracle 11g
if [ $USER = "oracle" ]; then
   ORACLE_BASE=/ora/app/oracle
   ORACLE_HOME=$ORACLE_BASE/product/11.2.0
   ORACLE_SID=sagu
   TNS_ADMIN=$ORACLE_HOME/network/admin
   LD_LIBRARY_PATH=$ORACLE_HOME/lib
   PATH=$PATH:$ORACLE_HOME/bin
 
   export ORACLE_BASE
   export ORACLE_HOME
   export ORACLE_SID
   export TNS_ADMIN
   export LD_LIBRARY_PATH
   export PATH
   unset USERNAME
fi
 

Iniciando a instalação

Será preciso logar como usuário oracle, porém, haverá grandes chances do terminal X (xterm) não funcionar, por não estar configurado. Mesmo configurando a variável de ambiente DISPLAY, ainda sim, nessa instalação não foi possível. A solução simples foi fechar a sessão atual o logar no Gnome como usuário oracle.

Já logado como usuário oracle e com uma tela de terminal aberta, siga os passos abaixo:


$ cd /ora
Descompacte o arquivo do banco de dados:

$ unzip ~/linux_11gR2_database_1of2.zip
$ unzip ~/linux_11gR2_database_2of2.zip
 
Antes de iniciar a tela de instalação do banco de dados, é melhor reiniciar a máquina para que as variáveis e arquivos de configuração modificados possam ser lidos novamente.

Entre no diretório do instalador e execute-o:

$ cd /ora/database
$ ./runInstaller -ignoreSysPrereqs 
 
A partir de agora será mostrada a tela de instalação do Oracle. Prossiga com uma nova instalação do banco de dados.
No decorrer da instalação serão feitos testes de variáveis, bibliotecas, distribuição Linux e outros. Alguns erros serão mostrados, mas continue assim mesmo.

Etapas da instalação

A seguir estão os valores definidos nas telas durante o processo de instalação:
TELA DESCRIÇÃO Opção/Ação selecionada
1 CONFIGURAR ATUALIZAÇÃO DE SEGURANÇA * desabilite a opção “Prefiro receber atualização…”


= informe um email
2 OPÇÃO DE INSTALAÇÃO –> Criar e configurar um banco de dados
3 CLASSE DO SISTEMA –> Classe de Servidor
4 OPÇÕES DE GRADE –> Instalação do banco de dados de instância única
5 TIPO DE INSTALAÇÃO –> Instalação avançada
6 IDIOMAS DO PRODUTO –> seleção padrão (pré-definida): Inglês e Português do Brasil
7 EDIÇÃO DO BANCO DE DADOS –> Enterprise Edition ou Standard Edition
8 LOCAL DE INSTALAÇÃO – Aqui o Oracle vai consultar as variáveis de ambiente e preencher as opções automaticamente


= Oracle Base: /ora/app/oracle


= Localização do Software: /ora/app/oracle/product/11.2
9 CRIAR INVENTÁRIO = opção padrão: /ora/app/oraInventory
10 TIPO DE CONFIGURAÇÃO –> Finalidade Geral / Processamento de Transações
11 IDENTIFICADORES DO BANDO DE DADOS = Nome do bando de dados global: dharma.incol.com.br


= Oracle Service Identifier (SID): sagu
12 OPÇÕES DE CONFIGURAÇÃO –> Memória: escolha opção “Ativar Gerenciamento Automático da Memória”


–> Conjunto de caracteres: “Utilizar o default” (WE8MSWIN1252


–> Segurança: opção “Asserção de todas as novas definições de segurança”


–> Exemplos de Esquema: não
13 OPÇÕES DE GERENCIAMENTO –> opções padrões
14 ARMAZENAMENTO DO BANCO DE DADOS –> Sistema de Arquivos


= Localização: /ora/app/oracle/oradata
15 BACKUP E RECUPERAÇÃO –> Não ativar backups automatizados
16 SENHAS DE ESQUEMAS = defina as senhas (sys7i$R0)
17 GRUPOS DO SISTEMA OPERACIONAL = OSDBA: dba


= OSOPER: oinstall
18 VERIFICAÇÃO DE PRÉ-REQUISITOS – O Oracle fará uma checagem no sistema fazendo verificação dos requisitos para instalação.


As pendências serão listadas, como por exemplo, pacotes não encontrados ou parâmetros do kernel inválidos, os quais


podem ser corrigidos antes de iniciar a instalação. Tente corrigir todos os erros possíveis antes de continuar.


Importante ressaltar que o Oracle procura por pacotes em versões específicas, o que significa que o pacote pode


existir em uma versão mais nova não sendo encontrado pelo Oracle e colocado como erro. O melhor a fazer é se certificar


que todos os pacotes estejam instalados, mesmo que em versões mais novas. Depois clique na opção Ignorar Tudo e


continue.
19 RESUMO –> Finalizar
OBS.: certifique-se que todos os pacotes exigidos estejam instalados, mesmo que em versões mais novas. A primeira instalação acusou falha em não encontrar alguns pacotes, porém versões mais novas estavam instaladas no sistema, o que garantiu uma instalação com sucesso.

Acesso ao banco de dados

O Oracle 11g oferece acesso web para consulta e gerenciamento do banco de dados. Os endereços abaixo foram fornecidos no final da instalação:


Url do iSQL*Plus

http://localhost:5560/isqlplus

http://localhost:5561/isqlplus 


Url do iSQL*Plus DBA

http://localhost:5560/isqlplus/dba                            
Url do Database Controle do Enterprise Manager 11g

http://localhost:1158/em


 

Start no Banco de Dados 

 

O jeito mais fácil

O servidor foi reiniciado para testar se o banco será ativado corretamente após um boot. Como ele não faz o start automático, é preciso fazê-lo explicitamente.

Segue a maneira mais simples de startar o banco de dados. Logado como usuário oracle execute os passos abaixo:

Ativando o listener
$ /ora/app/oracle/product/11.2/bin/tnslsnr & 
ou
$ /ora/app/oracle/product/11.2/bin/lsnrctl start

Entre no sqlplus
$ sqlplus sys/sys7i$R0 as sysdba
No sqlplus levante o banco de dados
startup
 

Start de outros serviços Oracle

    Para utilizar o isqlplus (ferramenta web)
$ /ora/app/oracle/product/11.2.0/bin/isqlplusctl start
Para utilizar Enterprise Manager (ferramente web)
$ /ora/app/oracle/product/11.2.0/bin/emctl start dbconsole
 

Observações

Caso o listener do Oracle não funcione corretamente ou o IP do servidor precise ser trocado, verifique os arquivos listener.ora e tnsnames.ora, trocando o nome da máquina no parâmetro HOST pelo ip correto da máquina. 

Um comentário: