This blog post title sounds a bit weird, doesn’t it? Oracle 188.8.131.52 RESTART: Make sure you’ve patched your Oracle 184.108.40.206 homes. Why the heck should you patch your 220.127.116.11 database homes upfront?
Oracle 18.104.22.168 RESTART: Make sure you’ve patched your Oracle 22.214.171.124 homes
Well, there’s an interesting issue happening. When you work with Oracle Grid Infrastructure, no matter if you operate a cluster or “just” use Oracle Restart, you’ll have to upgrade GI to Oracle 12.2 first before you can manage 12.2 databases with it. That’s not new. It’s a well understood rule.
Now guess you operate Oracle RESTART (SIHA – Single Instance High Availability) and you’ve upgraded GI successfully to Oracle 126.96.36.199, patched it already with the most recent RU170718, you register your first Oracle 12.2 database. And all is looking good.
Then you restore an Oracle 188.8.131.52 database and you plan to upgrade it on a later stage.
But when you try to configure the resources you’ll receive this strange error:
srvctl add database -db my12db1_01 -oraclehome /u01/app/oracle/product/12102_1 \ -domain oracle.com -dbname MY12DB1 -instance my12db1 \ –spfile /u01/app/oracle/product/12102_1/dbs/spfilemy12db1.ora PRCG-1036 : Internal error. PRCD-1095 : Failed to retrieve databases for version 11.1 and earlier PRKC-1137 : Unable to find Version object with string value 184.108.40.206.0
If you see this error pattern you have hit:
Bug 20007009 – Cannot add 220.127.116.11 database when cluster contains a 12.2 database (PRCD-1095 / PRKC-1137)
This issue prevents you from adding a 18.104.22.168 database when the cluster contained already an Oracle 12.2 database. Therefore this will hit you only if you registered any 12.2 database resource at first. As database versions lower than 22.214.171.124 have no issues, registering an Oracle 126.96.36.199 database won’t get you this error.
There’s a very simple solution available: You must patch your 188.8.131.52 database homes up to at least the January 2017 PSU. This is also included for instance in the newer Database Proactive Bundle Patches as well (check the README for OCW (Oracle Clusterware)). PSUs and BPs are cumulative- Therefore the newer ones of course have the fix as well. It is important that you’ll have to take NOT the database PSU but the Grid Infrastructure PSU for 184.108.40.206 as this will contain the patch. The patch will be applied to the database homes. Please do ask Oracle Support and not myself if you have further questions.
Please see this blog post by Alain Fuhrer from Swiss Mobiliar Insurance where we hit the issue.
And just by the way, please remember: Oracle RESTART is back again!
These are the errors Alain received when he tried to use the srvctl from the Oracle 12.1 home:
oracle@abc:/oradata/u00/app/oracle/product/12102_1/ [MYDB01] srvctl add database -db mydb01_14 -oraclehome /oradata/u00/app/oracle/product/12102_1 -domain our.domain.com -dbname MYDB01 -instance mydb01 -spfile /oradata/u00/app/oracle/product/12102_1/dbs/spfilemydb01.ora PRCG-1036 : Internal error. PRCD-1095 : Failed to retrieve databases for version 11.1 and earlier PRKC-1137 : Unable to find Version object with string value 220.127.116.11.0 oracle@abc:/oradata/u00/app/oracle/product/12102_1/ [MYDB01]
And this happens when you try to register the 12.1 database by using the srvctl of Oracle 12.2:
[myenv] srvctl add database -db mydb01_14 -oraclehome /oradata/u00/app/oracle/product/12102_1 -domain our.domin.com -dbname MYDB01 -instance mydb01 -spfile /oradata/u00/app/oracle/product/12102_1/dbs/spfilemydb01.ora PRCD-1025 : Failed to create database mydb01_14 PRCD-1298 : Version 18.104.22.168.0 of database or service resource is different from the srvctl version 22.214.171.124.0