Nov 15

REPAIR OCCUPANCY (Repair reporting occupancy for storage pool)

Server Command Comments Off on REPAIR OCCUPANCY (Repair reporting occupancy for storage pool)

Problem(Abstract)

In Tivoli Storage Manager server version 6.x, the cluster records that are used to track occupancy values for a given node may become invalidated such that occupancy values being reported are inaccurate. One result of this problem could be seen in the Query OCCupancy command where the Physical and Logical Space Occupied values are incorrect. Also, the Query STGpool F=D could show an incorrect value for Duplicate Data Not Stored.

Cause

This could be caused during data movement of deleted deduplicated chunks. The Tivoli Storage Manager would add the occupancy of the deleted chunks to the nodes occupancy making the total occupancy invalid. Once the chunk has been deleted it should no longer count towards the overall occupancy. This issue would cause the storage pool to grow from a reporting perspective until deduplication would no longer show proper results.

Another cause could be client side deduplication enabled. This would only cause the number of files being reported to be wrong as opposed to the sizing.

Resolving the problem

Resolving the problem requires upgrading to at least 6.1.5.102, 6.2.3.100 or 6.3.0.0 of the Tivoli Storage Manager. These released levels not only contain the fix from APAR IC73005, but also the utility for fixing the reporting occupancy.

The utility added to Tivoli Storage Manager is called REPAIR OCCUPANCY. This command takes 3 parameters:
REPAIR OCCUPANCY--+-storage_pool_name-+--+-node_name--+--+-FIX--=-No/Yes
Parameters
storage_pool_name (Required) Specifies the name of the storage pool to be fixed. This parameter is required for the utility to work.
node_name (Required) Specifies the name of the client node. The use of wildcards is not acceptable for this command.
FIX Specifies how the server is to resolve the inconsistencies with the reporting occupancy for the storage pool in question. This parameter is optional. The default is NO.

FIX=No

      Tivoli Storage Manager will only report the reported occupancy values and the actual values that will replace the reporting values. These values will not be updated at this time though.

FIX=Yes

    The server will fix any inconsistencies found for the reporting logical occupancy.

Example:Show the current reporting values and what the actual reporting values should be for the requested storage pool Using the REPAIR OCCUPANCY with the parameter FIX=No will display the current reporting values and what the values will be updated to once the command is ran with FIX=Yes.

      REPAIR OCCUPANCY filecopypool node1
      Repair Occupancy: Cluster for Node NODE1 and Filespace Id 2 in pool FILECOPYPOOL contains following reported values: Current Number of files – 11 Current Number of chunks – 2 Current Reported Occupancy – 28917 Current Reported Logical Occupancy – 28946 Current Reported Reported Occupancy – 28946
    Repair Occupancy: Cluster for Node NODE1 and Filespace Id 2 in pool FILECOPYPOOL contains actual values: Actual Number of files – 19 Actual Number of chunks – 8 Actual Reported Occupancy – 189174 Actual Reported Logical Occupancy – 189046 Actual Reported Reported Occupancy – 189046

Example:Repair the reporting values for the storage pool Using the REPAIR OCCUPANCY command with FIX=Yes will look similar to FIX=No but the exception will be additional messaging stating the changes were made.

      REPAIR OCCUPANCY filecopypool node1 FIX=Yes
      Repair Occupancy: Cluster for Node NODE1 and Filespace Id 2 in pool FILECOPYPOOL contains following reported values: Current Number of files – 11 Current Number of chunks – 2 Current Reported Occupancy – 28917 Current Reported Logical Occupancy – 28946 Current Reported Reported Occupancy – 28946
      Repair Occupancy: Cluster for Node NODE1 and Filespace Id 2 in pool FILECOPYPOOL contains actual values: Actual Number of files – 19 Actual Number of chunks – 8 Actual Reported Occupancy – 189174 Actual Reported Logical Occupancy – 189046 Actual Reported Reported Occupancy – 189046
      Repair Occupancy: Updating Cluster for Node NODE1 and Filespace Id 2 in pool FILECOPYPOOL with actual occupancy values.
      Repair Occupancy: SuccessFully updated Cluster for Node NODE1 and Filespace Id 2 in pool FILECOPYPOOL.
      Repair Occupancy: Utility process 7 finished for Node NODE1 and Filespace Id 2 in pool FILECOPYPOOL finished with 1 occupancy clusters found and 1 occupancy clusters updated.
    **** FINAL REPAIR OCCUPANCY STATS **** Repair Occupancy: Filespaces analyzed: 1 Repair Occupancy: Total Filespaces updated: 1

Related information

IC73005

IC73592

written by Bosse

Jun 11

ANR0100E Error 105 creating table “OccupancyT”

DB2, Server Command, TSM Server 6, Uppgradering Comments Off on ANR0100E Error 105 creating table “OccupancyT”

Problem(Abstract)

The following message will be seen when trying to start the Tivoli Storage Manager server: ANR0100E adminit.c(2564): Error 105 creating table “OccupancyT”.

Symptom

Unable to start the Tivoli Storage Manager server.

Diagnosing the problem

Attempt to start the Tivoli Storage Manager server in the foreground (dsmserv -k instancename) will show the error. Also the following commands can be run from a DB2 command line to verify what accounts have the needed authority.

set db2instance=server1 db2 connect to TSMDB1 db2 “select grantee,securityadmauth from syscat.dbauth”
This should show that only the system accounts has the authority to create the table

Resolving the problem

There have been a few solutions reported for this error. These solutions will assume a database restore or server migration (moving of the Tivoli Storage Manager server) were not recently done.

1. Rebooting the system may resolve this issue. After a reboot, attempt to start the server again.

2. This error was maybe caused by using the wrong user. Use the same user that did the installation or use instance user.

3. The following can also be done to grant authority to the needed account.
For Windows 2008 – Download psexec
http://technet.microsoft.com/en-us/sysinternals/bb897553
– Once extracted, you can run the following command from a Windows command prompt in the directory where you extracted it. psexec -i -s cmd.exe

For Windows 2003 – From a Windows command prompt enter:
sc create testsvc binpath= “cmd /K start” type= own type= interact sc start testsvc
You should then have a new command prompts at c:\Windows\system32 running whoami at this command prompt should show: nt authority\system
You can then start the db2 command line prompt under this window: “C:\Program Files\Tivoli\TSM\db2\BIN\DB2CW.BAT”
Then to grant grant the needed authority, run the following commands
set db2instance=<instance> db2 connect to TSMDB1 db2 grant dbadm with dataaccess with accessctrl on database to user XXX db2 grant secadm on database to user XXX

written by Bosse

Aug 22

New server option REORGDURATION

DB2, Server Command Comments Off on New server option REORGDURATION

Abstract

The REORGDURATION option specifies an interval during which server-initiated table or index reorganization can start.

Content

Schedule server-initiated reorganizations to start during periods when server activity is low. Use this option together with the REORGBEGINTIME option. The REORGBEGINTIME option specifies the earliest time that the server can start a reorganization.

You can update this server option without stopping and restarting the server by using the SETOPT command.
See SETOPT (Set a server option for dynamic update).

Syntax
Read syntax diagramSkip visual syntax diagram
>>-REORGDURation–nn——————————————-><

Parameters

nn
Specifies the number of hours during which a reorganization can start. The minimum value is 1, the maximum value is 24. The default value is 24.

Example

Specify an interval of four hours during which a reorganization can start.
reorgduration 4

 

written by Bosse

Aug 22

New server option REORGBEGINTIME

DB2, Server Command Comments Off on New server option REORGBEGINTIME

Abstract

The REORGBEGINTIME option specifies the earliest time that the Tivoli® Storage Manager server can start a table or index reorganization.

Content

Schedule server-initiated reorganizations to start during periods when server activity is low. Use this option together with the REORGDURATION option. The REORGDURATION specifies an interval during which reorganization can start.

You can update this server option without stopping and restarting the server by using the SETOPT command.
See SETOPT (Set a server option for dynamic update).

Syntax
Read syntax diagramSkip visual syntax diagram
>>-REORGBEGINTime–hh:mm—————————————><

Parameters

hh:mm
Specifies the time that the server can start a reorganization: The default start time 6:00 a.m. Use a 24-hour format to specify the time.

Time Description Values
hh The hour of the day Specify a number 00 – 23.
mm The minute of the hour Specify a number 00 – 59.

Examples

Specify 6:00 a.m. as the earliest time that a reorganization can start.
reorgbegintime 06:00
Specify 8:30 p.m. as the earliest time that a reorganization can start.
reorgbegintime 20:30
Specify noon as the earliest time that a reorganization can start.
reorgbegintime 12:00
Specify 3:30 p.m. as the earliest time that a reorganization can start.
reorgbegintime 15:30
Specify midnight as the earliest time that a reorganization can start.
reorgbegintime 00:00

 

written by Bosse

Jun 09

Using a select statement to create a script or macro command list file

Server Command Comments Off on Using a select statement to create a script or macro command list file
Question
Can the output of SQL statements be used to make a custom file for script or macro purposes?
 
 
Answer
When creating a select statement a common bit of information can be added to every line such as a command to make the output a custom macro or script file. Use a string constant for the command embedded in single quotes as part of the items being selected.
For example:If the outcome was to checkin all volumes that are currently offsite.select ‘CHECKIN LIBVOLUME LIBRARYNAME ‘, VOLUME_NAME from VOLUMES where ACCESS = ‘OFFSITE’ > checkinoffsite.file

Unnamed[1] VOLUME_NAME
—————— ——————
CHECKIN LIBVOLUME LIBRARYNAME /tmp/00000000.BFS
CHECKIN LIBVOLUME LIBRARYNAME /tmp/00000001.BFS
CHECKIN LIBVOLUME LIBRARYNAME /tmp/00000002.BFS
CHECKIN LIBVOLUME LIBRARYNAME /tmp/00000003.BFS
CHECKIN LIBVOLUME LIBRARYNAME /tmp/00000004.BFS
CHECKIN LIBVOLUME LIBRARYNAME /tmp/00000005.BFS
CHECKIN LIBVOLUME LIBRARYNAME /tmp/00000006.BFS
CHECKIN LIBVOLUME LIBRARYNAME /tmp/00000007.BFS
CHECKIN LIBVOLUME LIBRARYNAME /tmp/00000008.BFS
CHECKIN LIBVOLUME LIBRARYNAME /tmp/00000009.BFS
CHECKIN LIBVOLUME LIBRARYNAME /tmp/0000000A.BFS

This will redirect the output to a file, checkinoffsite.file, that will contain a checkin command for every offsite volume. This file can be manipulated to create a script or macro.

written by Bosse