ORA-00333: redo log read error block XXXX count XXXX
ORA-00333: redo log read error block XXXX count XXXX
I encountered this Oracle error when connecting to my database after my laptop lost power and subsequently had some severe Blue Screen issues.
According to Oracle, ORA-00333 is caused by an IO error while reading the log described in the accompanying error. The resolution is to restore accessibility to the file, or get another copy of the file.
This certainly ties in with my scenario.
The steps found to recover from this are fine for a test or development environment where data loss is not an issue. You wouldn’t want to follow these for a production environment though as you could well lose data!
So, what does it look like in practise?
We can see that after connecting to the database my instance was idle (diagram 1), this may not be the case with yours, so I issued startup. This then throws the ORA-00333 error.
The first thing to do is shutdown the database with shutdown immediate (diagram 2).
Next, bring up and mount the database – we need the database mounted (with restricted access) to alter the system parameter. If we try and do this with the database shutdown we’ll get ORA-01034: ORACLE not available.
After setting the “_allow_resetlogs_corruption” parameter we then shutdown the database again (diagram 3).
The database is started up so that the altered system parameter is read from the spfile.
Next we tell Oracle to recover the database. When prompted to specify a log I hit <return> which threw a few extra messages, you could alternatively type CANCEL if which case it should skip to the line ORA-01547: warning.
After recovery from an incomplete media set, or using a backup control file, it is required to reset the redo log. Further details on what happens during this process can be found here:
http://www.di.unipi.it/~ghelli/didattica/bdldoc/B19306_01/backup.102/b14191/osrecov009.htm
Bring the database back up.
Let’s not forget the system parameter is still set to true.
The last thing to do is to set the parameter to false and restart the database and confirm that the parameter is now set to false.
For articles on digital marketing, visit Christ Fellas.
Nice and very use full. I could recover my db using this blog thanks a ton
Thanks Gyan – glad it helped!
thank you very much for this blog. Very helpfull….
No problem, thanks for the comment and glad it helped 😀
Great article. Thanks
Thanks for the feedback, glad you found it useful!
Nice job for this article, it is very useful to me..thank u so much….good job.
Thanks for message, glad it helped.
Great help!!! Thanks
You’re welcome Slawek 🙂
thanks a ton !!
Thank you…..The above solution worked!!! 🙂
You’re very welcome Kavya, I’m glad it helped. It’s always nice to hear back from someone who finds this useful 🙂
thanks sir much
Thanks a lot. my problem is solved with this help.thanks.You are so good.
Thanks for the feedback, glad it helped 😀
Muchas gracias, su tutorial me ayuda a resolver el problema. Eres Genial.
No problem, Marvin 👍
You are great Man !
Thank you very much!
This really helped!!!!!! Many thanks.. you have saved days which could take us to rebuild db and a loss of data.
Hey!
So glad this article helped you, thanks for letting me know!
ThAnks a lot..It worked for me..Was stressed the whole day and your blog just did wonders..Looked everywhere but no solution worked except yours…
Cheers mate!.. Keep up the great work..
ThAnks a lot..It worked for me..Was stressed the whole day and your blog just did wonders..Looked everywhere but no solution worked except yours…
Cheers mate!.. Keep up the great work..
Good evening! I have the same mistake, but my database is in mode no archuivelog. It´s works for my error
database?