อย่างที่เราพอทราบกันดีว่าฐานข้อมูลออราเคิล 12c multitenant (เมื่อเราสร้างฐานข้อมูลแบบ CDB) เราจะใช้ UNDO ร่วมกัน และหากต้องการสร้าง UNDO tablespace ขณะที่เรา connect อยู่ PDB (ไม่ใช่ CDB$ROOT) จะเกิดอะไรขึ้น....
ทดสอบSQL> select name, cdb from v$database;
NAME CDB
--------- ---
CDB YES
SQL> select * from v$version;
BANNER CON_ID
-------------------------------------------------------------------------------- ----------
Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit Production 0
PL/SQL Release 12.1.0.1.0 - Production 0
CORE 12.1.0.1.0 Production 0
TNS for Linux: Version 12.1.0.1.0 - Production 0
NLSRTL Version 12.1.0.1.0 - Production 0
SQL> show user;
USER is "SYS"
SQL>
SQL> show con_name
CON_NAME
------------------------------
CDB$ROOT
SQL> alter session set container=PDB1;
Session altered.
SQL> show con_name
CON_NAME
------------------------------
PDB1
SQL> select file_name from dba_data_files;
FILE_NAME
--------------------------------------------------------------------------------
/u01/app/oracle/oradata/cdb/pdb1/system01.dbf
/u01/app/oracle/oradata/cdb/pdb1/sysaux01.dbf
SQL> create undo tablespace undotbs1 datafile '/u01/app/oracle/oradata/cdb/pdb1/undo01.dbf';
Tablespace created.
SQL> select tablespace_name from dba_tablespaces;
TABLESPACE_NAME
------------------------------
SYSTEM
SYSAUX
TEMP
SQL> select file_name from dba_data_files;
FILE_NAME
--------------------------------------------------------------------------------
/u01/app/oracle/oradata/cdb/pdb1/system01.dbf
/u01/app/oracle/oradata/cdb/pdb1/sysaux01.dbf
SQL> !ls -l /u01/app/oracle/oradata/cdb/pdb1/
total 963292
-rw-r-----. 1 oracle oinstall 20979712 Apr 8 12:01 pdb1_temp01.dbf
-rw-r-----. 1 oracle oinstall 713039872 Apr 9 20:06 sysaux01.dbf
-rw-r-----. 1 oracle oinstall 272637952 Apr 9 20:06 system01.dbf
SQL>
สรุปก็คือ คำสั่งไม่เกิด Error ใดๆ แต่ UNDO tablespace และ database file จะไม่ถูกสร้าง...