Créer une nouvelle PDB depuis PDB$SEED
OracleMultitenantCommande
-- In CDB$ROOT, as SYSDBA:
CREATE PLUGGABLE DATABASE <pdb>
ADMIN USER pdbadmin IDENTIFIED BY "<password>" ROLES = (DBA)
DEFAULT TABLESPACE users
DATAFILE '/u02/oradata/<cdb>/<pdb>/users01.dbf' SIZE 512M AUTOEXTEND ON NEXT 64M
FILE_NAME_CONVERT = ('/u02/oradata/<cdb>/pdbseed/', '/u02/oradata/<cdb>/<pdb>/')
STORAGE (MAXSIZE 50G);
-- With OMF/ASM, instead of FILE_NAME_CONVERT: CREATE_FILE_DEST = '+DATA'
ALTER PLUGGABLE DATABASE <pdb> OPEN;
ALTER PLUGGABLE DATABASE <pdb> SAVE STATE;
SELECT con_id, name, open_mode, restricted FROM v$pdbs ORDER BY con_id;Ce que fait la commande
Crée une nouvelle pluggable database vide à partir du modèle seed ; définit dans la même commande l'utilisateur admin local, le tablespace par défaut et la limite de taille totale.
Quand l'utiliser
Lors de l'ouverture d'une base isolée pour une nouvelle application/un nouveau schéma ; lors de la préparation d'environnements de test et de développement.
Attention
La nouvelle PDB démarre en MOUNTED ; elle nécessite OPEN et SAVE STATE (pour rester ouverte après un redémarrage de la CDB). Des chemins FILE_NAME_CONVERT erronés écrivent les fichiers dans le mauvais répertoire ; sans OMF, un chemin de fichier complet est obligatoire pour DATAFILE (ORA-02236). Licence : en 19c EE, 3 PDB utilisateur par CDB peuvent être utilisées sans l'option Multitenant.
Voir aussi
- Cloner une PDB dans la même CDB (clone local / à chaud)
- Cloner une PDB depuis une autre CDB via un DB link (remote clone)
- Débrancher une PDB et la brancher dans une autre CDB (ou la même)
- Ouvrir les PDB et les garder ouvertes après un redémarrage de la CDB (SAVE STATE)
- Définir des limites de CPU, mémoire, E/S et stockage par PDB
- Vérifier dans quel conteneur vous êtes et interroger toutes les PDB depuis la racine (CDB_ / CONTAINERS)