Source : http://www.oracle-base.com/articles/12c/multitenant-create-andconfigure-pluggable-database-12cr1.php Multitenant : Créer et Configurer une Pluggable Database (PDB) avec Oracle Database 12c Release 1 (12.1) L'option multitenant introduite avec Oracle Database 12c permet à un seul conteneur database (CDB) d'avoir plusieurs pluggable databases (PDB). Cet article présente les options disponibles pour créer une nouvelle pluggable database dans un conteneur database. Pour des articles spécifiques sur l'installation Oracle Database 12 c. Cet article présente : - - - Oracle Universal Installer (OUI) Avec Database Configuration Assistant (DBCA) o Créer une Pluggable Database (PDB) o Débrancher une Pluggable Database (PDB) o Brancher une Pluggable Database (PDB) o Supprimer une Pluggable Database (PDB) o Configurer une Pluggable Database (PDB) Manuellement (SQL*Plus) o Créer une Pluggable Database (PDB) m o Débrancher une Pluggable Database (PDB) o Brancher une Pluggable Database (PDB) o Cloner une Pluggable Database (PDB) o Supprimer une Pluggable Database (PDB) SQL Developer Cloud Control Autres articles : - Multitenant : Migrer d'un Non-Container Database (CDB) vers une Pluggable Database (PDB) avec Oracle Database 12c Release 1 (12.1) Multitenant : Configurer les paramètres d'instances et Modifier les Conteneurs Databases et (CDB) et Pluggable Databases (PDB) avec Oracle Database 12c Release 1 (12.1) Oracle Universal Installer (OUI) Dans un précédent article, nous avons présenté la création d'une pluggable database (PDB) pendant la création d'un conteneur database (CDB) avec l'installation du logiciel Oracle avec Oracle Universal Installer (OUI). Se reporter à l'article car ces étapes ne sont pas reportées ici. 1 Source : http://www.oracle-base.com/articles/12c/multitenant-create-andconfigure-pluggable-database-12cr1.php Database Configuration Assistant (DBCA) Dans un précédent article nous avons présenté la création d'un pluggable database (PDB) avec la création d'un conteneur database (CDB) avec Database Configuration Assistant (DBCA). Se reporter à l'article car ces étapes ne sont pas reportées ici. DBCA inclut une nouvelle option sur l'écran "Database Operation" permettant de gérer les pluggable databases d'un conteneur database. Sélectionnez l'option "Manage Pluggable Databases" et cliquez sur le bouton "Next". Vous pouvez voir sur l'écran résultant quelles opérations sont possibles avec les pluggable databases. 2 Source : http://www.oracle-base.com/articles/12c/multitenant-create-andconfigure-pluggable-database-12cr1.php Les sections suivantes décrivent certaines de ces options. Créer une Pluggable Database (PDB) avec DBCA Sur l'écran "Manage Pluggable Databases", sélectionnez l'option "Create a Pluggable Database" et cliquez sur le bouton "Next". Sur l'écran résultant, sélectionnez le conteneur database pour abriter la nouvelle pluggable et cliquez sur le bouton "Next". 3 Source : http://www.oracle-base.com/articles/12c/multitenant-create-andconfigure-pluggable-database-12cr1.php Sélectionnez l'option "Create a new Pluggable Database" et cliquez sur le bouton "Next". Si vous branchez dans une database précédemment débranchée, vous devez sélectionner l'Archive PDB ou les options de fichiers PDB correspondant au format de fichiers contenant le PDB débranchée. 4 Source : http://www.oracle-base.com/articles/12c/multitenant-create-andconfigure-pluggable-database-12cr1.php Entrez le nom de la pluggable database, l'emplacement database et les informations de connexion de l'administrateur, puis cliquez sur le bouton "Next". 5 Source : http://www.oracle-base.com/articles/12c/multitenant-create-andconfigure-pluggable-database-12cr1.php Si vous êtes d'accord avec les informations du résumé, cliquez sur le bouton "Finish". Wait Attendez que la pluggable database soit créée. Une fois terminée, cliquez sur le bouton "OK" sur la boite de dialogue et sur le bouton "Close" de l'écran principal. 6 Source : http://www.oracle-base.com/articles/12c/multitenant-create-andconfigure-pluggable-database-12cr1.php La nouvelle pluggable database est créée en tant que clone database. Débrancher une Pluggable Database (PDB) avec DBCA Sur l'écran "Manage Pluggable Databases", sélectionnez l'option "Unplug a Pluggable Database" et cliquez sur le bouton "Next". Sur l'écran résultant, sélectionnez le conteneur database abritant la pluggable database à débrancher et cliquez sur le bouton "Next". 7 Source : http://www.oracle-base.com/articles/12c/multitenant-create-andconfigure-pluggable-database-12cr1.php Sélectionnez la PDB à débrancher, choisissez d'utiliser une archive pluggable database ou un ensemble de fichiers et entrez les détails d'emplacement appropriés. Cliquez sur le bouton "Next" . 8 Source : http://www.oracle-base.com/articles/12c/multitenant-create-andconfigure-pluggable-database-12cr1.php Si vous êtes d'accord avec les informations du résumé, cliquez sur le bouton "Finish". Attendez que la pluggable database soit débranchée. Une fois terminée, cliquez sur le bouton "OK" sur la boit de dialogue et sur le bouton "Close" de l'écran principal. 9 Source : http://www.oracle-base.com/articles/12c/multitenant-create-andconfigure-pluggable-database-12cr1.php La pluggable database est maintenant débranchée. Brancher une Pluggable Database (PDB) avec DBCA Sur l'écran "Manage Pluggable Databases", sélectionnez l'option "Create a Pluggable Database" et cliquez sur le bouton "Next". Sur l'écran résultant, sélectionnez le conteneur database pour abriter la nouvelle pluggable database et cliquez sur le bouton "Next". 10 Source : http://www.oracle-base.com/articles/12c/multitenant-create-andconfigure-pluggable-database-12cr1.php Sélectionnez l'option "Create Pluggable Database From PDB Archive" ou "Create Pluggable Database using PDB File Set" et entrez l'emplacement des fichiers nécessaires. Vous pouvez rechercher les fichiers avec le bouton "Browse". 11 Source : http://www.oracle-base.com/articles/12c/multitenant-create-andconfigure-pluggable-database-12cr1.php Entrez le nom de la pluggable database, l'emplacement database et les informations de connexion pour l'administrateur, puis cliquez sur le bouton "Next". Si vous êtes d'accord avec les informations du résumé, cliquez sur le bouton "Finish". 12 Source : http://www.oracle-base.com/articles/12c/multitenant-create-andconfigure-pluggable-database-12cr1.php Attendez que la pluggable database soit créée. Une fois terminée, cliquez sur le bouton "OK" dans la boite de dialogue et sur le bouton "Close" sur l'écran principal. La pluggable database est branchée au conteneur database. Supprimer une Pluggable Database (PDB) avec DBCA Sur l'écran "Manage Pluggable Databases", sélectionnez l'option "Delete a Pluggable Database" et cliquez sur le bouton "Next". Sur l'écran résultant, sélectionnez le conteneur database qui abrite la pluggable database à supprimer et cliquez sur le bouton "Next". 13 Source : http://www.oracle-base.com/articles/12c/multitenant-create-andconfigure-pluggable-database-12cr1.php Sélectionnez la PDB à supprimer et cliquez sur le bouton "Next". Si vous êtes d'accord avec les informations du résumé, cliquez sur le bouton "Finish". 14 Source : http://www.oracle-base.com/articles/12c/multitenant-create-andconfigure-pluggable-database-12cr1.php Attendez que la pluggable database soit supprimée. Une fois terminée, cliquez sur le bouton "OK" sur le boite de dialogue et sur le bouton "Close" sur l'écran principal. 15 Source : http://www.oracle-base.com/articles/12c/multitenant-create-andconfigure-pluggable-database-12cr1.php La pluggable database est supprimée du conteneur database. Configurer une Pluggable Database (PDB) avec DBCA Sur l'écran "Manage Pluggable Databases", sélectionnez l'option "Configure a Pluggable Database" et cliquez sur le bouton "Next". Sur l'écran résultant, sélectionnez le conteneur database qui abrite la pluggable database à configurer et cliquez sur le bouton "Next". Sélectionnez la PDB à configurer et cliquez sur le bouton "Next". 16 Source : http://www.oracle-base.com/articles/12c/multitenant-create-andconfigure-pluggable-database-12cr1.php Sélectionnez les options supplémentaires à configurer et cliquez sur le bouton "Next". Si vous êtes d'accord avec les informations du résumé, cliquez sur le bouton 17 Source : http://www.oracle-base.com/articles/12c/multitenant-create-andconfigure-pluggable-database-12cr1.php "Finish". Attendez que la pluggable database soit configurée. Une fois terminée, cliquez sur le bouton "OK" dans la boite de dialogue et sur le bouton "Close" dans l'écran principal. 18 Source : http://www.oracle-base.com/articles/12c/multitenant-create-andconfigure-pluggable-database-12cr1.php La pluggable database est configurée. Manuel (SQL*Plus) Il y a différentes variantes des commandes CREATE PLUGGABLE DATABASE et ALTER PLUGGABLE DATABASE, aussi nous ne montrerons ici que certaines reproduites dans DBCA. Pour toutes les opérations listées ici, vous devez être connecté au CDB avec le conteneur défini à root (par défaut). Habituellement vous êtes connectés avec un utilisateur courant munis des privilèges SYSDBA ou SYSOPER. Quand vous créez une nouvelle pluggable database, l'utilisateur doit avoir le privilège système CREATE PLUGGABLE DATABASE. Créer une Pluggable Database (PDB) manuellement Pour créer une nouvelle pluggable database, tout ce que vous avez à faire et d'indiquer à Oracle où le fichier sera placé. Vous pouvez le faire grâce à deux méthodes. La première méthode utilise la clause FILE_NAME_CONVERT dans l'ordre CREATE PLUGGABLE DATABASE. CONN / AS SYSDBA CREATE PLUGGABLE DATABASE pdb2 ADMIN USER pdb_adm IDENTIFIED BY Password1 FILE_NAME_CONVERT=('/u01/app/oracle/oradata/cdb1/pdbseed/','/u01/app/oracle /oradata/cdb1/pdb2/'); 19 Source : http://www.oracle-base.com/articles/12c/multitenant-create-andconfigure-pluggable-database-12cr1.php Alternativement, vous pouvez spécifier le paramètre d'initialisation avant d'appeler la commande sans utiliser la clause FILE_NAME_CONVERT. CONN / AS SYSDBA ALTER SESSION SET PDB_FILE_NAME_CONVERT='/u01/app/oracle/oradata/cdb1/pdbseed/','/u01/app/ora cle/oradata/cdb1/pdb3/'; CREATE PLUGGABLE DATABASE pdb3 ADMIN USER pdb_adm IDENTIFIED BY Password1; A chaque fois qu'il faut convertir l'emplacement des fichiers, ces deux méthodes fonctionnent. Dans le reste de l'article nous utiliserons la méthode FILE_NAME_CONVERT pour simplifier la présentation. Vous pouvez vérifier la présence des PDB en interrogeant les vues DBA_PDBS et V$PDBS. COLUMN pdb_name FORMAT A20 SELECT pdb_name, status FROM dba_pdbs ORDER BY pdb_name; PDB_NAME STATUS -------------------- ------------PDB$SEED NORMAL PDB1 NORMAL PDB2 NEW PDB3 NEW SQL> SELECT name, open_mode FROM v$pdbs ORDER BY name; NAME OPEN_MODE ------------------------------ ---------PDB$SEED READ ONLY PDB1 MOUNTED PDB2 MOUNTED PDB3 MOUNTED SQL> Les PDB sont créées avec un statut à 'NEW'. Elles doivent être ouvertes en mode READ WRITE au moins une fois pour l'intégration de la PDB dans le CDB. ALTER PLUGGABLE DATABASE pdb2 OPEN READ WRITE; ALTER PLUGGABLE DATABASE pdb3 OPEN READ WRITE; SELECT pdb_name, status FROM dba_pdbs ORDER BY pdb_name; PDB_NAME STATUS -------------------- ------------PDB$SEED NORMAL 20 Source : http://www.oracle-base.com/articles/12c/multitenant-create-andconfigure-pluggable-database-12cr1.php PDB1 PDB2 PDB3 NORMAL NORMAL NORMAL SQL> SELECT name, open_mode FROM v$pdbs ORDER BY name; NAME OPEN_MODE ------------------------------ ---------PDB$SEED READ ONLY PDB1 MOUNTED PDB2 READ WRITE PDB3 READ WRITE SQL> Note. Suivant la syntaxe utilisée, vous devez attribuer le rôle PDB_DBA aux administrateurs locaux des PDB. Débrancher une Pluggable Database (PDB) manuellement Avant de tenter de débrancher une PDB, vous devez vérifier qu'elle soit fermée. Pour débrancher la database utilisez la commande ALTER PLUGGABLE DATABASE avec la clause UNPLUG INTO pour spécifier l'emplacement du fichier de métadonnées XML. ALTER PLUGGABLE DATABASE pdb2 CLOSE; ALTER PLUGGABLE DATABASE pdb2 UNPLUG INTO '/u01/app/oracle/oradata/cdb1/pdb2/pdb2.xml'; La pluggable database est encore présente mais ne peut pas être ouverte tant que le fichier de métadonnées et tous les datafiles ne sont pas copiés ailleurs correctement. SELECT name, open_mode FROM v$pdbs ORDER BY name; NAME OPEN_MODE ------------------------------ ---------PDB$SEED READ ONLY PDB1 MOUNTED PDB2 MOUNTED PDB3 READ WRITE SQL> You can delete the PDB, choosing to keep the files on the file system. DROP PLUGGABLE DATABASE pdb2 KEEP DATAFILES; SELECT name, open_mode FROM v$pdbs ORDER BY name; NAME OPEN_MODE ------------------------------ ---------PDB$SEED READ ONLY PDB1 MOUNTED 21 Source : http://www.oracle-base.com/articles/12c/multitenant-create-andconfigure-pluggable-database-12cr1.php PDB3 READ WRITE SQL> Brancher une Pluggable Database (PDB) manuellement Brancher une PDB dans le CDB est similaire à créer une nouvelle PDB. Vérifiez d'abord si la PBD est compatible avec le CDB en appelant la fonction DBMS_PDB.CHECK_PLUG_COMPATIBILITY, en passant le fichier de métadonnées XML et le nom de la PDB à créer. SET SERVEROUTPUT ON DECLARE l_result BOOLEAN; BEGIN l_result := DBMS_PDB.check_plug_compatibility( pdb_descr_file => '/u01/app/oracle/oradata/cdb1/pdb2/pdb2.xml', pdb_name => 'pdb2'); IF l_result THEN DBMS_OUTPUT.PUT_LINE('compatible'); ELSE DBMS_OUTPUT.PUT_LINE('incompatible'); END IF; END; / compatible PL/SQL procedure successfully completed. SQL> Si la PDB est compatible, créez une nouvelle PDB en l'utilisant comme source. Pour la créer avec un nouveau nom, par exemple : CREATE PLUGGABLE DATABASE pdb5 USING '/u01/app/oracle/oradata/cdb1/pdb2/pdb2.xml' FILE_NAME_CONVERT=('/u01/app/oracle/oradata/cdb1/pdb2/','/u01/app/oracle/or adata/cdb1/pdb5/'); Au lieu de brancher la database dans le même conteneur, nous n'avons pas besoin de copier les fichiers ou recréer le fichier temp, mais à la place : CREATE PLUGGABLE DATABASE pdb2 USING '/u01/app/oracle/oradata/cdb1/pdb2/pdb2.xml' NOCOPY TEMPFILE REUSE; ALTER PLUGGABLE DATABASE pdb2 OPEN READ WRITE; SELECT name, open_mode FROM v$pdbs ORDER BY name; NAME OPEN_MODE ------------------------------ ---------PDB$SEED READ ONLY PDB1 MOUNTED PDB2 READ WRITE 22 Source : http://www.oracle-base.com/articles/12c/multitenant-create-andconfigure-pluggable-database-12cr1.php PDB3 READ WRITE SQL> Cloner une Pluggable Database (PDB) manuellement Cloner une PDB locale existante est similaire à créer une nouvelle PDB depuis la PDB, excepté que maintenant nous utilisons sans PDB comme source, à identifier sur la clause FROM. Vérifiez que la source PDB est ouverte en mode READ ONLY. ALTER PLUGGABLE DATABASE pdb3 CLOSE; ALTER PLUGGABLE DATABASE pdb3 OPEN READ ONLY; CREATE PLUGGABLE DATABASE pdb4 FROM pdb3 FILE_NAME_CONVERT=('/u01/app/oracle/oradata/cdb1/pdb3/','/u01/app/oracle/or adata/cdb1/pdb4/'); ALTER PLUGGABLE DATABASE pdb4 OPEN READ WRITE; -- Switch the source PDB back to read/write ALTER PLUGGABLE DATABASE pdb3 CLOSE; ALTER PLUGGABLE DATABASE pdb3 OPEN READ WRITE; La syntaxe de clonage permet de cloner de databases distantes avec un database link dans le CBD. Il y a quelques restrictions associées à cette fonctionnalité : - le database link peut pointer directement sur le PDB distant ou un utilisateur dans le CBD distant ayant la PDB distante. - S'il pointe sur un utilisateur du CBD distant ayant la PDB distante ,cet utilisateur doit avoir le privilège système CREATE PLUGGABLE DATABASE. - La source et la cible CDBs doivent avoir le même endians. - La source et la cible CDBs doivent avoir les mêmes options installées. - La source et la cible CDBs doivent avoir le même jeu de caractères et jeu de caractères national. Après avoir vérifié que la PDB distante est en mode READ ONLY, la commande suivante est passée : CREATE PLUGGABLE DATABASE pdb5 FROM remote_pdb5@remotecdb1 FILE_NAME_CONVERT=('/u01/app/oracle/oradata/cdb1/remote_pdb5/','/u01/app/or acle/oradata/cdb1/pdb5/'); ALTER PLUGGABLE DATABASE pdb4 OPEN READ WRITE; Cette fonctionnalité ne marche pas correctement avec la version 12.1.0.1 database, mais devrait être fixée avec le premier patchset. Supprimer une Pluggable Database (PDB) manuellement Quand vous supprimez une pluggable database, vous devez décider de conserver ou supprimer les fichiers associés. Les PDB doivent être fermées 23 Source : http://www.oracle-base.com/articles/12c/multitenant-create-andconfigure-pluggable-database-12cr1.php avant d'être supprimées. ALTER PLUGGABLE DATABASE pdb2 CLOSE; DROP PLUGGABLE DATABASE pdb2 KEEP DATAFILES; ALTER PLUGGABLE DATABASE pdb3 CLOSE; DROP PLUGGABLE DATABASE pdb3 INCLUDING DATAFILES; ALTER PLUGGABLE DATABASE pdb4 CLOSE; DROP PLUGGABLE DATABASE pdb4 INCLUDING DATAFILES; SELECT name, open_mode FROM v$pdbs ORDER BY name; NAME OPEN_MODE ------------------------------ ---------PDB$SEED READ ONLY PDB1 MOUNTED SQL> SQL Developer La section DBA de SQL Developer inclut trois nœuds appelés "Container Database". Par click droit sur le nœud "Container Database" le menu popup montre les opérations disponibles. 24 Source : http://www.oracle-base.com/articles/12c/multitenant-create-andconfigure-pluggable-database-12cr1.php Par click droit sur un nœud spécifique PDB un menu popup montre uniquement les opérations pertinentes pour cette PDB. Si vous comprenez l'approche DBCA et SQL*Plus pour gérer les PDB, les écrans précédents sont très explicites. Cloud Control Cloud Control 12cR3 supporte la fonctionnalité pluggable database. Après 25 Source : http://www.oracle-base.com/articles/12c/multitenant-create-andconfigure-pluggable-database-12cr1.php avoir cliqué sur le conteneur database, L'option du menu "Oracle Database Control Open/Close Pluggable Database" permet de contrôler l'état des PDB appartenant au CDB. L'option du menu "Oracle Database Provision Provision Pluggable Database" permet d'effectuer d'autres opérations sur les PDB du CDB, comme clonage, branchement entre autres. Comme avec SQL Developer, si vous comprenez comment la fonctionnalité pluggable database marche, les écrans Cloud Control s'expliquent par euxmêmes. Pour plus d'informations, voir : - Introduction à l'Architecture Multitenant Présentation de l'Architecture Multitenant Gestion d'un Environnement Multitenant CREATE PLUGGABLE DATABASE ALTER PLUGGABLE DATABASE DBMS_PDB Oracle Enterprise Manager Cloud Control 12c Release 3 Installation on Oracle Linux 5.9 and 6.4 26 Source : http://www.oracle-base.com/articles/12c/multitenant-create-andconfigure-pluggable-database-12cr1.php - Multitenant : Migrer d'un Non-Container Database (CDB) vers une Pluggable Database (PDB) in Oracle Database 12c Release 1 (12.1) 27
© Copyright 2024 ExpyDoc