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?

ORA-00333 screen 1
Diagram 1

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).
Diagram 2
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).
Diagram 3
Diagram 3

The database is started up so that the altered system parameter is read from the spfile.
Diagram 4
Diagram 4

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.
Diagram 5
Diagram 5

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:
Diagram 6
Diagram 6

Bring the database back up.
Diagram 7
Diagram 7

Let’s not forget the system parameter is still set to true.
Diagram 8
Diagram 8

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.
Diagram 9
Diagram 9

For articles on digital marketing, visit Christ Fellas.


20 responses to “ORA-00333: redo log read error block XXXX count XXXX”

  1. Gyan avatar

    Nice and very use full. I could recover my db using this blog thanks a ton

    1. pobby69 avatar

      Thanks Gyan – glad it helped!

  2. david avatar

    thank you very much for this blog. Very helpfull….

    1. pobby69 avatar

      No problem, thanks for the comment and glad it helped 😀

  3. Jacob avatar

    Great article. Thanks

    1. pobby69 avatar

      Thanks for the feedback, glad you found it useful!

  4. venkatrao avatar

    Nice job for this article, it is very useful to me..thank u so much….good job.

    1. pobby69 avatar

      Thanks for message, glad it helped.

  5. Slawek Kusmierz avatar

    Great help!!! Thanks

    1. pobby69 avatar

      You’re welcome Slawek 🙂

  6. dimple avatar

    thanks a ton !!

  7. Kavya avatar

    Thank you…..The above solution worked!!! 🙂

    1. pobby69 avatar

      You’re very welcome Kavya, I’m glad it helped. It’s always nice to hear back from someone who finds this useful 🙂

  8. jkt48 sensei avatar
    jkt48 sensei

    thanks sir much

  9. Sid avatar

    Thanks a lot. my problem is solved with this help.thanks.You are so good.

    1. pobby69 avatar

      Thanks for the feedback, glad it helped 😀

  10. Marvin Menchú avatar
    Marvin Menchú

    Muchas gracias, su tutorial me ayuda a resolver el problema. Eres Genial.

    1. pobby69 avatar

      No problem, Marvin 👍

  11. bhushan avatar

    You are great Man !

    1. pobby69 avatar

      Thank you very much!

Leave a Reply

Your email address will not be published. Required fields are marked *