Oracle a introduit le concept de base de données Oracle Database Multitenant avec la version 12c afin de faciliter le déploiement dans le cloud d’applications qui stockent leurs données dans une “base de données enfichable” (PDB) autonome. Je n’avais pas besoin d’avoir mes données dans le Cloud pour le moment, mais je souhaitais stocker des données de test dans une nouvelle base de données enfichable (PDB). Ce petit tutoriel vous montrera comment j’en ai créé une.

À partir de la version 12c de la base de données Oracle, une “base de données de conteneurs” (CDB) peut consolider plusieurs “bases de données enfichables” (PDB). Cela se passe en utilisant un dictionnaire de données pour les objets communs de la CDB et d’autres dictionnaires spécifiques à chacune des PDBs avec leurs objets spécifiques. L’idée est que cela permet de débrancher facilement une PDB d’un environnement sur site (on-premise) par exemple et de la brancher dans un autre environnement (dans le cloud par exemple).
Ce n’est pas quelque chose dont j’avais besoin pour le moment, mais j’ai décidé de créer une nouvelle PDB pour y stocker des données de test. Le processus de création est simple et très rapide car il effectue une copie d’une PDB source.
Je me suis donc connecté à l’instance de base de donnée Oracle en tant qu’administrateur à l’aide de la ligne de commande sqlplus.

Je voulais vérifier quel était l’emplacement des fichiers de données source utilisés lors de la création de la nouvelle PDB. J’ai utilisé la requête “select name from v$datafile;” pour voir qu’ils se trouvaient dans le dossier “/opt/oracle/oradata/ORCLCDB/pdbseed/“.

J’ai exécuté la requête “CREATED PLUGGABLE DATABASE” pour créer une nouvelle PDB nommée “DATAPDB” avec les paramètres suivants :
CREATE PLUGGABLE DATABASE DATAPDB
ADMIN USER dataadm IDENTIFIED BY apassword
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 clause “ADMIN USER” spécifiait l’administrateur local de la PDB (dataadm ici) et la clause “IDENTIFIED” son mot de passe.
- La clause “DEFAULT TABLESPACE” spécifiait le nom d’un “tablespace” permanent par défaut (data ici).
- La clause “DATAFILE” spécifiait l’emplacement du fichier de données unique du “tablespace” (‘/opt/oracle/oradata/ORCLCDB/DATAPDB/data.dbf’ ici).
- La clause “SIZE” spécifiait la taille par défaut du fichier de données (250 Mo ici).
- La clause “AUTOEXTEND ON” permettait l’extension automatique du fichier de données.
- La clause obligatoire “PATH_PREFIX” spécifiait le préfixe ajouté aux chemins d’accès des objets de l’annuaire de la PDB (‘/opt/oracle/oradata/ORCLCDB/DATAPDB/‘ ici).
- La clause “FILE_NAME_CONVERT” spécifiait l’emplacement des fichiers de données d’origine de la PDB (‘/opt/oracle/oradata/ORCLCDB/pdbseed‘ ici) et l’emplacement cible pour copier ces fichiers (‘/opt/oracle/oradata/ORCLCDB/DATAPDB/‘ ici).

J’ai vérifié l’état des PDBs à l’aide de la requête “show pdbs”.

La nouvelle PDB “DATAPDB” était actuellement montée mais pas ouverte. J’ai donc exécuté la requête “alter pluggable database DATAPDB open;” pour l’ouvrir.

J’ai vérifié une nouvelle fois l’état des PDBs en utilisant la requête “show pdbs”.

Et cette fois-ci, la PDB “DATAPDB” était ouverte en mode lecture et écriture (“READ WRITE”) et elle était donc prête à être utilisée.
J’ai ajouté une nouvelle entrée dans le fichier “tnsnames.ora” afin de pouvoir me connecter à cette nouvelle PDB.

Pour terminer, j’ai essayé de me connecter à la nouvelle PDB en utilisant le compte d’administrateur local.

Et tout s’est bien passé. J’avais maintenant une nouvelle “base de données enfichable” (PDB) que je pouvais utiliser pour stocker mes données de test !
Cette page Comment créer une nouvelle base de données enfichable (PDB) a été initialement publiée sur MyBIJourney