I did blog in the past weeks about Fallback Strategies with Flashback Database. But two of my reference customers came across an interesting issue when they tried to fallback: Oracle 12.2 underscores appear in the SPFILE – magically – and prevent the fallback using the existing SPFILE.
Oracle 12.2 underscores appear in SPFILE – be aware when you flashback
In one case it happened during a test, in the other case it happened during a live fallback after the Data Guard Broker has interfered with the upgrade causing real trouble. In both cases the SPFILE sits in ASM.
Both customers upgraded their databases to Oracle Database 220.127.116.11 with the latest RU installed.
Both customers tried to flashback the database. As you do this in Oracle Database 18.104.22.168 all works fine. But when you try to MOUNT the database in the before-upgrade environment, you will receive this error:
SQL> startup mount ORA-01078: failure in processing system parameters LRM-00101: unknown parameter name '__inmemory_ext_roarea'
The database can’t be mounted anymore.
What has happened?
Actually four underscore parameters accidentally got written into the SPFILE during upgrade to Oracle Database 22.214.171.124.:
_inmemory_ext_roarea _inmemory_ext_rwarea _upgrade_capture_noops _upgrade_optim
That’s not nice. And these – of course to the previous release unknown – parameters prevent database mount/startup.
The inmemory parameters get tracked as
bug 26695380 - PARAMETERS _INMEMORY_EXT_ROAREA AND _INMEMORY_EXT_RWAREA BLOCK FALLBACK. The upgrade parameters dealing with Multitenant get tracked as
bug 26811983 - PARAMETERS _UPGRADE_CAPTURE_NOOPS AND _UPGRADE_OPTIM BLOCK FALLBACK. Both should be fixed in a future Oracle Database release.
How to avoid it
You must create a copy of your SPFILE before upgrade to avoid such surprises. But if you hit this situation you can do this:
SQL> create pfile from spfile; File created.
Afterwards you will edit your PFILE, remove the four not-known parameters and mount the database.
SQL> startup mount pfile='/u01/app/oracle/product/126.96.36.199/dbs/initUPGR.ora'
Then you can proceed.