DBAtlas · Атлас эксплуатации баз данных

Клонировать 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) и подключения к внешним системам.

Открыть в DBAtlas →

Связанные материалы