5 Replies Latest reply on Apr 23, 2015 3:19 PM by Bill Robinson

    BSA Backup / Recovery concept ?

    Alexander Metzler

      The actual BMC backup / recovery concept is documented in Backup and restore of the BladeLogic environment - BMC Server Automation 8.6 - BMC Documentation .

      The document lists the database and directories on BSA app- and fileserver to be backuped. Unfortunately the problem of inconsistencies between database content and filesystem objects is not mentioned.

      To create a consistent backup a syncronous backup of the database and the filesystem would be needed, with files in the filesystem not changing during the backup intervall. In real life, this is possible with a offline application only and lags behind modern databases point in time recovery mechanisms.


      As long as no other backup feature is provided by BMC, a real life recovery has to deal with inconsistencies. Delete - checkFileServerIntegrity - BMC Server Automation Command Line Interface 8.6 - BMC Documentation may help to manifest inconsistencies. But its output is restricted to 100 lines and the files listed are not correlated to their BSA objects. Thus the benefit of this tool is limited.


      During a BSA recovery, I came across the SQL statement below, which correlates BSA objects to filesystem objects. Thus it should help you to identify inconsistent objects and their effect on BSA objects. It should allow you to clear inconsistencies (which cannot be avoided up to now in a recovery szenario). In my case, after clearance, I was able to do a version independent export of the desired BSA object from the recovered BAS system and import it into another BSA system.


      Finally ... my question.

      Am I missing something ? Is there a better way to deal with inconsistencies during BSA recovery ?


      Hi BMC, are you thinking about other ways to organise your data ? If you really need data on a filesystem ... What about oracle database file system or any similar product ?



      SQL statement for oracle databases ....


      WITH temp1 (group_id, path) AS


        select group_id, cast(name as varchar(1000))

        from blgroup bg1

        where parent_group_id = 0

        UNION ALL

        select bg1.group_id,

        cast(bg2.path || '/' || cast(bg1.name as varchar(100)) as varchar(1000))

        from blgroup bg1

        inner join temp1 bg2 on bg1.parent_group_id = bg2.group_id


      select temp1.path,do.name,o.name,'//'||fs.host||fs.root_path||'/'||fl.relative_path from file_location fl

      join file_server fs on fl.file_server_id = fs.file_server_id

      join depot_object_location dol on fl.file_location_id = dol.file_location_id

      join depot_object do on dol.depot_object_id = do.depot_object_id and dol.depot_object_version_id = do.depot_object_version_id

      join temp1 on do.group_id = temp1.group_id

      join object_type o on do.object_type_id = o.object_type_id

      where do.is_saved_explicitly = 1 and do.is_deleted = 0;

        • 1. Re: BSA Backup / Recovery concept ?
          Bill Robinson

          As long as the file system is newer than the db and hasn’t had cleanup file server run against it, it should be fine.  is it really that hard to coordinate a backup schedule between the two?


          - pick a time to run backups

          - make sure db/fileserver cleanup isn’t running

          - start the db backup

          - start the file server backup


          Also – it is noted there is a dependency between the file server and db, right on the page:


          Ensure that your database and file server backups are correlated.

          • 2. Re: BSA Backup / Recovery concept ?
            Alexander Metzler

            Hi Bill,


            no it is not that hard to coordinate the backups. In my case the timestamps of database and filesystem backups were less than 5 minutes apart. Anyhow, I did run into the problem.


            Did BMC ever ask the community for their recovery experiences ? Or their experiences with database / filesystem inconsistencies ? Is it really as easy going as your answer suggests ?


            Don't get me wrong, I want to help to improve this product. I just wanted to publish my findings for others dealing with a similar problem. If my words were derogatory, I apologize.


            The information about the cleanup job would be a valuable one to be included into the backup / recovery doc. Things may not be obvious to the rest of the BMC community.

            • 3. Re: BSA Backup / Recovery concept ?
              Bill Robinson

              What problem did you actually have – missing files on the file system or orphaned records in the db?


              and you had verified that before the backup you did not have a mismatch between the db and file server ?


              cleanup is the only thing that will delete from the file server (other than manual deletion from the os).  so, as long as the db backup was started before the file server backup, and your db backup is ‘point in time’ (eg a expdb w/ the flashback time) then you may end up w/ ‘extra’ files on the file server because something might have been created in the db and on the file server after your db backup was done.

              • 4. Re: BSA Backup / Recovery concept ?
                Alexander Metzler

                Hi Bill,

                in our case we wanted to recover a BSA compliance check. Export complained about multiple missing files on the filesystem.


                Whether the mismatch was already their before recovery or was caused by recovery, I can not distinguish. How should I verify this, with the backups only ?

                The only thing that comes into my mind would be to run the "blcli Delete checkFileServerIntegrity" job periodically and archive the results (could find its way into the backup /restore doc as well ...)


                And what shall I do if "blcli Delete checkFileServerIntegrity" manifests an inconsistency ? Is there a better way than dealing with SQL statements ?


                In general, in my oppinion it would be a good idea to avoid a dependency between database and filesystem. Coming back to my original question ... Is BMC planning something like that ?

                • 5. Re: BSA Backup / Recovery concept ?
                  Bill Robinson

                  i'm not sure how you can look into the past here.  as long as no one is manually deleting off of the file server you should not have an issue.  the limitation of the 100 results from the integrity check is annoying - make an idea to remove that or a way to show a complete report as i think that would be useful.



                  if there is some inconsistency then you'd need to find backups of the db and/or file server and see if you can restore the objects that are missing.



                  i don't see how you can avoid the dependency between the db and the file system.  we also allow you to store files on a nsh location outside of the file server, so there is a dependency there.