A complete refresh in 10g does a truncate and insert append. With atomic refresh =>false it also automatically marks the indexes as unusable and rebuilds them in place after the refresh. Unless you have a really shaky network I don't know of too many scenarios that would leave you with 0 rows in your snapshots (except for when there are 0 rows in your source). Ask Tom has a nice discussion here: http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:616795500346622064