Problem solve Get help with specific problems with your technologies, process and projects.

Using TRACKMOD NO in a tablespace definition

Is it ever an advantage, or recommended situation, to use TRACKMOD NO in a tablespace definition? IBM's default is TRACKMOD YES, and the Admin guide indicates DB2 uses a value of 'YES' to track changed pages in the space map pages to improve the performance of incremental image copies. Are there ever any benefits, performance or otherwise, to using a value of 'NO' if you are not performing incremental copies on a tablespace, or if the object experiences a low number of changes such as code or reference tables? In our shop I don't believe this parameter has ever received any scrutiny beyond accepting IBM's default.

The first part of my answer will be a diatribe against defaults - so skip to the next paragraph if you don't want to read that. It is NEVER a good idea to use defaults for ANY parameter or option in DB2. And I almost never say never. The reason for this strong stance is that the defaults are often the wrong choice for general use -- and even when they are correct for many uses the default will be wrong for certain specific instances. Therefore, it is ALWAYS the best approach to know the options that are available for each parameter and specification and then to explicitly choose the proper option by coding it yourself. Even if it means slowing you down by making you open the manual, it is better to know what it is that you are requesting of DB2 than to just blindly accept a default. (Please note, this is directed at the general populace and is not meant to condemn you or your organization for accepting defaults -- this is a general problem throughout the entire industry.)

Whew, I feel better with that off my chest. Now, on to the second part of your question. There will be some minimal overhead for DB2 to track modifications for pages when TRACKMOD is set to YES. If you think about it, there has to be because there will be additional code being issued to keep track and set the change indicators. The benefit of changing existing tablespaces to TRACKMOD NO though will most likely not be worth the additional administrative effort required to make the changes. Furthermore, if you ever intend to take incremental image copies of the tablespace the gain in performance of making those copies is well worth whatever small amount of overhead is required to track the changes. If you are absolutely sure that you will never take incremental image copies, then go ahead and create the tablespace specifying TRACKMOD NO instead of the default of YES.

For More Information

Dig Deeper on IBM DB2 management