How to subtract years from sysdate
WHERE dob < add_months( trunc(sysdate), -12*20 );
would work assuming that you want to ignore the time component of sysdate
.
In Oracle the NUMTOYMINTERVAL function is designed precisely for this usecase, eg
SELECT SYSDATE - NUMTOYMINTERVAL(20, 'year') FROM dual;