Te recomiendo escribir una función de Oracle que te verifique esto.
Me la imagino recibiendo la fecha y un numero entero. (pudiendo ser este negativo en caso de querer restar dias) y retornando una fecha.
Al interior, te puedes ayudar de esto
Código SQL:
Ver originalSELECT TO_CHAR(SYSDATE,'D') FROM DUAL;
El formato 'D' retorna el numero del día. Donde domingo es 1 y sabado es 7.
Con unas validaciones, podrías conseguir la fecha que requieres.