Sysdate es una variable global no tiene nada que ver con dual, el dual solo lo utilizas para mostrar resultados ya sea de variables globales o de operaciones en modo consulta (sql plus).
select sysdate, chr(64), user, length('longitud de cadena') from dual;
Si estas programando puedes hacer asignaciones de fecha sin hacer select es decir:
var_fecha := sysdate;
en vez de:
select sysdate into var_fecha from dual;
Saludos DTB