What do you mean with "get refreshed overnight in batch mode"? If you're talking about "loading" new data, I would consider using "online load" (SHRLEVEL CHANGE). Maybe you'll get some timeouts for the users transactions, but this is the simplest implementation (sometimes, simple is better ;-) ).