Clone PDB
用途:
1、用于测试,从生产系统clone数据来进行测试
2、诊断性能问题
Clone PDB Using OMF from same CDB
环境信息:
DB Version:12.0.1
1 创建必要的目录
oracle*cdbtest*/u01/app/oracle/oradata/cdbtest>$mkdir pdb_clone
2 查看现有pdbs信息
SYS@cdbtest> select pdb_name,status from cdb_pdbs ;
PDB_NAME STATUS
---------------------------------------- -------------
PDB1 NORMAL
PDB$SEED NORMAL
PDB3_HIS NORMAL
SYS@cdbtest> select con_id,dbid,name ,open_mode from v$pdbs ;
CON_ID DBID NAME OPEN_MODE
---------- ---------- ------------------------------ ----------
2 4087438519 PDB$SEED READ ONLY
3 3352592044 PDB1 READ WRITE
4 3960920495 PDB3_HIS READ WRITE
3 关闭pdb3_his并打开为read only状态
SYS@cdbtest> alter pluggable database pdb3_his close immediate ;
Pluggable database altered.
SYS@cdbtest> alter pluggable database pdb3_his open read only ;
Pluggable database altered.
4 使用OMF
SYS@cdbtest> show parameter db_create_file ;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_create_file_dest string
SYS@cdbtest> alter system set db_create_file_dest='/u01/app/oracle/oradata/cdbtest/pdb_clone' ;
System altered.
5 Clone
SYS@cdbtest> create pluggable database pdb1_clone from pdb3_his ;
Pluggable database created.
SYS@cdbtest> SYS@cdbtest> SYS@cdbtest>
SYS@cdbtest> select con_id,dbid,name ,open_mode from v$pdbs ;
CON_ID DBID NAME OPEN_MODE
---------- ---------- ------------------------------ ----------
2 4087438519 PDB$SEED READ ONLY
3 3352592044 PDB1 READ WRITE
4 3960920495 PDB3_HIS READ ONLY
5 2740102686 PDB1_CLONE MOUNTED
6 打开克隆成功的数据并验证
SYS@cdbtest> alter pluggable database pdb1_clone open ;
Pluggable database altered.
SYS@cdbtest> select con_id,dbid,name ,open_mode from v$pdbs ;
CON_ID DBID NAME OPEN_MODE
---------- ---------- ------------------------------ ----------
2 4087438519 PDB$SEED READ ONLY
3 3352592044 PDB1 READ WRITE
4 3960920495 PDB3_HIS READ ONLY
5 2740102686 PDB1_CLONE READ WRITE
Clone PDB Not Using OMF from same CDB
创建语法:
CREATE PLUGGABLE DATABASE pdb56 FROM pdb3_his
PATH_PREFIX = '/u01/app/oracle/oradata'
FILE_NAME_CONVERT = ('/u01/app/oracle/oradata/cdbtest/pdb3/', '/u01/app/oracle/oradata/cdbtest/pdb56/');