I seem to have found an odd problem w/ sqlDeveloper (4.1.3 & 4.1.5) when used against an Oracle12.1 database (running under Linux). I am in the process of validating production code from an Oracle 11.2 installation against the said Oracle12.1 DB.
I have many user-defined data-types (create type 'xxx' as object....) that are used as data-types for columns in tables. When using sqlDeveloper against the 11.2 database to examine the contents of a table, the 'data' tab is filled in correctly showing my columns based upon regular types (integer, varchar) as well as my user-defined data type.
However, when running sqlDeveloper against the same schema objects on a 12.1 database, sqlDeveloper displays the message
Fail to construct descriptor: Unable to resolve type "owner.data_type"
upon opening the 'data' tab for the subject table.
As noted, this is production code moving from 11.2 to 12.1. I have connections defined in sqlDeveloper that allow me to connect to my 11.2 and 12.1 databases so that I can compare results which show that the 11.2 db resolves the user data-type correctly while the 12.1 does not. Seems obvious to me that this is an issue w/ sqlDeveloper and how it resolves user-defined data-types against an Oracle 12.1 database.
Furthermore, the user data-type owned by user-a can not be successfully resolved by sqlDeveloper when that data-type is referenced in a table via a private synonym by user-b.
I notice that predefined system data-types (e.g. ordsys.ordimage) resolve correctly.
There are many hits to be found for 'Fail to construct descriptor - Unable to resolve type' but they have all proven to not apply.