[Tutorial] Instalando o Oracle 11g (11.2.0-0.5) XE no Debian 7

O Oracle é um SGBD (sistema gerenciador de banco de dados) que surgiu no fim dos anos 70, quando Larry Ellison vislumbrou uma oportunidade que outras companhias não haviam percebido, quando encontrou uma descrição de um protótipo funcional de um banco de dados relacional e descobriu que nenhuma empresa tinha se empenhado em comercializar essa tecnologia.
Avatar do usuário
marceloleaes
Administrator
Administrator
Mensagens: 1516
Registrado em: 10 Jun 2013 12:45
Localização: Novo Hamburgo
Idade: 41
Contato:
Status: Offline

[Tutorial] Instalando o Oracle 11g (11.2.0-0.5) XE no Debian 7

Mensagem por marceloleaes »

Imagem

Segue tutorial para instalação do Oracle Database Express Edition 11g Release 2 for Linux x64, lembrando que a Oracle disponibiliza somente o pacote RPM do mesmo e neste processo é necessário algums ajustes e fazer a conversão para DEB.

Crie uma conta no site e baixe o pacote necessário, com ele em mãos, vamos iniciar:

1 - Instalando as dependências

Código: Selecionar todos

apt-get install alien bc libaio1 libaio-dev sysstat unixodbc-dev libelf-dev unzip g++ libstdc++6-4.7-dev libstdc++5
2 - Descompactando o arquivo

Código: Selecionar todos

unzip oracle-xe-11.2.0-1.0.x86_64.rpm.zip
3 - Convertendo o rpm baixado para deb

Código: Selecionar todos

cd /Disk1
alien --scripts oracle-xe-11.2.0-1.0.x86_64.rpm
4 - Criando um script para montar /dev/shm necessário

Código: Selecionar todos

nano /etc/init.d/oracle-shm
O conteúdo deve ser:
#! /bin/sh
# /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
5 - Permissione e adicione na inicilização do sistema

Código: Selecionar todos

chmod 755 /etc/init.d/oracle-shm
update-rc.d oracle-shm defaults 01 99
Neste ponto você deve reiniciar a máquina para continuar

6 - Criando o usuário, grupo e diretório

Código: Selecionar todos

mkdir -p /u01/app
groupadd dba
/usr/sbin/useradd -m -c "Oracle Database" -g dba -d /u01/app/oracle -s /bin/bash oracle
touch /sbin/chkconfig
chmod u+x /sbin/chkconfig
7 - Criando links simbolicos e diretórios

Código: Selecionar todos

ln -s /usr/lib/i386-linux-gnu/libpthread_nonshared.a /usr/lib
ln -s /usr/lib/i386-linux-gnu/libc_nonshared.a /usr/lib
ln -s /lib/i386-linux-gnu/libgcc_s.so.1 /lib
ln -s /usr/lib/i386-linux-gnu/libstdc++.so.6 /usr/lib
ln -s /usr/bin/awk /bin/awk
mkdir /var/lock/subsys
touch /var/lock/subsys/listener
8 - Instalando o medonho :D

Código: Selecionar todos

dpkg --install oracle-xe_11.2.0-0.5_amd64.deb
9 - Tudo ok? Basta configurar

Adicione o seguinte layout em seu .bashrc
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/xe
export ORACLE_SID=XE
export NLS_LANG=`$ORACLE_HOME/bin/nls_lang.sh`
export ORACLE_BASE=/u01/app/oracle
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
export PATH=$ORACLE_HOME/bin:$PATH
E execute o profile

Código: Selecionar todos

. ./.profile
10 - Após rode o utilitários de configuração

Código: Selecionar todos

/etc/init.d/oracle-xe configure
Serão questionados os seguintes passos:
1 - Uma porta válida para o Oracle Application Express = Porta 8080
2 - Porta para o Oracle Database Listner = 1521
3 - Senha para SYS e SYSTEM = Suasenha
4 - Confirmação da senha = Suasenha
5 - Habilitar inicialização junto ao boot do sistema = Y
11 - Criando o usuário

Código: Selecionar todos

sqlplus sys as sysdba
create user novousuario identified by senhadousuario;
grant connect,resource to novousuario;
Teste final ( ainda no sqlplus )

Código: Selecionar todos

SQL> select 2+2 from dual;
Resultado:

      2+2
----------
4

SQL>

E tudo pronto , seu banco está funcional e pronto para produção ;)

12 - Caso deseje remover o procedimento é o seguinte:

dpkg --remove oracle-xe
dpkg --purge oracle-xe
rm -rf /u01
rm /sbin/chkconfig
userdel oracle
groupdel dba

Bom proveito  ;)


"Transportai um punhado de terra todos os dias e fareis uma montanha." Confúcio

Voltar para “Oracle”