$mkdir /crs/pdb1
SQL> CREATE PLUGGABLE DATABASE PDB1 ADMIN USER PDB1_ADMIN IDENTIFIED BY ORACLE123
ROLES=(CONNECT) CREATE_FILE_DEST='/crs/pdb1';
Pluggable database created.
SQL> col con_id for 999
SQL> col name for a10
SQL> select con_id,name,open_mode,dbid,con_uid from v$pdbs;
CON_ID NAME OPEN_MODE DBID CON_UID
------ ---------- ---------- ---------- ----------
2 PDB$SEED READ ONLY 398411755 398411755
3 PDB1 MOUNTED 215713193 215713193
SQL> alter pluggable database pdb1 open;
Pluggable database altered.
SQL> select con_id,name,open_mode,dbid,con_uid from v$pdbs;
CON_ID NAME OPEN_MODE DBID CON_UID
------ ---------- ---------- ---------- ----------
2 PDB$SEED READ ONLY 398411755 398411755
3 PDB1 READ WRITE 215713193 215713193
SQL> !lsnrctl status
LSNRCTL for Linux: Version 12.1.0.2.0 - Production on 29-MAR-2017 23:33:06
Copyright (c) 1991, 2014, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=dns1.mydomain.com)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 12.1.0.2.0 - Production
Start Date 29-MAR-2017 12:03:00
Uptime 0 days 11 hr. 30 min. 6 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /u01/app/oracle/product/12.1.0/dbhome_1/network/admin/listener.ora
Listener Log File /u01/app/oracle/diag/tnslsnr/dns1/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=dns1.mydomain.com)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
Services Summary...
Service "oracdb3" has 1 instance(s).
Instance "oracdb3", status READY, has 1 handler(s) for this service...
Service "oracdb3XDB" has 1 instance(s).
Instance "oracdb3", status READY, has 1 handler(s) for this service...
Service "pdb1" has 1 instance(s).
Instance "oracdb3", status READY, has 1 handler(s) for this service...
The command completed successfully
--->connect the pluggable database using service name(tnsentry)
PDB1=
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = dns1.mydomain.com)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = PDB1)
)
)
CREATE PLUGGABLE DATABASE PDB2 ADMIN USER PDB1_ADMIN IDENTIFIED BY welcome
ROLES=(CONNECT) CREATE_FILE_DEST='/crs/pdb2';
SQL> connect sys/welcome@pdb11 as sysdba
Connected.
sql>conn /as sysdba
SQL> select file_name,tablespace_name,file_id,con_id from cdb_data_files order by con_id,file_id;
FILE_NAME TABLESPACE_NAME FILE_ID CON_ID
------------------------------------------------------------ ------------------------------ ------- ----------
/u01/app/oracle/oradata/ORACDB3/datafile/o1_mf_system_dfqtrw SYSTEM 1 1
p6_.dbf
/u01/app/oracle/oradata/ORACDB3/datafile/o1_mf_sysaux_dfqtol SYSAUX 3 1
y0_.dbf
/u01/app/oracle/oradata/ORACDB3/datafile/o1_mf_undotbs1_dfqt UNDOTBS1 4 1
w7yy_.dbf
/u01/app/oracle/oradata/ORACDB3/datafile/o1_mf_users_dfqtw6g USERS 6 1
x_.dbf
/crs/pdb2/ORACDB3/4BE3CDC48403126EE0534201A8C0B0D0/datafile/ SYSTEM 10
4
o1_mf_system_dfqzh05q_.dbf
/crs/pdb2/ORACDB3/4BE3CDC48403126EE0534201A8C0B0D0/datafile/ SYSAUX 11
4
o1_mf_sysaux_dfqzh068_.dbf
6 rows selected.
SQL> select file_name,tablespace_name,file_id,con_id from cdb_temp_files order by con_id,file_id;
FILE_NAME TABLESPACE_NAME FILE_ID CON_ID
------------------------------------------------------------ ------------------------------ ------- ----------
/u01/app/oracle/oradata/ORACDB3/datafile/o1_mf_temp_dfqtykf7 TEMP 1 1
_.tmp
/crs/pdb2/ORACDB3/4BE3CDC48403126EE0534201A8C0B0D0/datafile/ TEMP 4 4
o1_mf_temp_dfqzh06c_.dbf
SQL> connect sys/welcome@pdb11 as sysdba
Connected.
SQL> select file_name,tablespace_name,file_id,con_id from cdb_temp_files order by con_id,file_id;
FILE_NAME TABLESPACE_NAME FILE_ID CON_ID
------------------------------------------------------------ ------------------------------ ------- ----------
/crs/pdb2/ORACDB3/4BE3CDC48403126EE0534201A8C0B0D0/datafile/ TEMP 4 4
o1_mf_temp_dfqzh06c_.dbf
SQL> select file_name,tablespace_name,file_id from dba_temp_files order by file_id;
FILE_NAME TABLESPACE_NAME FILE_ID
------------------------------------------------------------ ------------------------------ -------
/crs/pdb2/ORACDB3/4BE3CDC48403126EE0534201A8C0B0D0/datafile/ TEMP 4
o1_mf_temp_dfqzh06c_.dbf
========================================================================
[oracle@dns1 admin]$ cat on.lst
SQL> select con_id,name,open_mode,dbid,con_uid from v$pdbs;
CON_ID NAME OPEN_MODE DBID CON_UID
---------- ------------------------------ ---------- ---------- ----------
2 PDB$SEED READ ONLY 398411755 398411755
4 PDB2 READ WRITE 552637150 552637150
SQL> alter pluggable database pdb2 close;
Pluggable database altered.
SQL> alter pluggable database pdb2 open read only;
Pluggable database altered.
SQL> create pluggable database PDB3 from PDB2 create_file_dest='/crs/pdb3';
Pluggable database created.
SQL> select con_id,name,open_mode,dbid,con_uid from v$pdbs;
CON_ID NAME OPEN_MODE DBID CON_UID
---------- ------------------------------ ---------- ---------- ----------
2 PDB$SEED READ ONLY 398411755 398411755
3 PDB3 MOUNTED 2117530703 2117530703
4 PDB2 READ ONLY 552637150 552637150
SQL> alter pluggable database pdb2 close;
Pluggable database altered.
SQL> alter pluggable database pdb2 open;
Pluggable database altered.
SQL> alter pluggable database pdb3 open;
Pluggable database altered.
SQL> select con_id,name,open_mode,dbid,con_uid from v$pdbs;
CON_ID NAME OPEN_MODE DBID CON_UID
---------- ------------------------------ ---------- ---------- ----------
2 PDB$SEED READ ONLY 398411755 398411755
3 PDB3 READ WRITE 2117530703 2117530703
4 PDB2 READ WRITE 552637150 552637150
SQL> !
SQL> connect sys/welcome@pdb3 as sysdba
Connected.
SQL> conn /as sysdba
Connected.
SQL> select file_name,tablespace_name,file_id,con_id from cdb_data_files order by con_id;
FILE_NAME TABLESPACE_NAME FILE_ID CON_ID
------------------------------------------------------------ ------------------------------ ------- ----------
/u01/app/oracle/oradata/ORACDB3/datafile/o1_mf_system_dfqtrw SYSTEM 1 1
p6_.dbf
/u01/app/oracle/oradata/ORACDB3/datafile/o1_mf_sysaux_dfqtol SYSAUX 3 1
y0_.dbf
/u01/app/oracle/oradata/ORACDB3/datafile/o1_mf_undotbs1_dfqt UNDOTBS1 4 1
w7yy_.dbf
/u01/app/oracle/oradata/ORACDB3/datafile/o1_mf_users_dfqtw6g USERS 6 1
x_.dbf
/crs/pdb3/ORACDB3/4BE4E73C779E1CB9E0534201A8C05F7D/datafile/ SYSAUX 13
3
o1_mf_sysaux_dfr42nfj_.dbf
/crs/pdb3/ORACDB3/4BE4E73C779E1CB9E0534201A8C05F7D/datafile/ SYSTEM 12
3
o1_mf_system_dfr42ndo_.dbf
/crs/pdb2/ORACDB3/4BE3CDC48403126EE0534201A8C0B0D0/datafile/ SYSAUX 11
4
o1_mf_sysaux_dfqzh068_.dbf
/crs/pdb2/ORACDB3/4BE3CDC48403126EE0534201A8C0B0D0/datafile/ SYSTEM 10
4
o1_mf_system_dfqzh05q_.dbf
8 rows selected.
SQL> select file_name,tablespace_name,file_id,con_id from cdb_temp_files order by con_id;
FILE_NAME TABLESPACE_NAME FILE_ID CON_ID
------------------------------------------------------------ ------------------------------ ------- ----------
/u01/app/oracle/oradata/ORACDB3/datafile/o1_mf_temp_dfqtykf7 TEMP 1 1
_.tmp
/crs/pdb3/ORACDB3/4BE4E73C779E1CB9E0534201A8C05F7D/datafile/ TEMP 3 3
o1_mf_temp_dfr42nfl_.dbf
/crs/pdb2/ORACDB3/4BE3CDC48403126EE0534201A8C0B0D0/datafile/ TEMP 4 4
o1_mf_temp_dfqzh06c_.dbf
SQL> select name from v$services;
NAME
----------------------------------------------------------------
pdb3
pdb2
oracdb3XDB
oracdb3
SYS$BACKGROUND
SYS$USERS
6 rows selected.
SQL> ---------unplug pdb3
SQL> alter pluggable database pdb3 unplug into 'xmlfile1.xml';
alter pluggable database pdb3 unplug into 'xmlfile1.xml'
*
ERROR at line 1:
ORA-65025: Pluggable database PDB3 is not closed on all instances.
SQL> alter pluggable database pdb3 close;
Pluggable database altered.
SQL> alter pluggable database pdb3 unplug into 'xmlfile1.xml';
Pluggable database altered.
SQL> select con_id,name,open_mode,dbid,cdb_uid from v$pdbs;
select con_id,name,open_mode,dbid,cdb_uid from v$pdbs
*
ERROR at line 1:
ORA-00904: "CDB_UID": invalid identifier
SQL> select con_id,name,open_mode,dbid,con_uid from v$pdbs;
CON_ID NAME OPEN_MODE DBID CON_UID
---------- ------------------------------ ---------- ---------- ----------
2 PDB$SEED READ ONLY 398411755 398411755
3 PDB3 MOUNTED 2117530703 2117530703
4 PDB2 READ WRITE 552637150 552637150
SQL> /
CON_ID NAME OPEN_MODE DBID CON_UID
---------- ------------------------------ ---------- ---------- ----------
2 PDB$SEED READ ONLY 398411755 398411755
3 PDB3 MOUNTED 2117530703 2117530703
4 PDB2 READ WRITE 552637150 552637150
SQL> drop pluggable database pdb3 keep datafiles;
Pluggable database dropped.
SQL> select con_id,name,open_mode,dbid,con_uid from v$pdbs;
CON_ID NAME OPEN_MODE DBID CON_UID
---------- ------------------------------ ---------- ---------- ----------
2 PDB$SEED READ ONLY 398411755 398411755
4 PDB2 READ WRITE 552637150 552637150
SQL> DECLARE compatible BOOLEAN := FALSE; BEGIN compatible :=
DBMS_PDB.CHECK_PLUG_COMPATIBILITY( pdb_descr_file => 'xmlfile1.xml'); if compatible then
DBMS_OUTPUT.PUT_LINE('Is pluggable PDB2 compatible? YES'); else DBMS_OUTPUT.PUT_LINE('Is
pluggable PDB2 compatible? NO'); end if; END;
2 /
PL/SQL procedure successfully completed.
SQL> CREATE PLUGGABLE DATABASE PDB2 USING 'xmlfile1.xml' NOCOPY
2 ;
CREATE PLUGGABLE DATABASE PDB2 USING 'xmlfile1.xml' NOCOPY
*
ERROR at line 1:
ORA-65012: Pluggable database PDB2 already exists.
SQL> CREATE PLUGGABLE DATABASE PDB3 USING 'xmlfile1.xml' NOCOPY;
Pluggable database created.
SQL> select con_id,name,open_mode,dbid,con_uid from v$pdbs;
CON_ID NAME OPEN_MODE DBID CON_UID
---------- ------------------------------ ---------- ---------- ----------
2 PDB$SEED READ ONLY 398411755 398411755
3 PDB3 MOUNTED 2117530703 1215526506
4 PDB2 READ WRITE 552637150 552637150
SQL> alter pluggable database pdb3 open;
Pluggable database altered.
SQL> spool off