7 Replies Latest reply: Sep 2, 2010 7:06 AM by Uwehesse-Oracle RSS

    Standby Redo Logs

    778931
      Hi,
      What is the purpose of Standby redo logs?

      I understand that from primary, the archive logs are shipped to the standby, and then they are applied on the standby database, which is a block by block copy of the primary (yes, the physical standby).

      I have read in the docs, that standby redo logs are recommended, and they are especially applied in real time apply of the redo.

      First RFS process creates archive log file on standby as same name at primary, and then start filling it up with the redo data recieved from the primary. Until it fills the archived log at standby, that archived log cannot be applied to the standby database. Is that so?

      To speed that up, RFS writes the redo data to the standby log files, which are archived later, and in case of instance crash at standby or if we want to open it for read only, it is quick if we use standby log files. is that true?

      OR......

      Or another thing could be that as soon as the redo entries are filled in the online redo logs at the primary, they are also filed in the standby logs. This is perhaps called as the maximum protection or maximum availability mode. If that is the case, then in case of real time apply, what is the advantage of archived redo logs at the standby? Aren't they redundant?


      Would anybody please clear this thing.

      regards

      PS. I am reading following docs:

      http://download.oracle.com/docs/cd/B14117_01/server.101/b10823/standby.htm
      http://download.oracle.com/docs/cd/B14117_01/server.101/b10823/log_apply.htm#1022879

      Edited by: Panicked DBA on Sep 1, 2010 5:42 AM
        • 1. Re: Standby Redo Logs
          Uwehesse-Oracle
          The main purpose of Standby Logs is that they enable a higher protection level than Max Performance.

          If LGWR transports (using LNS) Redo Protocol to the RFS on the standby site, it requires two acknowledgements: I got it (sync) and I wrote it (affirm) into Standby Logs on disk.

          That you can use the standby logs to enable real-time apply is an additional benefit put not the main purpose.

          Kind regards
          Uwe Hesse

          http://uhesse.wordpress.com
          • 2. Re: Standby Redo Logs
            778931
            Thanks for the answer but I am not still clear. Please see my following understand and tell me whether I am right or wrong.

            In real time apply, the redo data from primary is handed over to RFS processes at the standby by the LGWR process at primary, and RFS process writes that redo data to the standby log file. From this standby log file, the redo data is applied to the standby database by the MRP process. Also the ARC process at the standby database generates the archive logs from the standby log files.


            Be default, that is in absence of real time apply, the archive logs are handed over to the RFS process by the ARC process at the primary, and then from those ARC processes, redo data is applied to the standby database by the MRP process.

            Is that right?

            regards
            • 3. Re: Standby Redo Logs
              Uwehesse-Oracle
              >
              In real time apply, the redo data from primary is handed over to RFS processes at the standby by the LGWR process at primary, and RFS process writes that redo data to the standby log file. From this standby log file, the redo data is applied to the standby database by the MRP process. Also the ARC process at the standby database generates the archive logs from the standby log files.
              >

              Correct (except that LGWR does not communicate directly with RFS but through LNS)
              But that is so with LGWR transport independent of Real-Time Apply or not. It is a secondary thing whether MRP takes the redo out of archivelogs or out of standby logs. The major thing is that RFS is able to write into standby logs.

              >
              Be default, that is in absence of real time apply, the archive logs are handed over to the RFS process by the ARC process at the primary, and then from those ARC processes, redo data is applied to the standby database by the MRP process.
              >

              Right. That is the starting point, accompanied with Max Performance Protection level. But you would always want to transport with LGWR (async or sync). You focus on the wrong property: Not Real-Time Apply is key but the protection level and transport method (LGWR or ARCH; if LGWR, SYNC or ASYNC).

              Kind regards
              Uwe Hesse

              http://uhesse.wordpress.com
              • 4. Re: Standby Redo Logs
                778931
                Thanks for the lucid answer. One more request please.

                Can you please point me to some step by step guide to create a standby database through RMAN in 10g or 11g? I have read the notes on metalink and at the official guide, but perhaps I need some thing more lucid.

                Again thanks.

                regards
                • 5. Re: Standby Redo Logs
                  Uwehesse-Oracle
                  You're welcome :-)

                  Incidentally, I have prepared some demos for that. You can download them here:

                  http://uhesse.wordpress.com/downloads/

                  Kind regards
                  Uwe Hesse

                  http://uhesse.wordpress.com
                  • 6. Re: Standby Redo Logs
                    778931
                    Thanks, they seem to be in German, but let me try. :)
                    • 7. Re: Standby Redo Logs
                      Uwehesse-Oracle
                      Not all of them:

                      There are

                      10g Data Guard on the command line
                      11g Data Guard on the command line
                      11g Data Guard in action

                      all in English. The first 2 give you a guideline how to create a Data Guard Configuration without Grid Control step by step, using one machine with Linux OS

                      Hope you will find them useful :-)

                      Kind regards
                      Uwe Hesse

                      http://uhesse.wordpress.com