7 Replies Latest reply: Aug 6, 2013 4:02 AM by robinsc RSS

    Is instance recovery possible without clustering

    user13254981

      Sorry if this is the wrong area but it is a RAC related question.  I only ever usually work Linux or Solaris.  Someone has asked me to set up a database for them on Windows and doesn't want to use clustering which I am wary of as, well, Windows can have its problems. Recovering a database sure thing, no problem.  An instance goes down in a cluster then again no problem. If however you have a single instance and that gets corrupted what is the fastest method of recovering the inconsistent database? In this scenario it's just the instance I am asking about for example a corrupted registry etc where the instance simply wont start but the spfile, control file, data files, online redo logs files are archived log files are fine.

       

      Sorry if this is a bone question for many its just that all the documentation I've ever read is about covers high availability or protecting the database.  Can't seem to find anything regarding the fastest way to get a corrupted single instance fixed and speaking to the existing database again.

       

      Regards,

       

      Dave.

        • 1. Re: Is instance recovery possible without clustering
          Javier Francisco Ruiz

          If you are talking about a scenario like where the registry or maybe the window system is corrupted those type of issues should be resolved with some type of backup at the OS level not from an Oracle product. Once that type of corruption is resolved then you should be able to restart the database if the datafiles,redolog and controlfiles are fine.


          You could also have standby on a separate server where you could then failover and point the application to the standby database.


          Best practice on Windows is to have separate physical drives for the OS, Oracle Software and Database files.


          Example

          C:\ - OS

          E:\ - Oracle software <- Local or SAN

          F:\ - Oracle Database Files <- Local or SAN

          • 2. Re: Is instance recovery possible without clustering
            user13254981

            Thanks for that, that was exactly what I was looking for

             

            Regards,

             

            Dave

            • 3. Re: Is instance recovery possible without clustering
              robinsc

              however the scenario you described is not an instance corruption since your instance is fine. Its an OS corruption issue. An instance corruption would be one when any of controlfile ,or datafles is corrupted and the way to recover is from backups , a dataguard standby if you have active datagaurd or flash back logs +redo logs.

              Thanks

              • 4. Re: Is instance recovery possible without clustering
                user13254981

                Hi Robin, from Oracle's own documentation:

                 

                A database instance is a set of memory structures that manage database files. A database is a set of physical files on disk created by the CREATE DATABASE statement. The instance manages its associated data and serves the users of the database.

                 

                 

                Where are you getting it from that:

                "An instance corruption would be one when any of controlfile ,or datafles is corrupted and the way to recover is from backups"

                 

                These files have nothing to do with memory structures/database instance.

                 

                You can get a better description here where someone asked for the difference between the instance and the database that will help you:

                 

                https://forums.oracle.com/thread/2338978

                • 5. Re: Is instance recovery possible without clustering
                  robinsc

                  Agreed I was not precise. In fact there is no such terminology as instance corruption.

                  However if you logically assume that an instance corruption occurs due to corruption of the data structures in memory including linked lists and datablocks then once these are written to disk you will end up with data corruption. If you are lucky the corruption will be to the code segments and you will end up with ora -600 or ora-7445 kind of stack traces. If you are unlucky you can end up with corrupt blocks.

                   

                  Note that you mentioned the term " If however you have a single instance and that gets corrupted" in your initial question....


                  and go on to state "what is the fastest method of recovering the inconsistent database" which presupposes that the corruption of the in-memory datastructures has led to block corruption on the datafiles or controlfile. I belive my statements are consistent with your problem description.

                  Cheers

                  • 6. Re: Is instance recovery possible without clustering
                    user13254981

                    Hi Robin well actually no I would disagree with your comment regarding:

                     

                    and go on to state "what is the fastest method of recovering the inconsistent database" which presupposes that the corruption of the in-memory datastructures has led to block corruption on the datafiles or controlfile. I belive my statements are consistent with your problem description.

                     

                    Recovering an inconsistent database has absolutely nothing to do with block corruption on the datafiles or control file and everything to do with recovering a database that is in an inconsistent state (hot backup) as opposed to when a database is in consistent state (cold backup).  Please do check to see the definition of recovering an inconsistent database, absolutely no mention of it meaning by definition that there is block corruption on the datafile or control file.

                     

                    Sorry Robin but the first guy gave me the answer that I thought was correct and he totally understood what I was asking for i.e. advice from someone who knows oracle on windows better just encase.  Terrific job done   You then try to explain to me where I have gone wrong by getting the defininition of an Oracle instance totally wrong by defining it as the physical components which is the opposite to what it actually is then try explaining that an inconsistent backup presupposes that the corruption of the in-memory datastructures has led to block corruption on the datafiles or controlfile.  Robin you need to read up on it again as you are totally wrong. From Oracle:

                    An inconsistent backup is a backup in which all read/write datafiles and control files have not been checkpointed with respect to the same SCN.

                     

                    Inconsistent and consistent backups have got zero to do with corrupted on the datafiles or control files as you put it and everything to do with the difference between a hot and cold backup.

                     

                    Robin if you are going to try to pick at something you need to make sure you've got your facts right.

                    • 7. Re: Is instance recovery possible without clustering
                      robinsc

                      Apologies again, you are right about the inconsistent database. An instance crash would  create an inconsistent database which would be automatically recovered using roll forward /roll back when the instance is again brought up. In that way the fastest means of recovering the databse is to ensure your fast start mttr target is set to the correct value. Configuring Oracle Database.

                      Cheers