Currently we copy our production database over every morning to create a read only database that is used solely for long running reports. This process is automated with scripts and takes about 2.5 hours. My question is would a standby database be a suitable alternative to this? I don't know which would be more desirable, the read only database in a constant state of recovery or having it recreated every morning. The obvious benefit of having the read only database a standby database would be that should there be a production failure, we could quickly "fail over" to the standby and activate it. But we have never used a standby db before and are not sure how easy they are to maintain. Or is this scenario even possible? Some standby articles I have read indicate that for it to be in read only mode, the recovery has to be cancelled. Am I understanding this correctly?

Any thoughts on the matter would be greatly appreciated.