Unlike 12.1 MultiTenant, 12.2 introduces a separate Undo Tablespace for each PDB.
I have two PDBs and each PDB has an Undo Tablespace.
Let me create a new Undo Tablespace.
I was able to switch PDB1 to a new Undo Tablespace (and drop the old Undo Tablespace).
.
.
.
SQL> l 1 select c.con_id, c.name con_name, t.tablespace_name, t.contents, t.status 2 from v$containers c, cdb_tablespaces t 3 where c.con_id=t.con_id 4 and t.tablespace_name like '%UNDO%' 5* order by 1,2 SQL> / CON_ID CON_NAME TABLESPACE_NAME CONTENTS STATUS ---------- ---------------- ---------------- --------------------- --------- 1 CDB$ROOT UNDOTBS1 UNDO ONLINE 3 PDB1 UNDOTBS1 UNDO ONLINE 5 PDB2 UNDOTBS1 UNDO ONLINE SQL>
I have two PDBs and each PDB has an Undo Tablespace.
Let me create a new Undo Tablespace.
SQL> connect system/Oracle_4U@PDB1 Connected. SQL> create undo tablespace PDB1UNDO ; Tablespace created. SQL> show parameter undo NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ temp_undo_enabled boolean FALSE undo_management string AUTO undo_retention integer 900 undo_tablespace string UNDOTBS1 SQL> alter system set undo_tablespace='PDB1UNDO'; System altered. SQL> drop tablespace undotbs1; Tablespace dropped. SQL> connect / as sysdba Connected. SQL> alter pluggable database pdb1 close; Pluggable database altered. SQL> alter pluggable database pdb1 open; Pluggable database altered. SQL> SQL> select c.con_id, c.name con_name, t.tablespace_name, t.contents, t.status 2 from v$containers c, cdb_tablespaces t 3 where c.con_id=t.con_id 4 and t.tablespace_name like '%UNDO%' 5 order by 1,2 6 / CON_ID CON_NAME TABLESPACE_NAME CONTENTS STATUS ---------- ---------------- ---------------- --------------------- --------- 1 CDB$ROOT UNDOTBS1 UNDO ONLINE 3 PDB1 PDB1UNDO UNDO ONLINE 5 PDB2 UNDOTBS1 UNDO ONLINE SQL> SQL> connect system/Oracle_4U@PDB1 Connected. SQL> show parameter undo NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ temp_undo_enabled boolean FALSE undo_management string AUTO undo_retention integer 900 undo_tablespace string PDB1UNDO SQL> select tablespace_name, contents, status 2 from dba_tablespaces 3 where tablespace_name like '%UNDO%' 4 / TABLESPACE_NAME CONTENTS STATUS ---------------- --------------------- --------- PDB1UNDO UNDO ONLINE SQL>
I was able to switch PDB1 to a new Undo Tablespace (and drop the old Undo Tablespace).
.
.
.
2 comments:
How to monitor this separate undo, such as which session or transaction using the UNDO, also its in past. Historical data is quite difficult to get.
You should create a separate Undo Tablespace on DAY 1 itself. So that there is no "historical baggage" to look up. What historical data do you want about Undo ?
Post a Comment