Oracle Data Integrator 12c Patch - Missing Components

While working with a client this week, I came across an interesting issue, and ultimately a workaround, when patching Oracle Data Integrator 12c. But first, a little background...

The client was working through the OWB to ODI 12c migration process, detailed nicely by Stewart Bryson in his OTN article, "Making the Move from Oracle Warehouse Builder to Oracle Data Integrator 12c". After patching OWB to enable the OWB to ODI Migration Tool, they performed the migration and assessed the migration report for errors. While most of the mappings were generated successfully in ODI, albeit with a few minor issues, there was one that was skipped completely. The report entry stated:

[ERROR][Migration][MU-FRAMEWORK.null.NO??][ERROR][Migration][ODI]No valid component type found with name: PIVOT @ oracle.migration.impl.handlers.OWBMappingMigrationHandler.internalMigrate#89

"No valid component type found with name: PIVOT". That line indicates that the patch to ODI 12c had not yet been completed. Easy enough to resolve, right? Following the patch guidelines that Stewart provided, we installed patch 17053768, reopened ODI Studio, and ...

Components - No PIVOT!

Still no PIVOT component!

After verifying that indeed the correct patch was applied, we dug deeper. A query against the ODI repository metadata showed that the PIVOT/UNPIVOT components did indeed exist, but for some reason, they were not being displayed in ODI Studio.

Query component metadata

After a call for help to several ODI experts, I received the same response from both Jérôme Françoisse and David Allan (sorry David, Jérôme beat you to it!). While ODI Studio is closed, delete the following folder:

C:\Users\\AppData\Roaming\odi\system12.1.2.0.0

Once ODI Studio is reopened, this folder will recreate itself and the components will magically appear.

Components - with PIVOT

It seems this has something to do with caching of the ODI Studio components, specifically for OSGi - according to David Allan, in an attempt to speed things up for the developer. Hopefully, subsequent patches will remove the folder for us so we don't have to think so hard next time!

Big thanks to Jérôme and David for their help!

Edit: As Jeff pointed out in the comments (and my colleague Pete Scott did after reading this post!), the ReadMe.txt file for the patch mentions the need to delete the  folder. Thanks Jeff and Pete! 

post-install