代码改变世界

Oracle 12C -- clone a remote pdb

2015-10-31 13:52  abce  阅读(677)  评论(0编辑  收藏  举报

Connect to the remote CDB and prepare the remote PDB for cloning.

SQL> select con_id,dbid,name,open_mode from v$pdbs;

    CON_ID       DBID NAME                           OPEN_MODE
---------- ---------- ------------------------------ ----------
         2 1258043702 PDB$SEED                       READ ONLY
         3 3749525766 PDB1                           READ ONLY
         4 2192587015 P4                             MOUNTED
         5  255759235 PDB_TEST                       READ WRITE

 

Create a user in the remote database for use with the database link. In this case, we will use a local user in the remote PDB.

SQL> alter session set container=p4;
SQL> alter pluggable database p4 open;
SQL> create user remote_clone_user identified by remote_clone_user ;
SQL> grant create session,create pluggable database to remote_clone_user;

 

Open the remote PDB in read-only mode.

SQL> alter pluggable database p4 close;
SQL> alter pluggable database p4 open read only;

 

Connect to the local database to initiate the clone.

SQL> select con_id,dbid,name,open_mode from v$pdbs;

    CON_ID       DBID NAME                           OPEN_MODE
---------- ---------- ------------------------------ ----------
         2 3671494824 PDB$SEED                       READ ONLY

 

Create a database link in the local database, pointing to the remote database.

SQL> create database link clone_link connect to remote_clone_user identified by remote_clone_user using 'p4';

 

Create a new PDB in the local database by cloning the remote PDB.

SQL> create pluggable database p4 from p4@clone_link create_file_dest='/u12/app/oracle/oradata/p4';

 

The PDB is opened in read-write mode to complete the process.

SQL>  select con_id,dbid,name,open_mode from v$pdbs;

    CON_ID       DBID NAME                           OPEN_MODE
---------- ---------- ------------------------------ ----------
         2 3671494824 PDB$SEED                       READ ONLY
         3 2880590083 P4                             MOUNTED

SQL> alter pluggable database p4 open;
SQL> select con_id,dbid,name,open_mode from v$pdbs;

    CON_ID       DBID NAME                           OPEN_MODE
---------- ---------- ------------------------------ ----------
         2 3671494824 PDB$SEED                       READ ONLY
         3 2880590083 P4                             READ WRITE

SQL>