Ouvrir les PDB et les garder ouvertes après un redémarrage de la CDB (SAVE STATE)
OracleMultitenantCommande
-- Open all PDBs (RAC: INSTANCES = ALL):
ALTER PLUGGABLE DATABASE ALL OPEN;
-- ALTER PLUGGABLE DATABASE <pdb> OPEN INSTANCES = ALL;
-- Save the current open state (opens automatically after a CDB restart):
ALTER PLUGGABLE DATABASE <pdb> SAVE STATE;
-- Saved states:
SELECT con_name, instance_name, state, restricted FROM dba_pdb_saved_states;
-- Remove the saved state:
ALTER PLUGGABLE DATABASE <pdb> DISCARD STATE;
-- If it opens RESTRICTED, find the reason:
SELECT name, cause, type, message
FROM pdb_plug_in_violations
WHERE status <> 'RESOLVED';Ce que fait la commande
Ouvre les PDB en READ WRITE et enregistre leur état d'ouverture actuel pour que la PDB s'ouvre automatiquement dans le même mode au redémarrage de la CDB.
Quand l'utiliser
Après la création, le branchement ou le clonage d'une PDB ; lorsque vous constatez que des PDB restent MOUNTED après un redémarrage de la CDB.
Attention
SAVE STATE enregistre l'état au moment de la commande : si vous l'exécutez alors que la PDB est fermée, l'état "fermé" est enregistré (ou l'enregistrement est supprimé). En RAC, l'état est par instance ; avec une gestion par services (services PDB via srvctl), le démarrage par Clusterware est préférable à SAVE STATE. Sur une standby Data Guard, le mode d'ouverture dépend du rôle.
Voir aussi
- Créer une nouvelle PDB depuis PDB$SEED
- 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)
- 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)