Pesquisa de site

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.