How can I get all data from a given table since my last run?
I think you can base your query on the ORA_ROWSCN pseudocolumn.

If two transactions T1 and T2 modified the same row R, one after
another, and committed, a query on the ORA_ROWSCN of row R after the
commit of T1 will return a value lower than the value returned after
the commit of T2

For this use case, the table must be created with ROWDEPENDENCIES (cannot be changed after table creation)

With this feature, each row in the table has a
system change number (SCN) that represents a time greater than or
equal to the commit time of the last transaction that modified the
row.

If you can recreate the table with ROWDEPENDENCIES, then you would swap your latest_changed_date_from_last_run for latest_ora_rowscn_from_last_run and that should do the job.