Клонировать PDB в пределах той же CDB (локальный / горячий клон)
OracleMultitenantКоманда
-- Hot clone prerequisites: local undo + ARCHIVELOG
SELECT property_value AS local_undo
FROM database_properties WHERE property_name = 'LOCAL_UNDO_ENABLED';
SELECT log_mode FROM v$database;
CREATE PLUGGABLE DATABASE <new_pdb> FROM <pdb>
FILE_NAME_CONVERT = ('/<pdb>/', '/<new_pdb>/');
-- OMF/ASM: CREATE PLUGGABLE DATABASE <new_pdb> FROM <pdb> CREATE_FILE_DEST = '+DATA';
ALTER PLUGGABLE DATABASE <new_pdb> OPEN;
SELECT name, open_mode FROM v$pdbs WHERE name = UPPER('<new_pdb>');Что делает
Создаёт новую PDB в той же CDB, копируя datafile исходной PDB; при local undo и ARCHIVELOG может выполняться, пока источник открыт в режиме read-write (горячий клон).
Когда использовать
Чтобы создать тестовую копию / копию для разработки производственной PDB, отрепетировать обновление или патч, или быстро сделать копию перед рискованным изменением.
Внимание
Копирование создаёт дополнительную нагрузку I/O на источнике и требует на целевой стороне столько же места, сколько занимает источник. В режиме shared undo или в NOARCHIVELOG источник должен быть READ ONLY (документация 19c). Клон содержит производственные данные: перед открытием проверьте маскирование, DB link, задания (DBMS_SCHEDULER) и подключения к внешним системам.
Связанные материалы
- Создать новую PDB из PDB$SEED
- Клонировать PDB из другой CDB через DB link (удалённый клон)
- Отключить PDB (unplug) и подключить её к другой (или той же) CDB
- Открыть PDB и сохранить их открытыми при перезапусках CDB (SAVE STATE)
- Задать для каждой PDB лимиты CPU, памяти, I/O и хранилища
- Проверить, в каком контейнере вы находитесь, и запросить все PDB из root (CDB_ / CONTAINERS)