Como crear, modificar o eliminar CDB y PDB en Oracle 12c

Hola amig@s,

A partir de la versión 12 de Oracle, nos encontramos en la instalación con una nueva opción llamada base de datos de contenedor o mejor conocidas CDB y PDB.

Las expresiones CDB y PDB vienen del inglés Container and Plugable Databases donde el CDB es el contenedor de la base de datos principal. Es como una base de datos tradicional excepto por el echo que soporta una arquitectura multiusuario. La base de datos PDB conecta con el contenedor de la base de datos para que la información en el PDB pueda ser accedida entre la SGA y los procesos en segundo plano de la base de datos CDB. Con esta nueva característica podemos conectar varias PDB’s a un solo contenedor.

Podrán encontrar más información acerca de los CDB y PDB en Oracle > Aqui

Ahora bien, a continuación dejo los comandos más comunes para trabajar con esta nueva particularidad:

Comprobar si existe una instancia PDB activa (se crea en la instalación de Oracle):

SHOW con_id
CON_ID
-----------------
1

SHOW con_name;
CON_NAME
-----------------
CDB$ROOT

Si no estamos conectados al contenedor podemos forzarlo con el siguiente comando:

SHOW con_name;
CON_NAME
-----------------
CDB$ROOT

ALTER SESSION SET container=pdb12c;
Session altered.

SHOW con_name;
CON_NAME
-----------------
PDB12C

Creando un nuevo PDB:

CREATE PLUGGABLE DATABASE pdbtest
ADMIN USER pdbtest_admin IDENTIFIED BY oracle
ROLES = (DBA)
file_name_convert=('/u01/app/oracle/oradata/cdb12c/pdbseed','/u02/app/oracle/oradata/cdb12c/pdbtest');

Eliminar un PDB (ojo, no podemos eliminar el PDB creado en la instalación porque está creado desde la instalación de Oracle):

Primero la cerramos:
ALTER PLUGGABLE DATABASE pdb12c CLOSE;
Pluggable database altered.
Y luego la eliminamos:
DROP PLUGGABLE DATABASEpdb12c INCLUDING DATAFILES;
Pluggable database dropped.


Como arrancar automáticamente a un PDB al iniciar la bbdd (mediante un trigger):

create or replace trigger sys.after_startup after startup on database
begin
execute immediate 'ALTER PLUGGABLE DATABASE ALL OPEN;';
end after_startup;
/

Espero que os resulte útil.

Salu2.
Share on Google Plus
    Blogger Comment

2 comentarios:

Gonzalo Sánchez dijo...

En el comando de creacion del pdb, no entiendo la linea 4, el file_name_convert imagino q es el nombre del archivo seed, y adentro del parentesis pego la ruta de ese archivo y listo? no se xq no funciona de esa manera, estoy usando windows.

Dj Tiesto dijo...

Porque eres un bruto vale! -.-