UNION or UNION ALL consists of many queries(branches) that in pre 12C releases were executed one by one.
<BRANCH1> UNION <BRANCH2> <BRANCH1> UNION ALL <BRANCH2>
So in pre 12C first is processed BRANCH1 then BRANCH2. Of course each individual query(branch) can be processed in serial or in parallel but only one branch at time.
Oracle 12C allows to run branches(statement) of UNION or UNION ALL concurrently. It means that BRANCH2 can be processed together with BRANCH1 :). It can even return data faster than BRANCH1.
This feature is turned on automatically and entire UNION or UNION ALL is processed in parallel if:
- OPTIMIZER_FEATURE_ENABLED set to 12.1 or higher
- one of a branch is considered being processed in parallel



