6 Replies Latest reply: May 30, 2012 8:04 AM by 588514 RSS

    how to validate a manual standby

    588514
      Hi all,

      I am setting up a manual physical standby and I want to periodically check the standby database for physical and logical corruption.
      I am not sure what is the best way to do it:
      1) should I only use dbv?
      2) should I open the database read only and use RMAN "validate database check logical ;" ?
      3) should I open the database read only and use anlter table ... validate structure cascade ; for every table?
      4) Do steps 2 and 3 do the same checks?

      Thanks,

      Andrea
        • 1. Re: how to validate a manual standby
          CKPT
          user585511 wrote:
          Hi all,

          I am setting up a manual physical standby and I want to periodically check the standby database for physical and logical corruption.
          I am not sure what is the best way to do it:
          1) should I only use dbv?
          2) should I open the database read only and use RMAN "validate database check logical ;" ?
          3) should I open the database read only and use anlter table ... validate structure cascade ; for every table?
          4) Do steps 2 and 3 do the same checks?
          May be physical corruption can occur, But logical corruption only on standby have less chances..
          as always, Standby is image copy so if any logical corruption in primary you will have those in standby too..

          May be due to some mount point issues (or) any other there is chance for physical corruption.
          So either you can go for DBV, Even you can check by RMAN too.

          Better, if you perform some tests like creating a user with tables(schema) & open standby and keep track the status. I think if you able to open and count is same. You are fine.

          Another point , If any corruption in your database, MRP process will be died and no recovery will be performed, So until unless you able to perform Recover, then there is no issue at the most.+

          Edited by: CKPT on May 18, 2012 4:22 PM
          • 2. Re: how to validate a manual standby
            mseberg
            Hello;

            Tough question. There just are not many of these around.

            The primary purpose of dbv is to verify the integrity of cold datafiles that would be used for a backup, so I would probably NOT use it for this.

            The problem or one of the problems with this is the standby database behind the production database by the size of a redo log pretty much all the time. You cannot check sync so much as am I close.

            I would consider finding a table or tables that have a DATE and are active and then open the standby read only and run whatever SQL to verify production changes are applying. Its simple and easy to demo to say a business customer.

            This is my two cents.

            Best Regards

            mseberg
            • 3. Re: how to validate a manual standby
              588514
              Hi mseberg,

              your idea is useful to verify whether archive log are being applied , but I am looking for a way to do some integrity check of the physical standby . That is why I was asking about the difference between rman's validate database and "alter table validate cascade" ;

              Regards,
              Andrea
              • 4. Re: how to validate a manual standby
                CKPT
                your idea is useful to verify whether archive log are being applied , but I am looking for a way to do some integrity check of the physical standby . That is why I was asking about the difference between rman's validate database and "alter table validate cascade" ;
                Lets suppose you have 3000 of tables, you cant perform validating for each tables?
                Even logical corruption you can check even in primary you no need to check on standby, Because whatever exist in primary it will be in standby.
                So just take care of any physical corruptions, also make sure MRP is keep running.
                • 5. Re: how to validate a manual standby
                  mseberg
                  OK, got it.

                  I would consider using the DBMS_HM PL/SQL Package for this. I'm thinking you would still have to open read only for this.

                  v$hm_check will give you a list of health check names :
                  SELECT 
                    name 
                  FROM 
                    v$hm_check 
                  WHERE 
                    internal_check='N';
                  The Database Administrator's Guide for your version should have a section on "Running Health Checks Manually"

                  Best Regards

                  mseberg
                  • 6. Re: how to validate a manual standby
                    588514
                    Hi
                    I do not want to monitor redo apply at this point.
                    I do not trust the storage the standby database is using so I want to check the standby database from physical corruption.
                    What is the best method to look for physical corruption and logical corruption of a manual stadby database?
                    Thanks,
                    Andrea