PDBs öffnen und über CDB-Neustarts hinweg offen halten (SAVE STATE)
OracleMultitenantBefehl
-- 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';Was es tut
Öffnet PDBs READ WRITE und speichert ihren aktuellen Open-Zustand, sodass die PDB beim Neustart der CDB automatisch im selben Modus öffnet.
Wann einsetzen
Nach dem Anlegen, Einstecken oder Klonen einer PDB; wenn du bemerkst, dass PDBs nach einem CDB-Neustart MOUNTED bleiben.
Vorsicht
SAVE STATE hält den Zustand zum Zeitpunkt des Befehls fest: Führst du es bei geschlossener PDB aus, wird der Zustand "geschlossen" gespeichert (oder der Eintrag entfernt). In RAC gilt der Zustand je Instanz; bei Service-basierter Verwaltung (PDB-Services über srvctl) ist der Start über Clusterware SAVE STATE vorzuziehen. Auf einem Data-Guard-Standby hängt der Open Mode von der Rolle ab.
Verwandte Einträge
- Neue PDB aus PDB$SEED anlegen
- PDB innerhalb derselben CDB klonen (Local / Hot Clone)
- PDB aus einer anderen CDB über einen DB-Link klonen (Remote Clone)
- PDB ausstecken (Unplug) und in eine andere (oder dieselbe) CDB einstecken (Plug)
- CPU-, Speicher-, I/O- und Storage-Limits je PDB festlegen
- Aktuellen Container bestätigen und alle PDBs vom Root aus abfragen (CDB_ / CONTAINERS)