There is an Oracle dataset using a custom SQL query that is being used at the beginning of the flow.
When running it the first time, it will work and bring back current data. At the 2nd and subsequent runs, the sync recipe still brings back old data from 2 days ago.
How can I change the sync recipe always to pull the latest dataset output retrieved from the custom SQL query?
Are you seeing the stale data in your sample? When re-running a sync recipe from a SQL dataset it would query the database with the original query.
Can you try to "Save and Refresh" sample from the output dataset of the sync recipe and see if you are still seeing the same result? You also have the option to "auto-refresh" the sample.
Let me know if this helps if not you may want to check your Sync recipe Job diagnostics logs or log a ticket with Support providing the job diagnostics logs.