Oracle 12.1 version, UNDO table space exists only CDB level ( shared UNDO ), from AskScuti blog Park .
Oracle 12.2 version began, UNDO table space can exist at the same time each PDB level ( local UNDO ).
Performance issues premise: remove the table space after 12.2.0.1 multi-tenant environments, backup and restore PDB PITR, PDB using local UNDO (LOCAL_UNDO_ENABLED = TRUE)
MOS Document ID 2435452.1 (recommended Catalog)
table of Contents
1. Symptom
2. reasons
3. Program
1. Symptom
After backing up the database, delete the PDB a table space (DROP TABLESPACE INCLUDING CONTENTS AND DATAFILES) , can be inserted to perform database (PDB) point in time recovery, the current control files and full log, based on the PDB were PITR recovery ( using the control file non Catalog catalog ), is expected to fail .
Version Information Database
SQL> select banner from v$version; BANNER -------------------------------------------------------------------------------- Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production PL/SQL Release 12.2.0.1.0 - Production CORE 12.2.0.1.0 Production TNS for Linux: Version 12.2.0.1.0 - Production NLSRTL Version 12.2.0.1.0 - Production
LOCAL UNDO is enabled
SQL> select property_name,property_value from database_properties where property_name like '%UNDO%'; PROPERTY_NAME PROPERTY_VALUE ------------------ -------------- LOCAL_UNDO_ENABLED TRUE
backup database
RMAN> backup database format '/u01/app/oracle/backup/%s_%d_%U.full' tag 'FULL';
Record the current SCN
SQL> conn / as sysdba Connected. SQL> alter system switch logfile; System altered. SQL> select current_scn from v$database; CURRENT_SCN ----------- 7779561 SQL> alter system switch logfile; System altered. SQL> alter system switch logfile; System altered. SQL> alter system switch logfile; System altered.
PDB connection drop table space
SQL> alter session set container=pdb1; SQL> drop tablespace test including contents and datafiles; Tablespace dropped. SQL> alter pluggable database pdb1 close; Pluggable database altered. SQL> show pdbs CON_ID CON_NAME OPEN MODE RESTRICTED ---------- --------- ---------- ---------- 3 PDB1 MOUNTED
Execution PDB PITR recovery
run{ set until scn 7779561; restore pluggable database pdb1; recover pluggable database pdb1 auxiliary destination='/u01/app/oracle/au'; alter pluggable database pdb1 open resetlogs; }
Log interception fragment
2019-08-04T06:53:04.851088+08:00 Errors in file /u01/app/oracle/diag/rdbms/cdbocp/CDBOCP/trace/CDBOCP_m003_43519.trc: ORA-01110: data file 24: '/u01/app/oracle/product/12.2.0/db_1/dbs/MISSING00024' ORA-01565: error in identifying file '/u01/app/oracle/product/12.2.0/db_1/dbs/MISSING00024' ORA-27037: unable to obtain file status Linux-x86_64 Error: 2: No such file or directory Additional information: 7 2019-08-04T06:53:05.525255+08:00 Errors in file /u01/app/oracle/diag/rdbms/cdbocp/CDBOCP/trace/CDBOCP_m003_43519.trc: ORA-01110: data file 25: '/u01/app/oracle/product/12.2.0/db_1/dbs/MISSING00025' ORA-01565: error in identifying file '/u01/app/oracle/product/12.2.0/db_1/dbs/MISSING00025' ORA-27037: unable to obtain file status Linux-x86_64 Error: 2: No such file or directory
At this point, the deleted table spaces TEST (and data files) can not be recovered, did not even add the unnamed data files to the control file . Because the current control file has no record TEST table space, and the control file is shared throughout the CDB. If the non-CDB environment, without the use of Catalog, we can solve this problem by controlfile copy of the previous recovery or (manual reconstruction in extreme cases), but you do not want to do so in the CDB, because it will affect All database.
2. reasons
This issue is reported in the below bugs bug 27966859 closed as duplicate of unpublished bug 27855651 Bug 27855651 reported for 12.2 and the fix is included in 18.1
3. Program
1) the use of alternative control file recovery catalog Catalog.
2) When Catalog be insertable into database recovery fails, check the availability of the patch 27,855,651.