Oracle SQL Code - Multiple Joins used
You open with 


  SELECT DISTINCT


. Is this really necessary? This is a performance killer. Perhaps duplicates can only occur between certain tables. If that were the case, put the distinct as deep as you can in query, even if this means adding additional nested queries.