DBAtlas · 数据库运维图谱

在同一 CDB 内克隆 PDB(本地/热克隆)

Oracle多租户

命令

-- 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 中创建新 PDB;在本地 undo 和 ARCHIVELOG 模式下,可在源库以读写方式打开时运行(热克隆)。

适用场景

用于创建生产 PDB 的测试/开发副本、演练升级或补丁,或在高风险变更前快速做一份副本。

注意

复制会在源端产生额外 I/O,并在目标端需要与源相同的空间。在共享 undo 模式或 NOARCHIVELOG 下,源必须为 READ ONLY(19c 文档)。克隆包含生产数据:打开前请检查数据脱敏、DB link、作业(DBMS_SCHEDULER)以及与外部系统的连接。

在 DBAtlas 中打开 →

相关内容