*Última atualização: 10/09/2019.
Neste artigo reuni todos os passos os quais necessitei seguir para conseguir montar um ambiente de estudos para banco de dados, utilizando a base de dados de demonstração do Oracle XE.
Neste artigo reuni todos os passos os quais necessitei seguir para conseguir montar um ambiente de estudos para banco de dados, utilizando a base de dados de demonstração do Oracle XE.
Essa
base de dados de demonstração (sample schema)
serve para auxiliar os estudos de banco de dados. Em vez de ter que
criar e preencher várias tabelas para então criar e resolver
exercícios, podemos utilizar o sample schema HR (Human resources –
Recursos humanos) da Oracle, que é uma base de dados para recursos
humanos já preenchida com muitos dados. Basta então “brincar”
com eles. Para ter acesso a esse recursos, iremos instalar o Oracle
XE 11g 11.2.0 e o SQL
Developer 19.2.
Infelizmente, instalar estas duas ferramentas no Linux não é uma tarefa simples,
porém, não é impossível. Há alguns tutoriais na internet
explicando como efetuar esta tarefa. No entanto, nenhum deles serviu integralmente para mim. Então, reuni aqui “pedacinhos” de cada
tutorial que fui encontrando, e esses “pedacinhos” são as partes
que serviram no meu caso: Linux
Mint 18.3 Sylvia e Linux Mint 19.1 Cinnamon.
Primeira
parte: Configurações
pré-instalação
1)
Instalar
as dependências necessárias
sudo
apt-get update
sudo
apt-get install alien libaio1 libaio-dev sysstat unixodbc-dev
libelf-dev flex build-essential gawk ksh libtool
2)
Configurar
os grupos e usuários necessários
De
acordo com a documentação do Oracle XE, são necessários os
seguintes grupos e usuários: oinstall, dba, nobody e o usuário
oracle. Esta etapa pode ser feita pelo modo gráfico, indo em Menu →
Administação → Usuários e grupos ou pelo terminal, com os
seguintes comandos:
Criando
os grupos:
sudo
addgroup oinstall
sudo
addgroup dba
sudo
addgroup nobody
sudo
usermod -g nobody nobody
Criando
o usuário oracle com a senha oracle (eu coloquei esta senha para
facilitar, mas você pode colocar a senha que preferir, contanto que
lembre depois)
sudo
useradd -g oinstall -G dba -p password -d /home/oracle -s /bin/bash
oracle
sudo
passwd oracle
Criando
o diretório /home para o usuário oracle
sudo
mkdir /home/oracle
sudo
chown -R oracle:dba /home/oracle
Adicionando
o seu usuário em todos os grupos criados
sudo
addgroup SEU-USUÁRIO oinstall
sudo
addgroup SEU-USUÁRIO dba
sudo
addgroup SEU-USUÁRIO nobody
3)
Criar
links simbólicos
O
Oracle 11g
XE foi baseado na distribuição Red Hat, o que faz com que seus
diretórios sejam diferentes das distribuições baseadas no Ubuntu
(caso do Mint). Sendo assim, é necessário criar links simbólicos
para que o Oracle 11g XE encontre esses diretórios.
sudo
ln -s /usr/lib/i386-linux-gnu/libpthread_nonshared.a /usr/lib
sudo
ln -s /usr/lib/i386-linux-gnu/libc_nonshared.a /usr/lib
sudo
ln -s /lib/i386-linux-gnu/libgcc_s.so.1 /lib
sudo
ln -s /usr/lib/i386-linux-gnu/libstdc++.so.6 /usr/lib
sudo
ln -s /usr/bin/awk /bin/awk
sudo
ln -s /usr/bin/rpm /bin/rpm
sudo
ln -s /usr/bin/basename /bin/basename
sudo
mkdir /etc/rc.d
4)
Criar
diretórios usados pelo Oracle 11g XE
sudo
mkdir -p /u01/app/oracle
sudo
chown -R oracle:dba /u01
5)
Ajustar
o chkconfig
Você
precisa abrir o arquivo num editor de textos, no meu caso uso o
nano:
sudo nano /sbin/chkconfig
Acrescente
ao arquivo o seguinte conteúdo:
#!/bin/bash
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
Salve,
feche (ctrl + O, enter e ctrl + X) e dê permissão com o seguinte comando:
sudo
chmod 755 /sbin/chkconfig
6)
Atualização da configuração do sistema no arquivo sysctl.conf
Abra o arquivo sysctl.conf:
sudo nano /etc/sysctl.conf
Acrescente o seguinte conteúdo:
# Configurações para o Oracle 11g
XE
fs.file-max = 65535
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 1024
65535
net.core.rmem_default = 1048576
net.core.rmem_max = 1048576
net.core.wmem_default = 262144
net.core.wmem_max = 262144
Salve e feche o arquivo.
7) Integração das configurações
do Oracle 11g XE com o arquivo limits.conf
Abra o arquivo limits.conf:
sudo nano /etc/security/limits.conf
Adicione o seguinte conteúdo ao
arquivo:
# Configurações para o Oracle 11g
XE
oracle soft nproc 2047
oracle hard nproc 16383
oracle soft nofile 1023
oracle hard nofile 65535
Salve, feche e
reinicie o computador.
Segunda
parte: Instalação do Oracle
11g XE
1) Baixar
o Oracle XE
https://www.oracle.com/technetwork/database/database-technologies/express-edition/downloads/xe-prior-releases-5172097.html
Descompacte o arquivo. Abra a pasta
onde está o arquivo .rpm e converta para .deb com o seguinte
comando:
sudo alien --scripts oracle-xe-11.2.0-1.0.x86_64.rpm
Execute o arquivo .deb gerado. A
instalação será efetuada.
Terceira
parte: Configurações pré-uso
Antes de utilizar o Oracle 11g
alguns ajustes precisam ser feitos para que ele funcione.
1) Configurar
profile
Abra o arquivo profile:
sudo nano /etc/profile
Acrescente este conteúdo ao seu
final:
export
ORACLE_HOME=/u01/app/oracle/product/11.2.0/xe
export ORACLE_SID=XE
export
PATH=$PATH:/u01/app/oracle/product/11.2.0/xe
export ORACLE_BASE=/u01/app/oracle
export
ORACLE_HOME=/u01/app/oracle/product/11.2.0/xe
export ORACLE_OWNR=oracle
export PATH=$PATH:$ORACLE_HOME/bin
Para que as alterações tenham
efeito, abra a pasta home do usuário padrão no terminal e execute o
seguinte comando:
source $HOME/.profile
2) Renomear o arquivo init.ora
O arquivo init.ora
armazena os parâmetros de inicialização do Oracle. Após a
instalação do Oracle 11g XE, ao executar o comando startup dentro
do SQLPLUS, ele busca pelo arquivo initXE.ora.
No entanto, o arquivo
está nomeado init.ora,
e por isso não será encontrado. Sendo assim, deve-se renomeá-lo.
No diretório
/u01/app/oracle/product/11.2.0/xe abra a pasta dbs como administrador
e então renomeie o arquivo "init.ora" para "initXE.ora
3) Criar
arquivos necessários para as tarefas start,
stop, restart, configure
Abra o arquivo /etc/init.d/oracle-xe
sudo nano /etc/init.d/oracle-xe
Acrescente
o script abaixo
no início do arquivo (depois dos comentários):
# Create /var/lock/subsys/listener
and /var/lock/subsys/oracle-xe.
# Files required by Oracle during
some action to be service (start, stop, restart, configure).
if [ ! -d "/var/lock/subsys"
]; then(
mkdir /var/lock/subsys
if [ ! -f
"/var/lock/subsys/oracle-xe" ]; then
touch /var/lock/subsys/oracle-xe
fi
if [ ! -f
"/var/lock/subsys/listener" ]; then
touch /var/lock/subsys/listener
fi
)else(
if [ ! -f
"/var/lock/subsys/oracle-xe" ]; then
touch /var/lock/subsys/oracle-xe
fi
if [ ! -f
"/var/lock/subsys/listener" ]; then
touch /var/lock/subsys/listener
fi
)fi
# End
# Create by: William C.Canin
Salve e feche o arquivo.
Quarta parte: configurar o Oracle
11g XE
1) Executar o comando de
configuração
sudo /etc/init.d/oracle-xe configure
4 coisas precisarão ser
configuradas:
1- Porta HTTP para o APEX
(Application Express): Observe o valor padrão sugerido e use-o.
2- Porta do listener do SGDB:
Observe o valor padrão sugerido e use-o.
3- Senha do SYS e SYSTEM. Após
digitar a senha escolhida será requerida a confirmação.
4- Definir se o Oracle XE deve
iniciar junto com o sistema operacional.
Se ao executar o comando de
configuração ocorrer um erro como este:
/etc/init.d/oracle-xe: line 21:
syntax error near unexpected token `)'
/etc/init.d/oracle-xe: line 21:
`configure).'
É porque algo etá desconfigurado
na sintaxe do script. Neste caso, o termo 'configure).' é um
comentário, mas "saltou" para fora da parte de comentário.
Basta arrumar isto, abrindo o script como administrador num editor de
texto, como pode-se ver abaixo:
Quinta parte: Instalar o SQL
Developer
1) Instalar o JDK (Java 8)
sudo apt-get install openjdk-8-jdk
2) Baixar o SQL Developer
Baixar a última versão do SQL
Developer neste link.
http://www.oracle.com/technetwork/pt/developer-tools/sql-developer/downloads/index.htm
3) Converter para .deb com Alien e
instalar
Descompacte o arquivo. Abra a pasta
onde está o arquivo .rpm e converta para .deb com o seguinte
comando:
sudo alien --scripts
sqldeveloper-17.4.0.355.2349-1.noarch.rpm
Execute o arquivo .deb gerado. A
instalação será efetuada.
4) Iniciar o SQL Developer
No diretório /opt/sqldeveloper,
localizar o arquivo sqldeveloper.sh
e executar no terminal
Se for solicitado o diretório do
JDK, basta informar o diretório onde está o Java, provavelmente é
este:
/usr/lib/jvm/java-8-oracle ou /usr/lib/jvm/java-8-openjdk-amd64
O SQL Developer irá iniciar.
5) Criar atalho
No terminal, dentro do diretório
/opt/sqldeveloper:
Abrir com um editor de texto o
arquivo sqldeveloper.sh
sudo gedit
/opt/sqldeveloper/sqldeveloper.sh
Comentar o que tiver lá e
acrescentar o seguinte:
unset -v GNOME_DESKTOP_SESSION_ID
cd
/opt/sqldeveloper/sqldeveloper/bin && bash sqldeveloper $*
No diretório
/usr/share/applications:
sudo gedit sqldeveloper.desktop
No arquivo de texto, digitar o
seguinte:
[Desktop Entry]
Exec=sqldeveloper
Terminal=false
startupNotify=true
Categories=GNOME;Oracle;
Type=Application
Icon=/opt/sqldeveloper/icon.png
Name=Oracle SQL Developer
Após salvar, atualize a lista do
menu de aplicativos:
sudo update-desktop-database
Sexta parte: configurar conexão no
SQL Developer
Antes de abrir o SQL Developer,
deve-se iniciar a base de dados do Oracle XE. Para isso, basta
digitar start no menu de aplicações do Mint e clicar em "Start
Database" ou "Iniciar banco de dados".
Depois, ao digitar SQL já deve
aparecer o Oracle SQL Developer, e então basta abri-lo.
Deve-se criar uma nova conexão,
onde você decide o nome, e então entra com o usuário "system"
e a senha definida para ele nas configurações. Depois basta clicar
em "Connect"
ou "Conectar".
O SQL Developer está pronto para uso.





