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 [email protected]_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>
时间: 2024-10-17 16:06:55