Local Undo and Compatible 12.1.0.2 ?

Imagine you want to migrate your Oracle Database from 12.1.0.2 to 19c. To allow a fallback plan, you most probably will create your 19c database with the same COMPATIBLE as the source database, 12.1.0.2.0.

Talking now about Local Undo, it was first released on 12.2. So what if I try to create my 19c with Local Undo and 12.1.0.2.0 compatible? Will it work?

[oracle@odbfcl-19-0-0-0 dbhome_1]$ sqlplus / as sysdba

SQL*Plus: Release 19.0.0.0.0 - Production on Mon Jul 12 13:54:10 2021
Version 19.11.0.0.0

Copyright (c) 1982, 2020, Oracle.  All rights reserved.

Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.11.0.0.0

SQL> show parameter compatible

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
compatible                           string      12.1.0.2.0
noncdb_compatible                    boolean     FALSE

SQL> select property_name, property_value
  2  from   database_properties
  3  where  property_name = 'LOCAL_UNDO_ENABLED';

PROPERTY_NAME                  PROPERTY_VALUE
------------------------------ ------------------------------
LOCAL_UNDO_ENABLED             TRUE

SQL> show pdbs

    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         2 PDB$SEED                       READ ONLY  NO
         3 PDB01                          READ WRITE NO

Yes, it's possible!

I guess local undo doesn't include some new datafile-level functionality that DB 12.1.0.2 wouldn't understand. It's enabled/disabled only in the kernel layer.

So you are probably wondering what would happen if I try to downgrade/unplug/plug/catrelod the 12.1.0.2 database with local undo back in the original release? It does also work (after you apply the fix for bug 21388707)!

Have you enjoyed? Please leave a comment or give a 👍!

Leave a Reply

Your email address will not be published.