When replaying logs on a standby database and then validating it in (in read only mode) we occasionally come across this oddity.
DBValid is unable to start the database even though the previous log application process reports Recovery Complete. After an initial panic, we found that we could start the database directly in read only mode, close it down and then dbvalid was quite happy. Also, the log application process would continue without error on a database that dbvalid said it could not open.
It only happens occasionally, maybe one validation in ten. It's as though when dbvalid starts the database it does something slightly different (that only matters sometimes) from when you start the database directly with the engine, even when you specify all the same start-up parameters.
We tried all sorts of variations on the dbvalid settings without it making any difference. These are the command lines used in the process in the log below:
It's noticeable that dbvalid adds some extra switches to the engine and the database
-ga to shut down after the last disconnection
-h undocumented
-hn0,5828:208 undocumented
Could these extra switches be the difference?
Engine window logs showing three successful log applications followed by dbvalid failing to start the database: