please do not use "XE" as the container name.
It's the name of the instance (ORACLE_SID) and the name of the container database, but not the name of the container
Leave "container name" empty => you will connect to the root container CDB$ROOT
Enter "CDB$ROOT" ==> root container CDB$ROOT
Enter "XEPDB1" ==> you will connect to the PDB "XEPDB1"
I was able to connect to EM when i leave container name empty.
But when i enter xepdb1 ( uppercase or lowercase ) i get new windows popup that says:
"https://db_server_name:5500 is requesting your username and password. The site says: “XDB”
I enter sys and sys password but can't get in EM.
is the PDB XEPDB1 open?
Please try "show pdbs" when connected in SQL*Plus
I'm having the same issue.
XEPDB1 is in open READ/WRITE mode.
I can login to EM Express using SYS and blank container name, but if I specify a PDB then the web browser asks for what looks like basic HTTP auth credentials.
I'm thinking some configuration or access rights are missing at the PDB level.
After fiddling around some more I found a work around and was able to set a specific HTTPS port for XEPDB1 by following documentation for 12c multi-tenant architecture.
Resources (In order used):
You can configure EM Express on a separate port that is specific to the PDB you're trying to access by doing the following:
- Connect to sqlplus as sysdba
- alter session set container=XEPDB1;
- select dbms_xdb_config.gethttpsport() from dual;
- If port returned is zero, then you need to manually configure an HTTPS port for the PDB
- exec DBMS_XDB_CONFIG.SETHTTPSPORT(5502);
- Allow access to EM Express from non-local address
- sqlplus system
- EXEC DBMS_XDB.SETLISTENERLOCALACCESS(FALSE);
- Run 2. again, but first alter your session to use xepdb1 container
- You should now be able to access EM Express at the new port and only see information for XEPDB1 by logging in as SYS or another privileged user.
Note: This is what worked for me, I may not have had to enable listener access at the CDB level and only at the PDB level, but it works now so I'm going to work on getting ORDS and APEX installed next.
Hope this helps!
I know it still doesn't solve the issue with entering the PDB name into the container field.
Jesus always saves. Sorry I did not resist the joke. But yes, its placement solved my installation on a CentOS 7. Even after I freed the 5500 and 8080 ports on the firewall, I continued to have trouble accessing EM. But now for me it's all solved in my virutal testing machine.
By default every PDB and also the root container has its own EM listener port in Oracle XE 18c. If you don't like to access EM for every PDB on different port, then you can enable EM Global Access. It means, you will be able to specify container on EM login screen (empty string for the root container and XEPDB1 for the first container created by oracle installer).
Enter the following command into SQL Developer or SQL Plus: