There are lots of different approaches, I think most / all of the require that you can detect the reload state of your oracle database somehow (e.g. by reading in a date column that will show a difference when reloaded), for example
- when reading in your data from oracle, make sure to read in only when the refresh finished.
- e.g. by using a loop in your script (example here)
- or let an external system trigger the QV reload from oracle when ready using EDX
- read in whatever the status of your database is, but monitor the status of your application. You can do this by storing the above mentioned information to a qvd (application, reload status) and build a small app that show the server administrator the overall status).
Something similar to what Rob offers here