Database consolidation (PDB/Application PDB: High SQL version count)
In the pre-12c world, when use schema consolidation (i.e., same table/same query but different schema name), We can easily ran into high sql version count problem when we have hundreds of client schema. Oracle give a nice reason why the child cursor is needed:
Authorization Check failed
Which make perfect sense. As we are moving to PDB or even application PDB, each PDB has it own name space, why do we still generate child cursor for the same SQL running against different PDB? Can't we use con_id as the first partition criteria? (i.e., instead of just checking sql_id, why can't Oracle use con_id+sql_id?)