In this article we will clone a pluggable database from existing PDB (CLONETEST), residing on the same container.
First we need to place PDB in read only mode, which we are planning to clone (CLONETEST).
[code]
[dev:oracle:ORCL}$ sqlplus / as sysdba
SQL*Plus: Release 19.0.0.0.0 - Production on Sun May 17 17:13:24 2020
Version 19.3.0.0.0
Copyright (c) 1982, 2019, Oracle. All rights reserved.
Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0
SQL> show con_name
CON_NAME
------------------------------
CDB$ROOT
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 ORCLPDB READ WRITE NO
4 CLONETEST READ WRITE NO
SQL> alter pluggable database CLONETEST close;
Pluggable database altered.
SQL> alter pluggable database CLONETEST open read only;
Pluggable database altered.
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 ORCLPDB READ WRITE NO
4 CLONETEST READ ONLY NO
SQL>
SQL> alter session set container=CLONETEST;
Session altered.
SQL> select file_name from dba_data_files;
FILE_NAME
--------------------------------------------------------------------------------
/u01/app/oracle/oradata/ORCL/CLONETEST/system01.dbf
/u01/app/oracle/oradata/ORCL/CLONETEST/sysaux01.dbf
/u01/app/oracle/oradata/ORCL/CLONETEST/undotbs01.dbf
/u01/app/oracle/oradata/ORCL/CLONETEST/users01.dbf
SQL> show con_name
CON_NAME
------------------------------
CLONETEST
SQL>
SQL> select name,open_mode from v$pdbs;
NAME OPEN_MODE
---------------------------------------- ----------
CLONETEST READ ONLY
[/code]
We must connect to the container and then clone the pluggable
[code] SQL> alter session set container=CDB$ROOT; Session altered. SQL> show con_name CON_NAME ------------------------------ CDB$ROOT SQL> SQL> SQL> create pluggable database CLONETEST_CL from CLONETEST FILE_NAME_CONVERT=('/u01/app/oracle/oradata/ORCL/CLONETEST','/u01/app/oracle/oradata/ORCL/CLONETEST_CL'); Pluggable database created. SQL> show pdbs CON_ID CON_NAME OPEN MODE RESTRICTED ---------- ------------------------------ ---------- ---------- 2 PDB$SEED READ ONLY NO 3 ORCLPDB READ WRITE NO 4 CLONETEST READ ONLY NO 5 CLONETEST_CL MOUNTED [/code]
Now make based PDB (CLONETEST) and newly created PDB (CLONETEST_CL) "open read write"
[code] SQL> alter pluggable database CLONETEST close; Pluggable database altered. SQL> alter pluggable database CLONETEST open read write; Pluggable database altered. SQL> alter pluggable database CLONETEST_CL open read write; Pluggable database altered. SQL> show pdbs CON_ID CON_NAME OPEN MODE RESTRICTED ---------- ------------------------------ ---------- ---------- 2 PDB$SEED READ ONLY NO 3 ORCLPDB READ WRITE NO 4 CLONETEST READ WRITE NO 5 CLONETEST_CL READ WRITE NO SQL> [/code]
[code] SQL> alter pluggable database CLONETEST close; Pluggable database altered. SQL> alter pluggable database CLONETEST open read write; Pluggable database altered. SQL> alter pluggable database CLONETEST_CL open read write; Pluggable database altered. SQL> show pdbs CON_ID CON_NAME OPEN MODE RESTRICTED ---------- ------------------------------ ---------- ---------- 2 PDB$SEED READ ONLY NO 3 ORCLPDB READ WRITE NO 4 CLONETEST READ WRITE NO 5 CLONETEST_CL READ WRITE NO SQL> [/code]




No comments:
Post a Comment