Por favor, me forneça as orientações para instalar o oracle 11gr2 no Ubuntu 14.04.
Por favor, me forneça as orientações para instalar o oracle 11gr2 no Ubuntu 14.04.
Respostas:
Copie o arquivo baixado e cole-o no diretório inicial.
Descompacte usando o comando:
unzip oracle-xe-11.2.0-1.0.x86_64.rpm.zip
Instale os pacotes necessários usando o comando:
sudo apt-get install alien libaio1 unixodbc
Entre na pasta Disk1 usando o comando:
cd Disk1/
Converta o formato do pacote RPM para o formato do pacote DEB (usado pelo Ubuntu) usando o comando:
sudo alien --scripts -d oracle-xe-11.2.0-1.0.x86_64.rpm
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 tela. 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
Mude a permissão do arquivo chkconfig usando o comando:
sudo chmod 755 /sbin/chkconfig
Defina 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
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
Verifique a mudança usando o comando:
sudo cat /etc/sysctl.d/60-oracle.conf
Você deve ver o que inseriu anteriormente. Agora carregue os parâmetros do kernel:
sudo service procps start
Verifique se os novos parâmetros foram carregados usando:
sudo sysctl -q fs.file-max
Você deve ver o valor máximo do arquivo digitado anteriormente.
Configure o ponto de montagem / dev / shm para Oracle. Crie o seguinte arquivo usando o comando:
sudo pico /etc/rc2.d/S01shm_load
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
Altere as permissões do arquivo usando o comando:
sudo chmod 755 /etc/rc2.d/S01shm_load
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
Instale o DBMS da Oracle usando o comando:
sudo dpkg --install oracle-xe_11.2.0-2_amd64.deb
Configure o Oracle usando o comando:
sudo /etc/init.d/oracle-xe configure
Configure variáveis de ambiente editando o arquivo .bashrc:
pico ~/.bashrc
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
Carregue as alterações executando seu perfil:
. ~/.bashrc
Inicie o Oracle 11gR2 XE:
sudo service oracle-xe start
Adicione o usuário YOURUSERNAME ao grupo dba usando o comando:
sudo usermod -a -G dba YOURUSERNAME
Inicie o servidor Oracle XE 11gR2 usando o comando:
sudo service oracle-xe start
Inicie o shell da linha de comando como administrador do sistema usando o comando:
sqlplus sys as sysdba
Digite a senha que você forneceu ao configurar o Oracle anteriormente. Agora você será colocado em um ambiente SQL que apenas entende comandos SQL.
Crie uma conta de usuário comum 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. Lembre-se deste nome de usuário e senha. Se você teve um erro ao executar o acima com uma mensagem sobre resetlogs, execute o seguinte comando SQL e tente novamente:
alter database open resetlogs;
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. Lembre-se deste nome de usuário e senha.
Saia do shell sys admin usando o comando SQL:
exit;
Inicie o shell da linha de comando como um usuário comum usando o comando:
sqlplus
Agora, você pode executar comandos sql ...
Starting Oracle Net Listener...touch: cannot touch '/var/lock/subsys/listener': No such file or directory Done Configuring database... Database Configuration failed. Look into /u01/app/oracle/product/11.2.0/xe/config/log for details
/etc/rc2.d/S01shm_load
parece estar faltando, ;;
indicando o fim de uma alternativa na linha 7.
sudo service procps restart
vez desudo service procps start
Obrigado pelo tutorial detalhado, mas estava recebendo erro
touch: cannot touch '/var/lock/subsys/listener' ..
na etapa sudo /etc/init.d/oracle-xe configure
. Assim, 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
/etc/rc2.d/S01shm_load
na resposta de Saikat. Corrigir isso seria uma solução mais limpa. Vou editar a resposta com o script correto.
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 ele:
systemctl status oracle-xe.service
Jan 27 10:01:05 <myusername> su[29699]: No passwd entry for user 'oracle'
Eu o resolvi simplesmente adicionando um usuário:
sudo adduser oracle
Espero que isso ajude alguém.