Como instalar o banco de dados Oracle 12c no RHEL/CentOS 7
O banco de dados Oracle é um dos sistemas de gerenciamento de banco de dados relacional (RDBMS) mais amplamente usados em ambientes corporativos. Desenvolvido, mantido e suportado pela Oracle Corporation, este RDBMS é frequentemente instalado sobre uma versão do Enterprise Linux (RHEL, CentOS ou Scientific Linux). Isso cria um sistema operacional muito robusto – escolha de banco de dados.
Neste artigo, explicaremos como instalar o Oracle 12c Release 2 em um servidor RHEL/CentOS 7 GUI.
Atenção: usuários do RHEL/CentOS 6 podem seguir este guia para instalar o Oracle Database 12c no RHEL/CentOS 6.x
Vamos começar.
Pré-requisitos:
Após a instalação do Oracle 12c, a configuração será realizada através de uma interface gráfica. É por isso que precisamos de um servidor CentOS 7 com o grupo de software X Window System instalado.
Leia também: Instale GUI (Gnome) no servidor RHEL/CentOS 7
Além disso, observe que é necessária uma conta Oracle para baixar o arquivo de instalação do Oracle Database 12c (3,2 GB). Não se preocupe com isso, pois você pode criar uma conta gratuitamente.
Por fim, certifique-se de que seu servidor tenha pelo menos 2 GB de RAM e 30 GB de espaço em disco disponível. Esses requisitos de hardware são seguros para um ambiente de teste como o nosso, mas precisarão ser aumentados se você considerar usar o Oracle na produção.
Preparando para instalação do Oracle 12c
1. Para começar, certifique-se de que todos os pacotes atualmente instalados em seu sistema RHEL/CentOS 7 estejam atualizados para suas versões mais recentes.
yum update -y
2. Em seguida, instalei todas as dependências necessárias para o RDBMS, junto com os pacotes zip e unzip.
yum install -y binutils.x86_64 compat-libcap1.x86_64 gcc.x86_64 gcc-c++.x86_64 glibc.i686 glibc.x86_64 glibc-devel.i686 glibc-devel.x86_64 ksh compat-libstdc++-33 libaio.i686 libaio.x86_64 libaio-devel.i686 libaio-devel.x86_64 libgcc.i686 libgcc.x86_64 libstdc++.i686 libstdc++.x86_64 libstdc++-devel.i686 libstdc++-devel.x86_64 libXi.i686 libXi.x86_64 libXtst.i686 libXtst.x86_64 make.x86_64 sysstat.x86_64 zip unzip
3. Crie a conta de usuário e os grupos para Oracle.
groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle
Por fim, defina uma senha para a conta Oracle recém-criada.
passwd oracle
4. Adicione os seguintes parâmetros do kernel ao arquivo /etc/sysctl.conf.
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 8329226240
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048586
e aplique-os:
sysctl -p
sysctl -a
5. Defina os limites para o oracle no arquivo /etc/security/limits.conf.
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
6. Crie um diretório chamado /stage e extraia o arquivo de instalação compactado.
unzip linuxx64_12201_database.zip -d /stage/
Antes de continuar, crie outros diretórios que serão usados durante a instalação real e atribua as permissões necessárias.
mkdir /u01
mkdir /u02
chown -R oracle:oinstall /u01
chown -R oracle:oinstall /u02
chmod -R 775 /u01
chmod -R 775 /u02
chmod g+s /u01
chmod g+s /u02
Agora estamos prontos para executar o script de instalação.
7. Abra uma sessão GUI no servidor RHEL/CentOS 7 e inicie o script de instalação.
/stage/database/runInstaller
e siga os passos apresentados pelo instalador.
Instalando Oracle 12c no CentOS 7
8. Insira o endereço de e-mail associado à sua conta Oracle (opcional).
9. Escolha Criar e configure um banco de dados.
10. Selecione a classe Desktop já que estamos definindo uma configuração mínima e um banco de dados inicial.
11. Selecione as seguintes opções para configuração básica.
- Base Oracle: /u01/app/oracle
- Localização do software: /u01/app/oracle/product/12.2.0/dbhome_1
- Localização do arquivo de banco de dados: /u01
- Grupo OSDBA: dba
- Nome global do banco de dados: sua escolha. Escolhemos tecmint aqui.
- Anote a senha, pois você a usará quando se conectar ao banco de dados pela primeira vez.
- Desmarque o banco de dados Criar como contêiner.
12. Deixe o diretório Inventário padrão como /u01/app/oraInventory.
13. Verifique se as pré-verificações de instalação foram concluídas sem erros.
O instalador não permitirá que você ultrapasse esse ponto se algum erro for encontrado.
14. Aguarde até que a instalação do Oracle 12c seja concluída.
É possível que em algum momento durante a instalação você seja solicitado a executar alguns scripts para configurar permissões adicionais ou corrigir problemas. Isso é ilustrado aqui:
E aqui:
cd /u01/app/oraInventory
./orainstRoot.sh
cd /u01/app/oracle/product/12.2.0/dbhome_1
./root.sh
15. Depois disso, você precisará retornar à tela anterior da sessão GUI e clicar em OK para que a instalação possa continuar.
Ao finalizar, será apresentada a seguinte mensagem indicando a URL do Oracle Enterprise Manager:
https://localhost:5500/em
Toques finais do Oracle 12c
16. Para permitir conexões de fora do servidor, você precisará abrir as seguintes portas:
1521/TCP
5500/TCP
5520/TCP
3938/TCP
Do seguinte modo:
firewall-cmd --zone=public --add-port=1521/tcp --add-port=5500/tcp --add-port=5520/tcp --add-port=3938/tcp --permanent
firewall-cmd --reload
17. Em seguida, faça login como oracle usando a senha escolhida anteriormente e adicione as seguintes linhas ao arquivo .bash_profile.
TMPDIR=$TMP; export TMPDIR
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/12.2.0/dbhome_1; export ORACLE_HOME
ORACLE_SID=tecmint; export ORACLE_SID
PATH=$ORACLE_HOME/bin:$PATH; export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/lib64; export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH
18. Por fim, substitua localhost por 0.0.0.0 ativado.
vi $ORACLE_HOME/network/admin/listener.ora
19. O último passo consiste em recarregar .bash_profile para aplicar as novas configurações.
source .bash_profile
20. E então faça login no banco de dados usando a conta do sistema e a senha escolhida na Etapa 11 da seção anterior.
sqlplus system@tecmint
Opcionalmente, vamos criar uma tabela dentro do banco de dados tecmint onde inseriremos alguns registros de amostra como segue.
SQL> CREATE TABLE NamesTBL
(id NUMBER GENERATED AS IDENTITY,
name VARCHAR2(20));
Observe que as colunas IDENTITY foram introduzidas pela primeira vez no Oracle 12c.
SQL> INSERT INTO NamesTBL (name) VALUES ('Gabriel');
SQL> INSERT INTO NamesTBL (name) VALUES ('Admin');
SQL> SELECT * FROM NamesTBL;
Habilitando o Oracle para iniciar na inicialização do sistema
21. Para permitir que o serviço de banco de dados seja iniciado automaticamente na inicialização, adicione as seguintes linhas ao arquivo /etc/systemd/system/oracle-rdbms.service.
/etc/systemd/system/oracle-rdbms.service
Invoking Oracle scripts to start/shutdown Instances defined in /etc/oratab
and starts Listener
[Unit]
Description=Oracle Database(s) and Listener
Requires=network.target
[Service]
Type=forking
Restart=no
ExecStart=/u01/app/oracle/product/12.2.0/dbhome_1/bin/dbstart /u01/app/oracle/product/12.2.0/dbhome_1
ExecStop=/u01/app/oracle/product/12.2.0/dbhome_1/bin/dbshut /u01/app/oracle/product/12.2.0/dbhome_1
User=oracle
[Install]
WantedBy=multi-user.target
22. Finalmente, precisamos indicar que o banco de dados tecmint deve ser aberto durante a inicialização em /etc/oratab (Y: Sim).
Resumo
Neste artigo, explicamos como instalar o Oracle 12c no RHEL/CentOS 7, como criar e configurar um banco de dados e como criar tabelas e inserir linhas de dados.
Além disso, é importante observar que o servidor de banco de dados deve estar instalado e funcionando quando o sistema for inicializado, e nosso banco de dados padrão deverá estar disponível nesse ponto.
Se você tiver alguma dúvida ou comentário sobre este artigo, sinta-se à vontade para nos enviar uma mensagem usando o formulário abaixo.