I wrote a while ago about the harmful effect of check constraints on query optimization. I’ll pause while you catch up on that …
Anyway, this appears to have been addressed in 10.2.0.4, and it’s now safe to go back into the water on applying check constraints. Bug 5891471.
The bug description also notes that you can set event 10195 to disable transitive predicate generation using check constraints.
I haven’t tested any of this — I will if I get time. Unless someoneelse wants to …