We are SAN mirroring a 10.2.0.4 RH Linux 5.0 RAC database to a DR 10.2.0.4 RH Linux 5.0 RAC setup. Once the SAN mirror was cut, I opened the DB but it complained that it needed recovery, so I mounted it and explicitly issued instance recovery. It appeared to have applied the redos because it took some time for the command to process, but the DB still reported that it required recovery after attempting to open it. I manually recovered the DB by applying the Online Redo log files manually and was able to successfully open the database there after.
I don't understand why I'm unable to open the database via startup and why Oracle isn't implicitly running instance recovery. There shouldn't be any need for intervention on my end. What exactly am I missing here? Any help would be appreciated.
Is your SAN mirroring active-active OR active-passive. This happens in active passive mirroring where it is possible when your controlfile is mirrored but part of the online redolog is not. When you try to open the database controlfile will have little more information and will ask about the required redo log. This does not happen in active-active mirroring.
A mirror-split can be done only with the database in BEGIN BACKUP mode. You must also ensure that the corresponding archivelog(s) is/are shipped to the DR storage.
Since the database is in BACKUP mode, when you attempt to issue a normal STARTUP, Oracle warns that RECOVERy is needed.
You must follow the SAN vendor's precise documentation for mirroring Oracle databases.
Hemant K Chitale
PS : Also see Oracle Support article "Supported Backup, Restore and Recovery Operations using Third Party Snapshot Technologies [ID 604683.1]"
Edited by: Hemant K Chitale on Jan 24, 2013 10:00 AM
Added PS on the Oracle Support article
Its expected behavior , as during time span of SAN sync redo log files were overwritten & generated archive logs.
Instance Recovery performs redo log scan only & whenever sequences required for recovery doesn't match / available in redo it prompts to supply archive-logs containing old sequence threads.
If your sync would have completed quickly before any of the redo getting overwritten , Recovery would have been manged by oracle itself but of-course it may not be possible based on disk size/bandwidth of sync