I have, what I consider to be, a moderately complex query that is giving me trouble. Functionally identical dummy code:
   SELECT 'COL_A' AS Column_Name
          ,a.COL_A AS ID
          ,COUNT(DISTINCT (a.TRNSCT_NBR||a.LNE_NBR)) AS Transactions
          ,COUNT(DISTINCT a.TRNSCT_DTS) AS Transaction_Dates
          ,SUM(a.AMOUNT_PAID) AS Total_Paid
   FROM LARGE_TRANSACTION_VIEW a
   INNER JOIN SMALL_TABLE c
          ON a.COL_A  = c.COL
   WHERE a.COL_X >= '1000'
          AND a.COL_Y BETWEEN ('T100') AND ('T900')
   GROUP BY 'COL_A', a.COL_A 
  UNION
   SELECT 'COL_B' AS Column_Name
          ,b.COL_B AS ID
          ,COUNT(DISTINCT (b.TRNSCT_NBR||b.LNE_NBR)) AS Transactions
          ,COUNT(DISTINCT b.TRNSCT_DTS) AS Transaction_Dates
          ,SUM(b.AMOUNT_PAID) AS Total_Paid
   FROM LARGE_TRANSACTION_VIEW b
   INNER JOIN SMALL_TABLE c
          ON b.COL_B  = c.COL
   WHERE b.COL_X >= '1000'
          AND b.COL_Y BETWEEN ('T100') AND ('T900')
   GROUP BY 'COL_B', b.COL_B 
;
I have been running into serious performance issues with this query with regards to temp space, runtime, etc. However, after narrowing parameters I'm no longer experience temp space errors, but run time has verged on 14 hours.
My explain plan seems to indicate that total runtime should be around 5 minutes. Can anyone advise as to where to look in the explain plan to determine the source of the issue, or what obvious mistakes I may have made here in light of query efficiency?
Edit: Adding output of explain plan below. I am currently fixing my indexes and so haven't run the query again w/ SQL monitor report, but if it'd be better not to fix indexes than let me know...

 
    