Wygląda na to, że po dodaniu DISTINCT spowodowałeś, że bazowy kod SQL Twojego widoku nie kwalifikuje się do szybkiego odświeżania, a zatem nie może być używany z ON COMMIT (nawet jeśli określisz odświeżanie kompletne zamiast szybkiego odświeżania). Z dokumentacji Oracle :
Tabela 8-4 Tryby odświeżania
PRZY ZAANGAŻOWANIU
NA ŻĄDANIE
Ten sam link do dokumentu ma również listę ograniczeń dotyczących szybkiego odświeżania.