Oracle Database 12c – Multitenant: Creación de una Pluggable DataBase

La creación de una base de datos “plugable” es el siguiente paso natural posterior a la creación de una base de datos “Container”, que ya explicábamos en este otro post. A continuación se explican los pasos para su creación. ¿Cómo se crean las bases de datos “plugables”? Para poder crear este tipo de base de datos, al ejecutar el dbca sería necesario elegir la opción “Manage Plugglabe Database” que aparece en el menú inicial.

Posteriormente “Create Pluggable Database”.

crea_pdb12c

pdb12

Y seguiría con la elección del contenedor o “CDB” donde se quiere crear.

CDB

Los pasos posteriores son prácticamente idénticos a versiones anteriores.

¿Y ahora qué?

Una vez que se ha finalizado con la creación de la PDB no se puede acceder a ella. Si nos fijamos en la última pantalla veremos que nos dice que se ha “enchufado” satisfactoriamente.

final

Si nos conectamos a la CDB que la contiene, SEED1 en nuestro caso, veremos que está en estado mount.

[oracle@localhost init.d]$ . oraenv
ORACLE_SID = [oracle] ? SEED1
The Oracle base has been changed from /u03/app2/oracle to /u01/app2/oracle
[oracle@localhost init.d]$ sqlplus /nolog

SQL*Plus: Release 12.1.0.1.0 Production on Mon Jun 9 15:34:56 2014

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

SQL> conn / as sysdba
Connected.
SQL> SELECT NAME,OPEN_MODE FROM V$PDBS WHERE CON_ID > 2;

NAME                                    OPEN_MODE
—————————— ———-
PDB1                                      MOUNTED

Para poder conectar a “PDB1” es necesario abrirla de forma manual.

SQL> alter pluggable database PDB1 open;

 Pluggable database altered.

 SQL> SELECT NAME,OPEN_MODE FROM V$PDBS WHERE CON_ID > 2;

NAME                                    OPEN_MODE
——————————   ———-
PDB1                                       READ WRITE

Ahora sí nos podemos conectar a “PDB1”:

SQL> alter session set container = pdb1;

 Session altered.

No se puede configurar un autostart/autostop de las PDBs con dbstart/dbshut, sólo de las CDBs.

Para iniciarlas, se podría ejecutar la sentencia “alter pluggable database all open;”

  1. Desde el script del servicio oracle en /etc/init.d en la sección “start”.
  2. Con un trigger “AFTER STARTUP ON DATABASE”.

Para pararlas, se podría hacer lo mismo con “alter pluggable database all close;”

  1. Desde el script del servicio oracle en /etc/init.d en la sección “stop”.
  2. Con un trigger “BEFORE SHUTDOWN ON DATABASE”.

Seguramente haya más formas, y mejores, de realizarlo, pero es una buena forma de comenzar.

Twitter
LinkedIn
Evolución, innovación y transformación
37 Service Expertise avalados por Oracle 
Our value proposition
100% Oracle posts
Follow our day-to-day activities