Instalação Oracle no Ubuntu
Autor: Alexandre Boyago | Publicado: 2009-06-19T04:59:00-07:00

Este tutorial pretende mostrar como instalar o Oracle Express no Ubuntu Server.

Sobre este tutorial:

Baseado na distribuição Ubuntu 6.0.6 LTS Server.
Dificuldade de execução: Fácil
Nível de conhecimento: Médio
Pré-requisitos

Fundamentos de administração do sistema operacional (familiaridade com terminal, conhecimento de conceitos, instalação de pacotes, configuraçao de ambiente)
Conhecimentos básicos sobre o banco de dados Oracle
Entendimento do que se quer fazer
Para os apressados
Se você não quer “perder tempo” com conceitos, ou só quer uma “receita de bolo”, aqui está:


sudo su -dd if=/dev/zero of=/swap.img bs=1048576 count=2048
mkswap /swap.img
swapon /swap.img
echo "deb http://oss.oracle.com/debian unstable main non-free" >> /etc/apt/sources.list
apt-get -y update
apt-get -y install libaio bc
apt-get -y install oracle-xe-universal
/etc/init.d/oracle-xe configure
cat <<>> /home/oracle/.bashrc
ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server
PATH=$PATH:$ORACLE_HOME/bin
export ORACLE_HOME
export ORACLE_SID=XE
export PATH
EOF
/etc/init.d/oracle-xe restart


Com os comandos acima, você já deve ter rodando uma instalação do Oracle Express totalmente funcional em seu servidor. Aogra vamos saber o porquê de cada comando, e aprofundarmos um pouco mais no assunto.

Preparando o ambiente

Para iniciar os trabalhos, vamos logo entrando como usuário root:

sudo su -

O comando sudo é velho conhecido, serve para rodar comandos com permissões administrativas. O comando “su -” indica que queremos nos tornar root (e permanecer assim), carregando o seu profile como se fosse um novo login.

Antes de mais nada, o Oracle é um banco que necessita de muita memória RAM. Mas acredito que você já saiba disso. Inclusive, durante a instalação, ele checa a quantidade de memória física e de Swap que você tem no sistema operacional, e decide se continua ou não. Uma boa forma de contornar problemas deste tipo, é adicionar uma boa quantia de memória swap, mesmo que temporariamente, antes de começarmos.


dd if=/dev/zero of=/swap.img bs=1048576 count=2048
mkswap /swap.img
swapon /swap.img


O primeiro comando cria um arquivo, vazio, de nome swap.img na raiz de nosso sistema de arquivos, de tamanho 2Gb. O comando mkswap cria a estrutura e o “filesystem” de swap neste arquivo, e, por fim, o comando swapon o ativa, adicionando ao swap do sistema temporariamente. O instalador do Oracle necessita de 1,5GB de Swap para 256M de RAM física, e 1,0GB de Swap para 512M de RAM, se desejar, ajuste os valores de acordo com sua necessidade.
Arquivos de swap, geralmente possuem um pouco mais de overhead do que se utilizarmos partições, portanto, se você for utilizar em produção, vale a pena deixar uma partição específica para swap.
Outra checagem que o pacote de instalação faz, é quanto à memória RAM instalada fisicamente. Se você não tiver pelo menos 256 MB de RAM, o instalador se recusa a continuar.

Obtendo e Instalando
Existem duas formas de obter e instalar o Oracle. A primeira, é utilizando o sistema de repositórios e adicionando o repositório da Oracle. Pode-se editar manualmente o seu arquivo sources.list ou utilizar o seguinte comando:

echo "deb http://oss.oracle.com/debian unstable main non-free" >> /etc/apt/sources.list


Existem 3 pacotes no repositório da Oracle:
- oracle-xe : Oracle Database 10g Express Western European Edition
- oracle-xe-client : Oracle Client 10g Express Edition
- oracle-xe-universal : Oracle Database 10g Express Universal Edition
Escolha um, e a partir deste momento, é só seguir o usual:

apt-get update
apt-get install oracle-xe-universal

Este pacote depende da biblioteca libaio e do pacote bc, que são baixados automaticamente. Durante a instalação, algumas checagens são feitas, e caso algo não esteja de acordo, um aviso é emitido.
Quem já instalou antes o banco em seus outros sabores deve esperar agora alguns ajustes de kernel. Geralmente, o próprio pacote já faz estes ajustes, portanto, não vamos nos preocupar com isso de momento, deixando para fazer algum ajuste fino no caso de um servidor em produção somente.

Outra forma de instalar o banco de dados, é visitando a página da Oracle para baixar o arquivo contendo o pacote .deb e instalando-o manualmente. Se, assim como eu, você também prefere não misturar coisas no seu arquivo sources.list, esta é a maneira mais correta. Visite o endereço:
http://www.oracle.com/technology/software/products/database/xe/index.html
E baixe o arquivo .deb. Após, basta utilizar os comandos:

apt-get install libaio bc
dpkg -i oracle-xe-universal_10.2.0.1-1.0_i386.deb


Nesta forma de instalação, as checagens e os ajustes do sistema operacional também são executadas.

Configurando o serviço

Para configurar os parâmetros iniciais, utilize o seguinte comando:

/etc/init.d/oracle-xe configure


Ele irá solicitar algumas informações, como a porta da ferramenta Web, do listener, bem como a senha para ser utilizada pelo SYS e SYSTEM. Recomendo usar os valores padrão para as portas, e utilizar uma ótima senha para o banco, de preferência diferente da sua senha de root e de seu usuário.

Resta agora configurar as opções de acesso e variáveis de ambiente dos usuários no sistema operacional. Abra o arquivo .bashrc do usuário oracle, e inclua o seguinte:

ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server
PATH=$PATH:$ORACLE_HOME/bin
export ORACLE_HOME
export ORACLE_SID=XE
export PATH


Adicione estas mesmas linhas para outros usuários que você quer que tenham acesso ao Oracle, ou edite o arquivo /etc/bash.bashrc para extender esta configuração a todos os usuários do sistema. Geralmente, só o usuário oracle já é suficiente.

Outras configurações podem ser feitas, mas neste ponto você já tem o banco totalmente operacional.

Testando e Utilizando

Ainda como root, use o seguinte comando para se tornar o usuário oracle:

su - oracle

No prompt que surge, abra o sqlplus

sqlplus sys as sysdba

Aqui, é possível criar usuários, objetos e tudo o mais que um banco necessita. Mas existe uma forma mais fácil, que é através da ferramenta de administração Web. Ela vem liberada para escutar na porta que você configurou anteriormente, mas somente pode ser acessada pela máquina local. Se você estiver em outra máquina e, espero, esta esteja rodando linux, basta utilizar o seguinte comando na máquina cliente:

ssh -L 8080:localhost:8080 usuario@ip.do.seu.servidor

Com isso, estamos mapeando a porta 8080 da máquina cliente para a porta 8080 do servidor. É só abrir o navegador, e acessar:

http://localhost:8080/apex/

Na página que se abre, utilize o usuário system e a senha definida anteriormente. Agora, é só criar seus usuários e começar a utilizar o banco.

Dicas finais

Caso você esteja instalando na própria máquina, não em um servidor, e dispõe de interface gráfica, algumas aplicações estão disponíveis em /usr/share/applications, com o prefixo oracleexe-, para você adicionar à área de trabalho ou aos menus.
Por padrão, os arquivos de dados estão em /usr/lib/oracle/xe/oradata/XE. Você pode parar o banco, mover este diretório para outro lugar (outra partição ou até mesmo outro disco, por exemplo), e criar um link simbólico apontando para a nova localização, reiniciando o banco em seguida.
Ao parar e iniciar o banco, você pode usar os comandos do listener do próprio oracle ou, para facilitar, usar os comandos disponibilizados por /etc/init.d/oracle-xe (inclusive checar o status do banco).
Quando for configurar um client (em uma máquina windows, por exemplo) lembre-se que o OracleID deste banco é, por padrão, “XE”.