Enabling and Troubleshooting Enterprise Manager (EM) Express Console in Oracle Database on OCI
In Oracle Database releases including 12.1.0.2, 12.2.0.1, and 18c (18.1.0.0), the Oracle Enterprise Manager (EM) Express Console is not enabled by default. When running database workloads on Oracle Cloud Infrastructure (OCI)—such as Bare Metal, VM, or Exadata DB Systems—enabling EM Express requires configuration across multiple layers: database listener initialization, OS-level firewall updates, OCI Security List rules, and SSL wallet permission fixes.
In this guide, we will walk through the complete process of enabling EM Express at the Pluggable Database (PDB) level, configuring network routing on OCI, and fixing the common "Secure Connection Failed" HTTPS wallet error.
1. Network Architecture Flow in OCI
End-to-End Connection Path:
Client Request: The client connects over an approved network route (VPN, FastConnect, or Bastion host).
VCN Ingress Filtering: The OCI Security List evaluates incoming traffic on TCP port
5500.OS Firewall: The Linux host-level firewall (
firewalldoriptables) allows connection onto port5500.Oracle XML DB Servlet: Traffic reaches the Database Listener and is handed off to the internal XML DB HTTPS Listener on port
5500to serve the EM Express Web Console.
2. Step 1: Configuring the Database HTTPS Port
DBMS_XDB_CONFIG.Check Initial Listener Status
oracle user and check if the Oracle Listener is listening on port 5500:(DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=...)(PORT=5500))...).Enable the HTTPS Port at PDB Level
Connect to the target Pluggable Database via SQL*Plus as SYSDBA:
sqlplus / as sysdba
-- Switch to the target Pluggable Database
ALTER SESSION SET CONTAINER = pdb1;
-- Check current HTTPS port (Returns 0 if disabled)
SELECT DBMS_XDB_CONFIG.GETHTTPSPORT() FROM DUAL;
-- Set the HTTPS port to 5500
EXEC DBMS_XDB_CONFIG.SETHTTPSPORT(5500);
-- Confirm the new port assignment
SELECT DBMS_XDB_CONFIG.GETHTTPSPORT() FROM DUAL;
Confirm Listener Endpoint
Expected Output Snippet:
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=dbhost.sub00000000.vcn.oraclevcn.com)(PORT=1521)))
STATUS of the LISTENER
----------------------
...
Services Summary...
Service "pdb1.sub00000000.vcn.oraclevcn.com" has 1 instance(s).
Instance "cdb1", status READY, has 1 handler(s) for this service...
Endpoint Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=dbhost.sub00000000.vcn.oraclevcn.com)(PORT=5500))(FullServName)(Server=http/javax.xml.xdb.HTTPServer))
The command completed successfully
3. Step 2: Opening OS-Level Host Firewall Port
firewalld or iptables) block non-standard incoming ports by default.For firewalld (RHEL 7 / Oracle Linux 7 & 8):
For iptables (Oracle Linux 6 / Custom Images):
4. Step 3: Configuring OCI VCN Security List
5500, you must permit traffic at the OCI Virtual Cloud Network (VCN) level.Log into the Oracle Cloud Infrastructure Console.
Open the Navigation Menu -> Oracle Database -> Bare Metal, VM, and Exadata.
Select your Compartment and locate your target DB System.
Click on the DB System's Subnet link to navigate to the Subnet Details page.
Under Security Lists, click the active Security List associated with the subnet.
Click Add Ingress Rules and configure the rule
Source Type: CIDR
Source CIDR: Enter your client subnet CIDR block (e.g.,
10.0.0.0/16or approved VPN block). Avoid using0.0.0.0/0unless required for explicit public access.IP Protocol: TCP
Destination Port Range:
5500Description: Allow inbound EM Express HTTPS access
- Click Add Ingress Rules.
5. Troubleshooting: Fixing "Secure Connection Failed" (Wallet Permissions)
https://<DB_HOST_IP>:5500/em) often returns a browser error: Secure Connection Failed or ERR_SSL_PROTOCOL_ERROR.Root Cause
Step-by-Step Fix:
SYSDBA to query the wallet path:Typically points to: /var/opt/oracle/dcs/common/dbs/ or $ORACLE_BASE/admin/$ORACLE_SID/xdb_wallet.
#2. Check Wallet Directory Permissions at OS Level:
Navigate to the directory as the oracle user:
cd /var/opt/oracle/dcs/common/dbs/xdb_wallet
ls -la
#3. Grant Correct Read Permissions:
Ensure the oracle OS user and oinstall group own the wallet files and possess read/write permissions:
# Change ownership to oracle:oinstall
sudo chown -R oracle:oinstall /var/opt/oracle/dcs/common/dbs/xdb_wallet
# Grant read/write permissions for the wallet
chmod 600 cwallet.sso p12wallet.pkcs12
chmod 700 /var/opt/oracle/dcs/common/dbs/xdb_wallet
#4. Bounce the Listener and Restart EM Express Port:
Restart the listener to reload the SSL wallet context:
lsnrctl reload
6. Verification & Access
Open a web browser from a host connected to your approved network path (VPN/Bastion).
- Navigate to the EM Express URL:
- https://<DB_System_IP_or_Hostname>:5500/em
- Enter your database credentials:
Username:
SYS(orSYSTEM)Password:
<Your_SYS_Password>Container Name:
pdb1(or your target PDB name)
References & Further Reading
My Oracle Support (MOS): How to Configure EM Express in 12c, 18c, and 19c Multi-Tenant Databases
Oracle Cloud Infrastructure Documentation: Managing Database Systems and Virtual Cloud Networks (VCNs)
****************************நன்றி****************************

Comments
Post a Comment