Gestion des bases en architecture Multi-tenant

publicité
Gestion des bases en architecture Multi-tenant
Objectifs :
➢ Lister les bases de données d'une instance
➢ Arrêter et démarrer les bases de données
➢ Créer et cloner les Pluggable Database
Démarrer la machine virtuelle, puis charger le TP « 2 : Gestion des bases en architecture Multitenant». La préparation du TP prend plusieurs minutes, soyez patient !
Manipulation des bases de données
Cette partie doit être traitée avec une connexion SQLPlus system@polytech.
1. A quelle conteneur êtes vous connecté ?
2. Lister les bases de données présentes sur le système. Préciser pour chacune :
· Son identifiant
·
Son nom
·
L'état actuel (ouverte, montée, …)
3. Sans fermer votre connexion, afficher le contenu de :
a. La table test du schéma polytech de la base pdbpoly1.
b. La table test du schéma poly1_admin de la base pdbpoly1.
c. La table test du schéma polytech de la base pdbpoly2.
Dans l’architecture Mutltitenant les pdbs sont hermétiques aux autres bases du serveur. Il n’est
pas possible d’accéder aux objets d’une base depuis une connexion effectuée sur une autre pdb.
Cette limite peut être contournée par l’utilisation de d'un lien de base de données (database link). Il
s’agit d’un type d’objet particulier qui permettent d’accéder depuis une connexion à n’importe
quelle base de données (pas seulement Oracle, il est aussi possible de joindre des bases MySql,
SqlServer, ….). Ces objets ne seront pas étudiés dans ce cours.
Arrêt & Démarrage
1. Arrêter l’instance à l’aide de la commande SHUTDOWN.
a. Démarrer la base à l'état NOMOUNT.
i. Parmi les vues suivantes, quelles sont celles qui sont disponibles : V$INSTANCE,
V$PDBS, V$DATABASE, DBA_TABLES.
ii. Quel est l'état des différentes PDB ?
b. Passer l'instance à l'état MOUNT. Répondre de nouveau aux questions 1.a.i et 1.a.ii
c. Passer l'instance à l'état OPEN. Répondre de nouveau aux questions 1.a.i et 1.a.ii
d. Passer toutes les PDB en mode READ WRITE.
2. Ouvrir une connexion poly1_admin@POLY1, puis exécuter la commande SHUTDOWN. Que se
passe-t-il ?
3. Donner les commandes permettant :
a. D'arrêter la pdb pdbpoly2.
b. De démarrer la pdb pdbpoly1 en mode READ ONLY.
Créer des PDB
Cette partie doit être traitée avec une connexion SQLPlus system@polytech.
1. Créer une nouvelle base de données avec l'instruction suivante :
CREATE PLUGGABLE DATABASE pdbpoly3
ADMIN USER poly3_admin IDENTIFIED BY oracle
ROLES = (DBA)
FILE_NAME_CONVERT=('/oracle/oradata/POLYTECH/pdbseed','/oracle/oradata/POLYTECH/pd
bpoly3');
a. Expliquer le principe de la création et le rôle des clauses ADMIN USER, ROLES et
FILE_NAME_CONVERT.
b. Dans quel état se trouve la base pdbpoly3 après sa création.
c. Si besoin passer la base à l'état OPEN.
2. Vous allez maintenant déconnecter la base pdbpoly3:
a. Fermer la base pdbpoly3, puis exécuter la commande :
ALTER PLUGGABLE DATABASE pdbpoly3 UNPLUG INTO '/oracle/backup/pdbpoly3.xml';
⇒ La base pdbpoly3 est elle toujours visibles dans le dictionnaire des données ?
b. Supprimer la base de données avec la commande :
DROP PLUGGABLE DATABASE pdbpoly3;
⇒La base pdbpoly3 ne doit plus figurer dans le dictionnaire, en revanche les fichiers de
données sont toujours présents ( dans /oracle/oradata/POLYTECH/pdbpoly3).
c. Reconnecter la base de données de données avec la commande :
CREATE PLUGGABLE DATABASE pdbpoly3 USING '/oracle/backup/pdbpoly3.xml' NOCOPY
TEMPFILE REUSE;
⇒La base pdbpoly3 est à nouveau disponible.
3. Clonage d'une base existante
A la question 1. la base seed a été clonée, pour créer une nouvelle base. Il est également
possible de créer une nouvelle pdb en clonant une pdb existante. Cette question décrit le
mode opératoire.
Vous allez créer une nouvelle base en prenant comme source la base pdbpoly2, pour cela
ouvrir une connexion en mode SYSDBA sur la CDB.
a. Passer la base source à cloner en mode READ ONLY.
b. Créer le répertoire /oracle/oradata/POLYTECH/pdbpoly2_clone qui contiendra les
fichiers de la nouvelle base de données.
c. Exécuter l'instruction
CREATE PLUGGABLE DATABASE PDBPOLY2_CLONE FROM PDBPOLY2
FILE_NAME_CONVERT= ('/oracle/oradata/POLYTECH/pdbpoly2',
'/oracle/oradata/POLYTECH/pdbpoly2_clone');
d. Ouvrir la nouvelle base de données
e. Vérifier le contenu de la table test du schéma poly2_admin de cette nouvelle base de
données.
Script de copie automatique
Vous devez créer un script SQL qui sera permettra le clonage d'une base de données.
Ce script sera appelé de la façon suivante sqlplus /nolog @clone. Il devra ensuite :
• Établir une connexion en mode SYSDBA
•
Demander le nom de la base à cloner
•
Demander le répertoire où se trouve la base à cloner
•
Demander le nom de la nouvelle base
•
Demander le répertoire pour les fichiers de la nouvelle base
•
Effectuer clonage de la base de données en fonction des paramètres saisis
•
Ouvrir la base de données créée et la base source
Gestion des bases en architecture Multi-tenant - 2/2
Téléchargement