Página 1 de 1

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

Enviado: 22 Mai 2014 11:09
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  ;)