There are several methods commonly-used for fast test database refreshes, and they can all be reliably scheduled within Oracle, using dbms_job or dbms_scheduler:
1 – Database cloning – See my notes for a fast full clone of a production database into test. Cloning a regular database. Cloning a RAC database. Backup/Restore (RMAN)
2 – Export-Import
You have a wealth of option with Oracle data pump (export-import), including IGNORE=N, which forces you to pre-drop the tables in TEST, thereby guaranteeing freshness. Here is a common approach to refreshing a test database:
1 – Nuke all non-system objects in TEST – start fresh
2 – Export FULL from PROD and import into TEST
3 – Do full affirmative error checking (grep for “successfully completed” in the import loghttp://www.dba-oracle.com/t_refreshing_test_database_from_production.htm