Du har inte sagt vilken version du stöter på detta på, men Gordon Linoff reproducerade på SQL Fiddle som kör 11.2.0.2, och som andra har sagt så syns den inte i 10g och 11.2.0.3, så det verkar rimligt att tro att du kan vara på 11.2.0.2 också.
I så fall ser detta identiskt ut med bugg 12336962. Om du har tillgång till Oracle Support kan du (eller din DBA) slå upp det, men jag kan inte återskapa vad det står här, även om det är en publicerad bugg. Att köra din fråga och exemplet från felrapporten ger samma resultat, och i båda fallen ändras från union all
till union
ger korrekta resultat. Du kanske vill göra en serviceförfrågan för att få den bekräftad.
Det felet är fixat i 11.2.0.3 patch-uppsättningen - jag är inte säker på att jag verkligen ska dela det, men den har redan publicerats här - så att lappa upp kan vara din bästa insats, och Oracle kan föreslå att om du höjer en SR. Om du är osäker, fråga Oracle direkt.