Traduções: English - Português

Trabalho em progresso

Oracle

Oracle é um banco de dados "não livre". Você pode encontrar um antigo repositório fornecido pela Oracle com pacotes do Oracle XE. Neste artigo você encontrará inforamlções relacionadas à instalação do Oracle em sistemas Debian.

Apenas para fins de registro, aqui está a entrada que você pode adicionar ao seu arquivo /etc/apt/sources.list ou apenas criar um arquivo dentro de /etc/apt/sources.lists.d com os seguintes conteúdos:

# Repositório Debian do Oracle XE
deb http://oss.oracle.com/debian unstable main non-free

Oracle 11g Express Edition no Wheezy

A versão 11g é disponibilizada no site da Oracle apenas para a arquitetura de 64 bits em um pacote rpm compactado. Baixe o arquivo de instalação do site do Oracle 11g Express Edition em algum diretório (no /opt por exemplo).

Para verificar a arquitetura de sua máquina utilize o seguinte comando:

uname -i

ou

uname -a

Detalharemos a instalação para sistemas de 64 bits x86_64.

Requisitos

Para a instalação do Oracle 11g XE, será necessário ter pelo menos 2GB de ?swap. Caso sua máquina não possua este tamanho, é possível a ampliar o tamanho do swap sem ter que reinstalar o sistema operacional.

Será necessária também a instalação dos pacotes libaio1, a qual é utilizada pelo Oracle, o comando bc, flex e alien, que será utilizado para converter o pacote rpm do Oracle para deb.

# apt-get install alien bc flex libaio1

Alteração da área de memória compartilhada

Versões mais antigas do Debian (e derivados) montavam a área de memória compartilhada no diretório /dev/shm. Este diretório é exatamente o diretório que o Oracle procura para utilizar.

No entanto, as versões mais recentes do Debian montam esta área no diretório /run/shm.

Verifique onde seu sistema está montando esta área:

$ df -k -h
Sist. Arq.                                               Tam  Usad Dispon. Uso% Montado em
rootfs                                                  680G   86G    560G  14% /
udev                                                     10M     0     10M   0% /dev
tmpfs                                                   392M  768K    391M   1% /run
/dev/disk/by-uuid/b31a6b62-98ad-4ec1-8240-cdb55ff1369e  680G   86G    560G  14% /
tmpfs                                                   5,0M     0    5,0M   0% /run/lock
tmpfs                                                   2,4G  428K    2,4G   1% /run/shm

Para incluir o diretório /dev/shm no ponto de montagem da área de memória compartilhada, proceda da seguinte maneira:

$ sudo su -
# vim /etc/init.d/oracle-shm

O conteúdo deste arquivo deve ser:

# /etc/init.d/oracle-shm
#
#
case "$1" in
  start)
    echo "Starting script /etc/init.d/oracle-shm"
    # Run only once at system startup
    if [ -e /dev/shm/.oracle-shm ]; then
      echo "/dev/shm is already mounted, nothing to do"
    else
      rm -f /dev/shm
      mkdir /dev/shm
      mount --move /run/shm /dev/shm
      mount -B /dev/shm /run/shm
      touch /dev/shm/.oracle-shm
    fi
    ;;
  stop)
    echo "Stopping script /etc/init.d/oracle-shm"
    echo "Nothing to do"
    ;;
  *)
    echo "Usage: /etc/init.d/oracle-shm {start|stop}"
    exit 1
    ;;
esac
#
### BEGIN INIT INFO
# Provides:          oracle-shm
# Required-Start:    $remote_fs $syslog
# Required-Stop:     $remote_fs $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Bind /run/shm to /dev/shm at system startup.
# Description:       Fix to allow Oracle 11g use AMM.
### END INIT INFO

Deve-se agora alterar as permissões do arquivo e fazer com que o sistema operacional execulte-o no boot:

# chmod 755 /etc/init.d/oracle-shm
# update-rc.d oracle-shm defaults 01 99

Deve-se em seguida reiniciar o sistema, depois verificar o resultado:

$ df -k -h
Sist. Arq.                                               Tam  Usad Dispon. Uso% Montado em
rootfs                                                  680G   86G    560G  14% /
udev                                                     10M     0     10M   0% /dev
tmpfs                                                   392M  768K    391M   1% /run
/dev/disk/by-uuid/b31a6b62-98ad-4ec1-8240-cdb55ff1369e  680G   86G    560G  14% /
tmpfs                                                   5,0M     0    5,0M   0% /run/lock
tmpfs                                                   2,4G  428K    2,4G   1% /run/shm
tmpfs                                                   2,4G  428K    2,4G   1% /run/shm

Reorganização do ambiente

Como foi dito anteriormente, o Oracle 11g XE para Linux é distribuído através de um pacote RPM, o qual é o tipo de pacote utilizado por padrão nas distribuições derivadas do Red Hat.

Desta forma, apesar de tanto o Red Hat quanto o Debian serem Linux, há algumas variações de padrões de localização de arquivos.

chkconfig

?chkconfig é uma ferramenta de linha de comando para manter a hierarquia de diretórios de /etc/rc[0-6].d, aliviando os administradores de sistema da tarefa de manipular diretamente as várias ligações simbólicas naqueles diretórios.

Primeiro, deve-se verificar se o comando já existe no diretório /sbin. Caso não exista, crie-o:

# cd /sbin
# vim chkconfig

e adicione o seguinte conteúdo:

file=/etc/init.d/oracle-xe
if [[ ! `tail -n1 $file | grep INIT` ]]; then
   echo >> $file
   echo '### BEGIN INIT INFO' >> $file
   echo '# Provides:             OracleXE' >> $file
   echo '# Required-Start:       $remote_fs $syslog' >> $file
   echo '# Required-Stop:        $remote_fs $syslog' >> $file
   echo '# Default-Start:        2 3 4 5' >> $file
   echo '# Default-Stop:         0 1 6' >> $file
   echo '# Short-Description:    Oracle 11g Express Edition' >> $file
   echo '### END INIT INFO' >> $file
fi
update-rc.d oracle-xe defaults 80 01

Atribua as devidas permissões ao arquivo:

# chmod 755 chkconfig

Awk

O Red Hat armazena o ?awk no diretório /bin e o Debian armazena-o no diretório /usr/bin.

Desta forma, basta criar uma ligação simbólica:

# ln -s /usr/bin/awk /bin/awk

Convertendo de rpm para deb

É possível converter o pacote de instalação de ?rpm para deb, através da ferramenta ?alien. Para isso, deve-se entrar no diretório onde foi baixado o arquivo zip do Oracle 11g XE:

# cd /opt
# unzip oracle-xe-11.2.0-1.0.x86_64.rpm.zip
# cd Disk1
# alien --scripts oracle-xe-11.2.0-1.0.x86_64.rpm
oracle-xe_11.2.0-2_amd64.deb generated

Instalando o Oracle

Após a conversão do pacote do Oracle de rpm para deb, é possível realizar a instalação utilizando o dpkg:

# dpkg -i oracle-xe_11.2.0-2_amd64.deb

Após a instalação, faça a configuração do banco:

# /etc/init.d/oracle-xe configure

Neste processo o script perguntará a respeito das portas do Oracle Application Express, Listener, solicitará uma senha e se ele deverá ser inicializado no boot.

Oracle 10g e 11g

Pré-requisitos

Uma das coisas difíceis se você é um aventureiro em Oracle (ou se há um longo tempo desde a última vez que você mexeu com ele), é a de saber como funciona o sistema em termos de partições e espaço do sistema de arquivos.

Ambos o Oracle 10g e 11g precisam de algumas coisas especiais:

Apesar de haver um instalador gráfico você não precisa instalar o X Window System no servidor. Você pode usar o ?X11Forwarding ou usar o Oracle Silent Install. Em primeiro lugar, eu estou documentando a instalação gráfica via SSH (usando o X11 forwarding).