Ciao,
il problema nasce dal fatto che ad ogni connessione (client, java, ecc) dovresti, prima di effettuare le varie operazioni (select, upda...), eseguire il comando da te indicato. Anche se utilizzassi il comando:

alter system set nls_date_format='YYYY-MM-DD HH24:MI:SS' scope=spfile;

ogni client al login sovrascriverebbe la configurazione.

Quindi le soluzioni sono due:
1. crei un trigger su logon (CREATE OR REPLACE TRIGGER TRG_LOGIN AFTER LOGON ON DATABASE) che cambia la configurazione alla sessione

2. fai una select dove visualizzi il tuo formato preferito, ma nell'order by metti la data. Es:
SELECT TO_CHAR (SYSDATE, 'DD-MM-YYYY') FROM DUAL
ORDER BY SYSDATE

Ciao
Mik