EM Express Basic Troubleshooting

After 12c, unfortunately, we lost Enterprise Manager Console but we have pre-installed EM Express now. if you remember EM console you would install it with emca utility with many parameters. EM express save you from this because it is embedded. you just need to set a few things in your DB. if you already try to start em express and failed I hope this article will give the basic idea about it.

First, EM express runs on an specific port obviously. to learn this port:

select dbms_xdb_config.getHttpsPort() from dual;

this will give you the port for EM and you can just simply run your EM using this link:

please change with your database ip address and it should work. it is just that simple.  I also want you to remind that you can also use http ports not https. simply use sethttpport and gethttport in dbms_xdb_config.

but if you don’t see em page here then you should follow these:

1- if you didn’t see any port from dbms_xdb_config.gethttpsport() function, you might need to set it first using:

exec dbms_xdb_config.sethttpsport(5050);

you can change 5050 with any port you want.

2- you set the port and can see it as a result of gethttpsport() function but em express page still not working.

check your database parameters first:

show parameter shared_servers

you must see at least 1 for shared_servers parameter, if you see zero or non set it to 1.

EM express calls are handled by LISTENER process so your listener should be aware of your em express service:

lsnrctl status

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=Mustylaptop)(PORT=1521)))
Version TNSLSNR for 64-bit Windows: Version – Production
Start Date 08-JUN-2019 23:32:44
Uptime 0 days 23 hr. 34 min. 43 sec
Trace Level off
Security ON: Local OS Authentication
Listener Parameter File C:\app\musta\product\12.2.0\dbhome_1\network\admin\listener.ora
Listener Log File C:\app\musta\diag\tnslsnr\MustyLaptop\listener\alert\log.xml
Listening Endpoints Summary…
Services Summary…
Service “CLRExtProc” has 1 instance(s).
Instance “CLRExtProc”, status UNKNOWN, has 1 handler(s) for this service…
Service “orcl12” has 1 instance(s).
Instance “orcl12”, status READY, has 1 handler(s) for this service…
Service “orcl12XDB” has 1 instance(s).
Instance “orcl12”, status READY, has 1 handler(s) for this service…
The command completed successfully

as you can see my database name is “orcl12” and necessary service name for em express is “orcl12XDB”. your listener should be listing this. if your listener is not on 1521 port (default) then your local_listener parameter in your DB should be pointing this listener (by it’s name) or should be null for default listener.

since EM uses a shared connection your dispatchers parameter should set properly:

show parameter dispatchers

dispatchers string (PROTOCOL=TCP) (SERVICE=orcl12XDB)

again, orcl12XDB (<sid>XDB) is indicated in dispatchers parameter.

so this should be enough but one common mistake is if there are more than one DB on the server they might be trying to use same port be sure every database has it’s own http/https port for EM Express.

EM express is very useful but I will be missing EM console at 11g and most important reason is the performance page. Please consider that “performance hub” in EM Express requires “diagnostic pack” so that means extra cost!


edit: by mistake I used dbms_xdb instead of dbms_xdb_config. corrected.

Leave a Reply

Your email address will not be published. Required fields are marked *