Como instalar o Oracle 11gR2 no Ubuntu 14.04?

Por favor me forneça a orientação para instalar o oracle 11gr2 no Ubuntu 14.04.

Etapa 1: faça o download do Oracle Database Express Edition.

Etapa 2: instruções antes de instalar o Oracle

  1. Copie o arquivo baixado e cole-o no diretório inicial.

  2. Descompacte usando o comando:

    unzip oracle-xe-11.2.0-1.0.x86_64.rpm.zip 
  3. Instale os pacotes necessários usando o comando:

     sudo apt-get install alien libaio1 unixodbc 
  4. Entre na pasta Disk1 usando o comando:

     cd Disk1/ 
  5. Converta o formato do pacote RPM para o formato de pacote DEB (que é usado pelo Ubuntu) usando o comando:

     sudo alien --scripts -d oracle-xe-11.2.0-1.0.x86_64.rpm 
  6. Crie o script chkconfig necessário usando o comando:

     sudo pico /sbin/chkconfig 

    O editor de texto pico é iniciado e os comandos são mostrados na parte inferior da canvas. Agora copie e cole o seguinte no arquivo e salve:

     #!/bin/bash # Oracle 11gR2 XE installer chkconfig hack for Ubuntu 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 
  7. Altere a permissão do arquivo chkconfig usando o comando:

     sudo chmod 755 /sbin/chkconfig 
  8. Definir os parâmetros do kernel. O Oracle 11gR2 XE requer parâmetros adicionais do kernel que você precisa definir usando o comando:

     sudo pico /etc/sysctl.d/60-oracle.conf 
  9. Copie o seguinte no arquivo e salve:

     # Oracle 11g XE kernel parameters fs.file-max=6815744 net.ipv4.ip_local_port_range=9000 65000 kernel.sem=250 32000 100 128 kernel.shmmax=536870912 
  10. Verifique a mudança usando o comando:

     sudo cat /etc/sysctl.d/60-oracle.conf 
  11. Você deve ver o que você digitou antes. Agora carregue os parâmetros do kernel:

     sudo service procps start 
  12. Verifique se os novos parâmetros são carregados usando:

     sudo sysctl -q fs.file-max 

    Você deve ver o valor máximo de arquivo inserido anteriormente.

  13. Configure / dev / shm ponto de assembly para o Oracle. Crie o seguinte arquivo usando o comando:

     sudo pico /etc/rc2.d/S01shm_load 
  14. Copie o seguinte no arquivo e salve.

     #!/bin/sh case "$1" in start) mkdir /var/lock/subsys 2>/dev/null touch /var/lock/subsys/listener rm /dev/shm 2>/dev/null mkdir /dev/shm 2>/dev/null *) echo error exit 1 ;; esac 
  15. Altere as permissions do arquivo usando o comando:

     sudo chmod 755 /etc/rc2.d/S01shm_load 
  16. Agora execute os seguintes comandos:

     sudo ln -s /usr/bin/awk /bin/awk sudo mkdir /var/lock/subsys sudo touch /var/lock/subsys/listener 

    Agora, reinicie seu sistema

Etapa 3: instalar o Oracle

  1. Instale o oracle DBMS usando o comando:

     sudo dpkg --install oracle-xe_11.2.0-2_amd64.deb 
  2. Configure o Oracle usando o comando:

     sudo /etc/init.d/oracle-xe configure 
  3. Configure as variables ​​de ambiente editando seu arquivo .bashrc:

     pico ~/.bashrc 
  4. Adicione as seguintes linhas ao final do arquivo:

     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 
  5. Carregue as alterações executando seu perfil:

     . ~/.bashrc 
  6. Inicie o Oracle 11gR2 XE:

     sudo service oracle-xe start 
  7. Adicione o usuário YOURUSERNAME ao grupo dba usando o comando:

     sudo usermod -a -G dba YOURUSERNAME 

Etapa 4: Usando o Oracle XE Command Shell

  1. Inicie o servidor Oracle XE 11gR2 usando o comando:

     sudo service oracle-xe start 
  2. Inicie o shell da linha de comandos como o administrador do sistema usando o comando:

     sqlplus sys as sysdba 

    Digite a senha que você deu ao configurar o Oracle anteriormente. Agora você será colocado em um ambiente SQL que entende apenas comandos SQL.

  3. Crie uma conta de usuário regular no Oracle usando o comando SQL:

     create user USERNAME identified by PASSWORD; 

    Substitua USERNAME e PASSWORD pelo nome de usuário e senha de sua escolha. Por favor, lembre-se deste nome de usuário e senha. Se você teve erro ao executar o acima com uma mensagem sobre resetlogs, execute o seguinte comando SQL e tente novamente:

     alter database open resetlogs; 
  4. Conceda privilégios à conta do usuário usando o comando SQL:

     grant connect, resource to USERNAME; 

    Substitua USERNAME e PASSWORD pelo nome de usuário e senha de sua escolha. Por favor, lembre-se deste nome de usuário e senha.

  5. Saia do shell admin do sistema usando o comando SQL:

     exit; 
  6. Inicie o shell de linha de comando como um usuário comum usando o comando:

     sqlplus 

    Agora você pode executar comandos sql …

Obrigado pelo tutorial detalhado, mas eu estava recebendo erro

 touch: cannot touch '/var/lock/subsys/listener' .. 

na etapa sudo /etc/init.d/oracle-xe configure . Então, como sugerido em http://meandmyubuntulinux.blogspot.in/2012/05/installing-oracle-11g-r2-express.html , adicionei as seguintes linhas em /etc/init.d/oracle-xe

 if [ -L /dev/shm ]; then rm -rf /dev/shm mkdir /dev/shm mount -t tmpfs shmfs -o size=2048m /dev/shm fi if [ ! -d /var/lock/subsys ]; then mkdir /var/lock/subsys touch /var/lock/subsys/listener fi 

… e está funcionando bem para mim

Isso funcionou bem, no entanto, recebi o seguinte erro:

 sudo /etc/init.d/oracle-xe start [....] Starting oracle-xe (via systemctl): oracle-xe.serviceJob for oracle-xe.service failed because the control process exited with error code. See "systemctl status oracle-xe.service" and "journalctl -xe" for details. failed! 

Olhando para isso:

 systemctl status oracle-xe.service Jan 27 10:01:05  su[29699]: No passwd entry for user 'oracle' 

Eu resolvi isso simplesmente adicionando um usuário:

 sudo adduser oracle 

Espero que isso ajude alguém.