Ogni volta che ricevi un messaggio di errore Oracle che non capisci, la prima cosa da fare è cercare il significato. Un modo è semplicemente quello di Google. In questo caso la descrizione completa si trova in Errore del database Oracle9i Messaggi è:
(Stranamente questo messaggio di errore non è documentato nei manuali 10G o 11G, nonostante sia ancora sollevato!)
Questo corrisponde alla dichiarazione che hai scritto, che è una query SELECT DISTINCT in cui stai cercando di ordinare i risultati in base a una colonna che non hai selezionato.
Se ci pensi, quello che stai chiedendo non ha senso:selezionando valori DISTINCT che non includono sam.stoptime (ad esempio) potresti consolidare molte righe con valori diversi per sam.stoptime, quindi quale sarebbe governare l'ordinamento?
Inoltre, come sottolinea la risposta di Noel, non vi è alcun motivo per avere comunque una clausola ORDER BY in questo codice, quindi la soluzione è semplicemente rimuoverla.