Tutorial: Oracle Xpress 10g no Ubuntu

Categoria: Ubuntu | Palavras-chave: Sem palavras-chave

Um dos pontos que levantei em meu primeiro post foi sobre o Oracle rodando em Ubuntu. Pensei então em escrever um tutorial sobre o assunto, mas o tempo era escasso, até que me deparei eu mesmo com a tarefa de ter de fazer isto, e resolvi documentar o processo. 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 << EOF >> /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”.

Publicado em 4 de setembro de 2007 | 14 Comentários

Marcos André Lucas

Marcos André Lucas

Analista de Sistemas, Consultor de TI, Professor Universitário de Redes e Servidores, Pai do Vinícius e gordinho boa pinta nas horas vagas ;)

Mais posts do autor (4)

14 Comentários

  1. Eu tava pensando que esse post não ia sair mais :P
    Uma pergunta! Como ficou o desempenho do banco em relação ao mesmo banco instalado em outras distribuições Linux como Red Hat e outras recomendadas pela Oracle? Nâo sei se chegou a fazer este teste mas acho interessante ter esta comparação.

  2. Marcos A. Lucas disse:

    Ivan, não tenho ainda dados absolutos sobre isto, mas aparentemente a velocidade ficou boa, em alguns momentos até mesmo um pouco mais responsivo. Porém, não são os mesmos dados, então não sei se é a instalação em si ou o banco mesmo que está mais leve.

    Estou migrando um banco de dados Oracle9i que roda em United Linux para Oracle10gXE em Ubuntu Server, utilizando o mesmo servidor e mesmos dados, então terei um comparativo de desempenho mais exato para colocar.

  3. Andre Almeida disse:

    Parabéns Marcos! =)

  4. Alexandre disse:

    Amigão..

    Tenho um pequeno probleminha e peço humildemente a sua ajuda.

    As máuinas que tenho acesso ( NÂO são linux :( ) logo não cosigo acessar a ferramenta Web.

    Tem alguma maneira ?

  5. Marcos A. Lucas disse:

    Alexandre,

    Você tem duas maneiras de fazer isso:
    1) seguindo a idéia do post, ou seja, acessando via ssh.
    Baixe o putty (cliente ssh para windows) e faça nele o mapeamento da tua porta 8080 pra porta 8080 do servidor.
    Tem como pró o fato de não precisar mexer na configuração do servidor e manter a segurança padrão.
    Tem como contra o fato de ser mais “difícil”, mas isso não conta tanto se você já é acostumado com o putty.

    2) liberando para acessos externos via browser.
    Use o acesso via putty, conforme o item anterior. Então, dentro da própria interface, selecione “Administration->Manage HTTP Access” e então selecione “Available from Local Server and Remote Clients”. Provavelmente, há uma maneira de mudar isso editando os arquivos, mas vou ficar te devendo como faz.

    Qualquer dúvida, é só escrever.

  6. Emerson disse:

    Cara boa tarde!!
    Tenho uma duvida sobre a instalação…Instalei o oracle 10g xe mas a homepage não inicia…nem chega a mostrar a tela de login…o que se´ra..segui os passos…

    Minha maquina e local, não utilizo servidor;;;;

    Agradeço

    Emerson Martins
    Analista de Sistemas

  7. Marcos A. Lucas disse:

    Emerson,

    Veja se o serviço está rodando. Para tanto, use o comando:
    # netstat -ntap

    Deve aparecer na listagem um serviço escutando na porta 8080. Caso não esteja, rever a instalação. Se estiver aparecendo, então é alguma questão de firewall bloqueando localmente (já vi isso acontecer com algumas regras iptables malformadas) ou outra questão mais, digamos, “profunda”.

    Espero seu retorno com o resultado.

  8. Fábio disse:

    Olá Marcos … ótimo tutorial !
    O que me diz desse Oracle no Debian ? Esse tutorial serveria ? E em questão de desempenho ?
    Grato,

  9. Marcos A. Lucas disse:

    Fábio,

    Você pode seguir o mesmo tutorial, com pouca ou nenhuma alteração, que funcionará no Debian com certeza.

    Quanto à performance, somente fazendo testes e medindo. Por enquanto, nos servidores em que uso a performance tem sido ótima.

    Um abraço

  10. Patricia Oliveira disse:

    “Abra o arquivo .bashrc do usuário oracle…”
    Amigo , nao sei fazer isso , pode me ajudar ?

  11. Marcos André Lucas disse:

    Patrícia,

    Você pode utilizar qualquer editor de textos simples para esta tarefa.
    Por exemplo, utilizando o vi:

    vi /home/oracle/.bashrc

    Caso esteja seguindo este tutorial de uma forma bem “padrão”, as seguintes linhas terão o mesmo efeito:

    cat < < EOF >> /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

    Esta sequência significa que na primeira linha chama o programa “cat” e lê tudo que tu digitares até encontrar EOF, e guarda isso tudo no final do arquivo .bashrc que está no diretório /home/oracle.

    Quaisquer dúvidas ou dificuldades que surgirem, é só comentar aqui. Abraço.

  12. Patricia Oliveira disse:

    Obrigada , agora entendi
    Bom tutorial =*

  13. Ana Lucia Santos disse:

    Editado – Por favor não escreva textos totalmente em maiúculo.
    Olá, estou precisando fazer uma tabela sobre oracle, o que é isso? Onde foi fabricado? Qual o preço? Quais os recursos necessários para instalá-lo?
    Grata.

  14. Jair disse:

    olá!
    antes demais parabéns pelo tutorial, como iniciante em sistemas de networking
    não percebia tanto do banco de dados da oracle.Onde são colocados esses comandos?na prompt do windows ?ou existe uma alocação especifica no banco de dados?
    Obrigado pela atenção.
    Jair

Deixe seu comentário

Website