Enabling EM Express in OCI DB Systems

Neste artigo, vamos explorar as etapas necessárias para habilitarmos o EM Express em nosso DB System 19C no OCI.

Configuring the EM Express port

Vamos confirmar qual é a porta que está sendo utilizada no banco de dados para o EM Express (na versão 19C, o EM está disponível apenas com o protocolo HTTPS):

[oracle@luxor ~]$ sqlplus / as sysdba
 
SQL*Plus: Release 19.0.0.0.0 - Production on Fri Jun 11 07:54:01 2021
Version 19.11.0.0.0
 
Copyright (c) 1982, 2020, Oracle.  All rights reserved.
 
 
Connected to:
Oracle Database 19c EE Extreme Perf Release 19.0.0.0.0 - Production
Version 19.11.0.0.0
 
SQL> SELECT DBMS_XDB_CONFIG.GETHTTPSPORT() FROM DUAL;
 
DBMS_XDB_CONFIG.GETHTTPSPORT()
------------------------------
                          5500

Apenas para registro, caso essa porta não esteja definida ou por motivos de segurança se deseje trocá-la, podemos rodar o comando abaixo com a porta desejada (o que não será necessário em nosso caso):

exec DBMS_XDB_CONFIG.SETHTTPSPORT(5555);

Opening the EM Express port in the internal firewall

Por padrão, o Firewall interno do nosso DB System (Iptables) não possui regra habilitada para a porta 5500. Desse modo, vamos fazer o processo de liberação. Realizando um backup das configurações vigentes:

[oracle@luxor ~]$ exit
logout
[opc@luxor ~]$ sudo su -
Last login: Fri Jun 11 07:51:23 UTC 2021
[root@luxor ~]# iptables-save > /tmp/iptables.11062021

Adicionando a regra para permitir inbound traffic na porta 5500:

[root@luxor ~]# iptables -I INPUT 8 -p tcp -m state --state NEW -m tcp --dport 5500 -j ACCEPT -m comment --comment "Necessário para o EM Express."
[root@luxor ~]#

Confirmando status:

[root@luxor ~]# service iptables status
Redirecting to /bin/systemctl status iptables.service
● iptables.service - IPv4 firewall with iptables
   Loaded: loaded (/usr/lib/systemd/system/iptables.service; enabled; vendor preset: disabled)
   Active: active (exited) since Fri 2021-06-11 07:49:13 UTC; 11min ago
  Process: 1098 ExecStart=/usr/libexec/iptables/iptables.init start (code=exited, status=0/SUCCESS)
 Main PID: 1098 (code=exited, status=0/SUCCESS)
   CGroup: /system.slice/iptables.service
 
Jun 11 07:49:13 luxor systemd[1]: Starting IPv4 firewall with iptables...
Jun 11 07:49:13 luxor iptables.init[1098]: iptables: Applying firewall rules: [  OK  ]
Jun 11 07:49:13 luxor systemd[1]: Started IPv4 firewall with iptables.

Salvando alterações:

[root@luxor ~]# /sbin/service iptables save
iptables: Saving firewall rules to /etc/sysconfig/iptables:[  OK  ]

Opening the EM Express port in the Security Lists

Por padrão, não temos a porta 5500 liberada na Security List, e nesta etapa vamos fazer essa liberação. Acessando a parte de VCN no OCI Console:

Entrando em nossa VCN:

Entrando em nossa Subnet:

Acessando a Security List:

Clicando em “Add Ingress Rules”:

Preenchendo a regra com a porta que precisamos liberar:

Regra criada:

Changing the permissions of the XDB Wallet files

Por último, precisamos definir as permissões de S.O para 640 dos nossos arquivos de Wallet. Para identificar sua localização, rodamos o comando abaixo:

[opc@luxor ~]$ sudo su - oracle
Last login: Fri Jun 11 08:13:02 UTC 2021
[oracle@luxor ~]$ lsnrctl status | grep HTTP
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=luxor.luxorsubnet.luxorvcn.oraclevcn.com)(PORT=5500))(Security=(my_wallet_directory=/u01/app/oracle/product/19.0.0.0/dbhome_2/admin/CORTEX_phx1hb/xdb_wallet))(Presentation=HTTP)(Session=RAW))

Acessamos o diretório em questão:

[oracle@luxor ~]$ cd /u01/app/oracle/product/19.0.0.0/dbhome_2/admin/CORTEX_phx1hb/xdb_wallet
[oracle@luxor xdb_wallet]$

Mudamos a permissão dos arquivos conforme abaixo:

[oracle@luxor xdb_wallet]$ chmod 640 ./*
[oracle@luxor xdb_wallet]$ ll
total 8
-rw-r----- 1 oracle asmadmin 3912 Jun  5 11:47 cwallet.sso
-rw-r----- 1 oracle asmadmin 3867 Jun  5 11:47 ewallet.p12

Testing EM Express

Para realizar a validação, basta coletarmos o endereço de IP público de nosso DB System e seguir o padrão abaixo:

https://<public IP address of the Db System>:5500/em

Preenchendo usuário e senha e logando:

Acesso realizado com sucesso:

Obs: Este procedimento foi criado pelo senhor Ahmed Baraka (www.ahmedbaraka.com) e foi apenas reproduzido por mim em um laboratório pessoal para fins de aprendizado.

Leave a Comment

Your email address will not be published.