Oracle introdujo el concepto base de datos Oracle Database Multitenant con la versión 12c para facilitar el despliegue en la nube de las aplicaciones que almacenan sus datos en una “base de datos conectable” (PDB) autónoma. No necesitaba tener mis datos en la nube actualmente, pero quería almacenar unos datos de prueba en una nueva base de datos conectable (PDB). Así que en este nuevo tutorial vamos a ver cómo creé una PDB.

Desde la versión 12c de la base de datos Oracle, una base de datos de tipo contenedor (CDB) puede consolidar varias bases de datos conectables (PDBs). Para hacerlo, la base de datos utiliza un diccionario de datos CBD para los objetos comunes y diccionarios específicos para cada una de las PDBs. La idea es que esto permitiría desconectar fácilmente una PDB de un entorno (on-premises por ejemplo) y conectarla a otro (en la nube, por ejemplo).
No es algo que necesitaba en este momento, pero decidí crear una nueva PDB para almacenar unos datos de prueba. El proceso de creación de una nueva PDB es realmente rápido y sencillo, ya que se crea haciendo una copia de una PDB semilla (seed PDB).
Primero utilicé la línea de comandos sqlplus para conectarme a la instancia de base de datos Oracle como administrador.

Quería comprobar cuál era la ubicación de los archivos de datos iniciales utilizados para la creación de la nueva PDB. Utilicé la sentencia “select name from v$datafile;” para comprobar que estaban ubicados en la carpeta “/opt/oracle/oradata/ORCLDCB/pdbseed/“.

Ejecuté la sentencia “CREATED PLUGGABLE DATABASE” para crear una nueva PDB llamada “DATAPDB” con los parámetros siguientes:
CREATE PLUGGABLE DATABASE DATAPDB
ADMIN USER dataadm IDENTIFIED BY unacontraseña
DEFAULT TABLESPACE data
DATAFILE ‘/opt/oracle/oradata/ORCLCDB/DATAPDB/data.dbf‘ SIZE 250M
AUTOEXTEND ON
PATH_PREFIX = ‘/opt/oracle/oradata/ORCLCDB/DATAPDB/‘
FILE_NAME_CONVERT = (‘/opt/oracle/oradata/ORCLCDB/pdbseed/‘,
‘/opt/oracle/oradata/ORCLCDB/DATAPDB/‘);
- La cláusula “ADMIN USER” especifica el administrador local (dataadm aquí) de la PDB y la cláusula “IDENTIFIED” su contraseña.
- La cláusula “DEFAULT TABLESPACE” especifica el nombre de un “tablespace” permanente predeterminado (data aquí).
- La cláusula “DATAFILE” especifica la ubicación del archivo de datos único para el “tablespace” (‘/opt/oracle/oradata/ORCLCDB/DATAPDB/data.dbf‘ aquí).
- La cláusula “SIZE” especifica el tamaño predeterminado para el archivo de datos (250 MB aquí).
- La cláusula “AUTOEXTEND ON” habilita la extensión automática del archivo de datos.
- La cláusula “PATH_PREFIX” especifica el prefijo agregado a las rutas de los objetos del directorio de la PDB y es obligatorio (‘/opt/oracle/oradata/ORCLCDB/DATAPDB/‘ aquí).
- La cláusula “FILE_NAME_CONVERT” especifica la ubicación de los archivos de datos iniciales para la PDB (‘/opt/oracle/oradata/ORCLCDB/pdbseed‘ aquí) y la ubicación de destino para copiar estos archivos (‘/opt/oracle/oradata/ORCLCDB/DATAPDB/’).

Verifiqué el estado de las PDBs usando la sentencia “show pdbs“.

La nueva PDB “DATAPDB” estaba actualmente montada (“MOUNTED“) pero no abierta. Por lo tanto, ejecuté la sentencia “alter pluggable database DATAPDB open;” para abrirla.

Verifiqué otra vez cuál era el estado de la PDB “DATAPDB” con la sentencia “show pdbs“.

Y la PDB “DATAPDB” estaba ahora abierta en modo de lectura y escritura (“READ WRITE”) y por lo tanto estaba lista para usarse.
Agregué una nueva entrada en el archivo “tnsnames.ora” para poder conectarme a esta nueva PDB.

Y finalmente intenté conectarme a la nueva PDB “DATAPDB” usando la cuenta de administrador local.

Y todo salió bien. ¡Tenía ahora una PDB nueva para almacenar mis datos de prueba!
La página Cómo crear una nueva base de datos conectable (PDB) ha sido originalmente publicada en MyBIJourney