Evidemment, le plus simple pour créer une Container Database est de le faire avec DBCA.
La création manuelle diffère de la création d’une 11g ou d’une 12c non-CDB principalement sur les points suivants:
- Dans init.ora il faudra préciser:
enable_pluggable_database=true
- Dans CREATE DATABASE il faudra préciser
enable pluggable database
et (sauf si on utilise OMF pur nommer les fichiers) la clause:
seed file_name_convert=(...)pour donner le nom des datafiles de PDB$SEED Ã partir de ceux de CDB$ROOT
- il faut utiliser catcon.pl pour lancer les catalog.sql, catproc.sql, etc sur tous les containers
On a alors une ‘Multitenant Container Database’ avec 2 containers:
CDB$ROOT qui contient le dictionnaire et les objets communs.
PDB$SEED une Pluggable Database vide prête à être clonée pour créer des Pluggable Databases
Chaque container a au moins ses tablespaces SYSTEM et SYSAUX et un service pour s’y connecter (sauf PDB$SEED auquel on ne se connecte pas).
Le détail de la création de la CDB sur la demo
Cette base ne sert encore à rien, car la CDB n’est pas faite pour stocker des objets non-Oracle. La prochaine étape sera la création d’une Pluggable Database qui pourra alors être utilisée pour créer ce qu’on veut. Ce sera le sujet du prochain post.