¿Cómo conectarse a una PDB usando Oracle EM Express?

Traducción del post original publicado en Agosto 1 del 2013.

Cuando instalamos Oracle 12c, tenemos la opción de utilizar la nueva arquitectura multitenant. La configuración por defecto de EM Express solamente permite conectarse a la CDB mediante el URL https://hostname:5500/em

Lo anterior se puede confirmar revisando el nombre de la base de datos (ora12cr1) que se muestra en la esquina superior izquierda.

em_exp_cdb

Para poder conectarnos a una PDB usando EM Express, primero debemos asegurarnos que la PDB se encuentre abierta y luego procedemos a configurar un nuevo puerto HTTPS utilizando el procedimiento DBMS_XDB_CONFIG.SETHTTPSPORT().

C:\Users\gbalda>sqlplus

SQL*Plus: Release 12.1.0.1.0 Production on Thu Aug 1 21:14:17 2013

Copyright (c) 1982, 2013, Oracle. All rights reserved.

Enter user-name: sys as sysdba
Enter password:
Last Successful login time: Thu Aug 01 2013 21:08:44 -05:00

Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options

SQL> show user
USER is "SYS"
SQL> alter session set container = ora12cpdb1
 2 ;

Session altered.

SQL> select name, open_mode from v$pdbs;

NAME OPEN_MODE
------------------------------ ----------
ORA12CPDB1 MOUNTED

SQL> alter pluggable database open read write;

Pluggable database altered.

SQL> select name, open_mode from v$pdbs;

NAME OPEN_MODE
------------------------------ ----------
ORA12CPDB1 READ WRITE

SQL> select dbms_xdb_config.gethttpsport from dual;

GETHTTPSPORT
------------
SQL> exec dbms_xdb_config.sethttpsport(5501);

PL/SQL procedure successfully completed.

El URL para conectarse a la PDB es https://hostname:5501/em y se puede confirmar que la información mostrada pertenece a la PDB si revisamos el nombre (ora12cpdb1) que se encuentra en la esquina superior izquierda.

em_exp_pdb

El mismo proceso se puede repetir para configurar el acceso a otras PDB que se encuentren operativas.