Parece que com a adição do DISTINCT, você tornou o SQL subjacente da sua visualização inelegível para atualização rápida e, portanto, não pode ser usado com ON COMMIT (mesmo que você especifique atualização completa em vez de atualização rápida). De documentos Oracle :
Tabela 8-4 Modos de atualização
EM COMPROMISSO
SOB DEMANDA
O mesmo link de documento também possui uma lista de restrições para atualização rápida.