Comment créer une nouvelle base de données enfichable (PDB)

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.

Ajouter une nouvelle base de données enfichable
Ajouter une nouvelle base de données enfichable

À 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.

sqlplus sys as sysdba
sqlplus sys as sysdba

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/“.

select name from v$datafile;
select name from v$datafile;

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).
CREATE PLUGGABLE DATABASE DATAPDB
CREATE PLUGGABLE DATABASE DATAPDB

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

show pdbs
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.

alter pluggable database DATAPDB open;
alter pluggable database DATAPDB open;

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

show pdbs (2)
show pdbs (2)

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.

sudo vi /opt/oracle/product/19c/dbhome_1/network/admin/tnsnames.ora
sudo vi /opt/oracle/product/19c/dbhome_1/network/admin/tnsnames.ora

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

sqlplus dataadm@DATAPDB
sqlplus dataadm@DATAPDB

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

Toutes les marques déposées sont la propriété de leurs propriétaires respectifs.
FacebookTwitterPinterestWhatsAppMail