Monday, November 29, 2010

TSM Database Page Shadow File

The Tivoli Storage Manager database has a file calle the Page Shadow File (dbpgshdw.bdt).  This file is a mirror of transactions that are written to the database.  This occurs only if two options are enabled in the Server Options file (dsmserv.opt). 

DBPAGEShadow Yes

MIRRORWrite DB Parallel

By default TSM installs with the first set to Yes and the second set to Sequential.  This causes the Page Shadow File to not be used.  However, even with the Parallel option being chosen, the Yes option still causes the Tivoli system to require that file.  In fact, one of the big ways I have seen a Tivoli Storage Manager database to get corrupted is having the parameters set as above and then some process lock the Shadow File.  I have seen machine backups that lock each file as they are backed up do this.  When that happens, you better have a good current back up of the database available.

The Page Shadow File is implemented in TSM to help with high volume systems that may get overwhelmed in database updates.  The transactions are written to this file allowing them to be picked up later and processed when there is less system activity.  If you have a system with heavy activity like this, I would encourage use of the shadow file.  I would make sure it is in a location where the system backup will not be touching it.  There is no need for this file to be backed up, and as I said above, locking this file is dangerous.  The location of this file can be determined int he dsmserv.opt.  By default the TSM server looks for it in the server directory that was created when the server instance was created.  By changing the entry to a fully defined path, it can be relocated to any directory on the server. 

If your system is not high volume, I would reccomend changing the default DBPAGEShadow from Yes to No.  Once this is done, you can delete the file and all is fine.  Or it can be left alone since the system will no longer look for it.  This will keep any harm from this file and keep it from causing database corruption if the file is inadvertantly locked by another program.

1 comment: