Académique Documents
Professionnel Documents
Culture Documents
This page has a collection of useful SQL statements for IBM Tivoli Storage Manager (TSM). Here you can find out a lot of selects that will help you to get information from TSM and to construct your own SQL statements.
-----------0.0
Nodes
Number of nodes
tsm: SERVER1> SELECT SUM(num_nodes) FROM domains Unnamed[1] ----------165 tsm: SERVER1> SELECT COUNT(*) FROM nodes Unnamed[1] ----------165
Nodes locked
tsm: SERVER1> SELECT node_name FROM nodes WHERE locked='YES' NODE_NAME -----------------NODE_TEMP NODE99
tsm: SERVER1> SELECT node_name, VARCHAR(client_version)||'.'||VARCHAR(client_release)||'.'||VARCHAR(client_level)||'-'||VARCHAR(client_sublevel) FROM nodes NODE_NAME -----------------NODE01 NODE02 NODE03 NODE04 ... Unnamed[2] -----------------5.3.4-8 5.3.0-14 5.1.6-2 5.3.4-0
Schedules
Nodes without associated schedules
tsm: SERVER1> SELECT node_name FROM nodes WHERE node_name NOT IN (SELECT node_name FROM associations) NODE_NAME -----------------NODE_TEMP SERVER-04 ...
client_schedules.description, client_schedules.action, client_schedules.options, client_schedules.objects, client_schedules.starttime FROM associations associations, client_schedules client_schedules WHERE associations.domain_name = client_schedules.domain_name AND associations.schedule_name = client_schedules.schedule_name ORDER BY associations.domain_name, associations.node_name, associations.schedule_name DOMAIN_NAME: NODE_NAME: SCHEDULE_NAME: DESCRIPTION: ACTION: OPTIONS: OBJECTS: STARTTIME: DOMAIN_NAME: NODE_NAME: SCHEDULE_NAME: DESCRIPTION: ACTION: OPTIONS: OBJECTS: STARTTIME: ... AIX NODE01 Schedule1 Backup Online of database XX COMMAND /opt/tivoli/tsm/scripts/bkp_weekly.sh 21:15:00 AIX NODE01 Schedule2 Backup Incremental of Operating System INCREMENTAL /usr/ /opt/ /var/ /etc/ /home/ 09:00:00
DESCRIPTION: ACTION: OPTIONS: OBJECTS: PRIORITY: STARTDATE: STARTTIME: DURATION: DURUNITS: PERIOD: PERUNITS: DAYOFWEEK: EXPIRATION: CHG_TIME: CHG_ADMIN: PROFILE: SCHED_STYLE: ENH_MONTH: DAYOFMONTH: WEEKOFMONTH: DOMAIN_NAME: NODE_NAME: SCHEDULE_NAME: ACTION: OPTIONS: OBJECTS: PRIORITY: STARTDATE: STARTTIME: DURATION: DURUNITS: PERIOD: PERUNITS: DAYOFWEEK: EXPIRATION: CHG_TIME: CHG_ADMIN: PROFILE: SCHED_STYLE: ENH_MONTH: DAYOFMONTH: WEEKOFMONTH: ...
Archive Weekly ARCHIVE -archmc=MC_AIX_WEEKLY /app2/ 5 2006-05-01 06:01:00 1 HOURS 1 WEEKS TUESDAY 2007-07-03 10:35:12.000000 ADMIN CLASSIC
NT SERVER-02 BD_OFF_DOMINO_MONTHLY COMMAND d:\tsm\tsmscripts\tdp_dom_offline_monthly.cmd 2 2006-05-01 21:00:00 1 HOURS Sun 2007-05-24 09:08:14.000000 ADMIN ENHANCED Any Any First
SOURCE_NAME LIBRARY_NAME --------------------------TSM-SERVER1 /dev/smc0 TSM-SERVER1 3584 TSM-SERVER1 3584 TSM-SERVER1 3584 TSM-SERVER1 3584
SOURCE_TYPE DEVICE ----------------------SERVER SERVER /dev/rmt0 SERVER /dev/rmt1 SERVER /dev/rmt2 SERVER /dev/rmt3
tsm: SERVER1> SELECT COUNT(*) FROM drives WHERE NOT online='YES' and library_name='3584' Unnamed[1] ----------0
Management class
Management classes per domain
tsm: SERVER1> SELECT domain_name, set_name, class_name, defaultmc FROM mgmtclasses DOMAIN_NAME DEFAULTMC ----------------------------SET_NAME -----------------CLASS_NAME -----------------------
Management classes of policy set ACTIVE that a specific node can use
tsm: SERVER1> SELECT nodes.domain_name, nodes.node_name, mgmtclasses.class_name, mgmtclasses.defaultmc FROM nodes, mgmtclasses WHERE nodes.domain_name=mgmtclasses.domain_name AND set_name='ACTIVE' AND node_name='NODE1' DOMAIN_NAME DEFAULTMC ----------------------------NODE_NAME -----------------CLASS_NAME -----------------------
NODE1 NODE1
DAILY WEEKLY
Yes No
Copy Groups
Destination pool of each management class (type: archive copy group)
tsm: SERVER1> SELECT domain_name, class_name, destination FROM ar_copygroups DOMAIN_NAME -----------------AIX AIX AIX ... CLASS_NAME -----------------MC_AIX_DAILY MC_AIX_MONTHLY MC_AIX_NOLIMIT DESTINATION -----------------AIX_DAILY AIX_MONTHLY AIX_NOLIMIT
MC_AIX_MONTHLY MC_AIX_NOLIMIT
365
tsm: SERVER1> SELECT domain_name,set_name,class_name,retver,destination FROM ar_copygroups WHERE set_name='ACTIVE' DOMAIN_NAME SET_NAME DESTINATION ----------------------------------------------------AIX ACTIVE AIX_DAILY AIX ACTIVE AIX_MONTHLY AIX ACTIVE NOLIMIT AIX_NOLIMIT ... CLASS_NAME -----------------MC_AIX_DAILY MC_AIX_MONTHLY MC_AIX_NOLIMIT RETVER -----7 365
Activity Log
Search in the activity log for missed schedules in the last 2 hours
tsm: SERVER1> SELECT date_time,message FROM actlog WHERE originator='SERVER' AND message LIKE'ANR2578W%' AND date_time>=current_timestamp-2 hours DATE_TIME -----------------MESSAGE ------------------
2007-07-26 14:00:01.000000
ANR2578W Schedule ORACLE_HOME in domain AIX for node SERVER-1 has missed its scheduled start up window.
Search in the activity log for messages with Error severity in the last 1 hour
tsm: SERVER1> SELECT date_time,message FROM actlog WHERE originator='SERVER' AND severity='E' AND date_time>current_timestamp-1 hours DATE_TIME -----------------2007-07-27 10:22:17.000000 MESSAGE -----------------ANR2034E QUERY SPACETRIGGER: No match found using this criteria.( SESSION: 252982)
Search in the activity log for successful, missed or failed schedules in the last 1 day
tsm: SERVER1> SELECT date_time,severity,message FROM actlog WHERE originator='SERVER' AND ( message LIKE'ANR2507I%' OR message LIKE'ANR2751I%' OR message LIKE'ANR2578W%' OR message LIKE'ANR2579E%') AND date_time>timestamp(current_date)-(1)days DATE_TIME -----------------2007-07-25 00:14:48.000000 SEVERITY -----------------I MESSAGE ------------------ANR2507I Schedule IN_APP1 for domain NT started at 07/24/07 22:30:00 for node SERVER-2 completed successfully at 07/25/07 00:14:48.(SESSION: 233833) ANR2579E Schedule INC_APP2 in domain NT for node SERVER-3 failed (return code 1).(SESSION: 234285) ANR2578W Schedule
2007-07-25 00:30:03.000000
2007-07-25
00:40:01.000000
ORACLE_HOME in domain AIX for node SERVER-1 has missed its scheduled start up window.
Search in the activity log for a specific ANR in the last 1 day
tsm: SERVER1> SELECT date_time,severity,message from actlog WHERE message LIKE'ANR8438I%' and date_time>timestamp(current_date)-(1)days DATE_TIME -----------------2007-07-27 09:21:19.000000 SEVERITY -----------------I MESSAGE -----------------ANR8438I CHECKOUT LIBVOLUME for volume R00135L3 in library 3584 completed successfully.(SESSION: 252515, PROCESS: 470) ANR8438I CHECKOUT LIBVOLUME for volume R00049L3 in library 3584 completed successfully.(SESSION: 252515, PROCESS: 471)
2007-07-27 09:21:28.000000
Summary
Summary of archive operations in the last 7 days
tsm: SERVER1> select cast(float(sum(bytes))/1024/1024/1024 as dec(8,2)) as "Archive data in GB" from summary where activity='ARCHIVE' and end_time>timestamp(current_date)-(7)days Archive data in GB -------------------14508.09
38829.70
Statistics of archive, backup, restore and retrieve operations per node in the last 7 days (GB)
tsm: SERVER1> SELECT entity, activity, CAST(FLOAT(SUM(bytes)) / 1024 / 1024 / 1024 AS DECIMAL(8,2)) FROM summary WHERE end_time>current_timestamp-(7)DAY and ( activity='ARCHIVE' OR activity='BACKUP' OR activity='RESTORE' OR activity='RETRIEVE' ) GROUP BY entity, activity ENTITY -----------------SERVER-01 SERVER-01 SERVER-01 SERVER-02 SERVER-02 SERVER-03 SERVER-04 SERVER-04 ... ACTIVITY -----------------ARCHIVE BACKUP RESTORE ARCHIVE BACKUP ARCHIVE ARCHIVE BACKUP Unnamed[3] ---------81.14 261.68 2.91 171.51 0.00 17.64 168.32 530.77
2008-11-20 (VOL066L4) 13 12:22:46.000000 2008-11-20 (VOL008L4) 16 12:45:48.000000 2008-11-22 (VOL092L4) 51 12:00:29.000000 2008-11-22 (VOL100L4) 21 12:40:47.000000
0 00:23:01.000000 RECLAMATION YES 0 00:13:40.000000 RECLAMATION YES 0 00:40:18.000000 RECLAMATION YES 0 00:29:51.000000 RECLAMATION YES
Volumes
Number of scratch volumes
tsm: SERVER1> SELECT COUNT(*) FROM libvolumes WHERE status='Scratch' Unnamed[1] ----------18
tsm: SERVER1> SELECT COUNT(*) FROM libvolumes WHERE status='Scratch' and library_name='3584' Unnamed[1] ----------18
tsm: SERVER1> SELECT COUNT(*) FROM volumes WHERE error_state='YES' Unnamed[1] ----------1
---------------- ----------- -----------DAILY DAILY DAILY DAILY 0.0 0.0 0.1 0.1 9.7 13.5 0.1 24.0
Full volumes with reclaimable space (%) greater than XX in the library
tsm: SERVER1> SELECT volumes.volume_name, volumes.stgpool_name, volumes.pct_utilized, volumes.pct_reclaim, volumes.status, volumes.access FROM volumes, libvolumes WHERE volumes.volume_name=libvolumes.volume_name AND volumes.status='FULL' AND volumes.pct_reclaim>80 ORDER BY stgpool_name VOLUME_NAME STGPOOL_NAME ACCESS ------------------ --------------------------- -----------------256AFB NIGHTLY READWRITE 295AFB NIGHTLY READWRITE ... PCT_UTILIZED -----------12.4 11.3 PCT_RECLAIM ----------87.5 88.6 STATUS -------FULL FULL
Volumes in a specific storage pool with reclaimable space (%) greater than XX
tsm: SERVER1> SELECT volume_name,devclass_name,stgpool_name,pct_reclaim,pct_utilized FROM volumes WHERE pct_reclaim>80 AND stgpool_name='OFFSITE' VOLUME_NAME DEVCLASS_NAME PCT_RECLAIM PCT_UTILIZED -------------------------------------------------tape11 LTO 99.9 0.0 tape84 LTO 85.0 15.0 tape86 LTO 90.3 9.6 tape90 LTO 90.3 9.6 ... STGPOOL_NAME -----------------OFFSITE OFFSITE OFFSITE OFFSITE ------
VOLUME_NAME ACCESS ----------------- -----------290AFB READWRITE 241AFB READWRITE 265AFB READWRITE 365AFB READWRITE ...
volumeusage GROUP BY volume_name, stgpool_name VOLUME_NAME ----------------TA0016L4 TA0017L4 TA0018L4 TA0019L4 TA0023L4 ... STGPOOL_NAME ----------------DAILY DAILY WEEKLY DAILY DAILY Number of Nodes --------------31 1 30 44 1
Number of volumes in the library per owner (useful in a library manager environment)
tsm: SERVER1> SELECT owner,count(*) FROM libvolumes WHERE status<>'Scratch' GROUP BY owner OWNER -----------------library_client_1 library_client_2 library_client_3 library_client_4 library_server Unnamed[2] ----------141 105 53 101 257
Storage Pools
Compare size and number of files between two storage pools
tsm: SERVER1> SELECT stgpool_name,SUM(logical_mb)AS Logical_MB,SUM(num_files)AS Num_Files FROM occupancy WHERE stgpool_name='DAILY' OR stgpool_name='COPY_DAILY' GROUP BY stgpool_name STGPOOL_NAME ---------------DAILY COPY_DAILY LOGICAL_MB ------------------------1277890.99 1246583.48 NUM_FILES ----------350851 350639
Maximum scratch volumes allowed and number of volumes used per stgpool (needs tsm version +5.3)
tsm: SERVER1>SELECT stgpool_name,devclass,maxscratch,numscratchused FROM stgpools STGPOOL_NAME NUMSCRATCHUSED -----------------DAILY 521 DEVCLASS -----------------3584 MAXSCRATCH ----------1100 -------------
Volume History
Number of full tsm db backups in the last 24 hours
tsm: SERVER1> SELECT COUNT(*) FROM volhistory WHERE type='BACKUPFULL' AND date_time>=current_timestamp-24 hours Unnamed[1] ----------1
DRM
Information about drm volumes in the library with state different from "MOUNTABLE"
tsm: SERVER1> SELECT drmedia.volume_name, drmedia.state, drmedia.voltype FROM drmedia, libvolumes WHERE drmedia.volume_name=libvolumes.volume_name AND drmedia.state<>'MOUNTABLE' VOLUME_NAME -----------------STATE -----------------VOLTYPE ------------
COURIER COURIER
CopyStgPool CopyStgPool
Sessions
Number of nodes sessions
tsm: SERVER1> SELECT COUNT(*) FROM sessions WHERE session_type='Node' Unnamed[1] ----------16
Unnamed[1] ----------1
--------------
-------
tsm: SERVER1> SELECT client_name,session_id, current_timestamp-start_time AS ElapTime, commmethod, state, CAST(bytes_sent/1024/1024 AS DEC(8,2)) AS "MB_Sent", CAST(bytes_received/1024/1024 AS DEC(8,2)) AS "MB_Rcvd", cast((cast(bytes_sent as dec(18,0))/cast((current_timestamp-start_time) seconds as decimal(18,0))) / 1024 / 1024 AS DEC (18,2)) AS "Sent_MB/s", cast((cast(bytes_received as dec(18,0))/cast((current_timestamp-start_time) seconds as decimal(18,0))) / 1024 / 1024 AS DEC (18,2)) AS "Rcvd_MB/s" FROM sessions WHERE session_type='Node' CLIENT_NAME SESSION_ID ELAPTIME MB_Sent MB_Rcvd Sent_MB/s Rcvd_MB/s ------------- ----------- ----------------------------- ---------- ------------ ------------NODE10 76499 0 20:53:40.000000 0.03 402998.64 0.00 5.35 NODE34 76500 0 20:53:40.000000 0.03 398363.23 0.00 5.29 NODE28 76501 0 20:52:18.000000 0.02 370801.49 0.00 4.93 NODE79 76502 0 20:52:01.000000 0.03 443600.35 0.00 5.90 ... COMMMETHOD STATE
--------------- --------- Tcp/Ip Tcp/Ip Tcp/Ip Tcp/Ip Run RecvW RecvW Run
Backups
Search a specific file from a Node
tsm: SERVER1> SELECT * FROM backups WHERE node_name='MY_NODE' AND ll_name='dsm.opt' NODE_NAME: FILESPACE_NAME: FILESPACE_ID: STATE: TYPE: HL_NAME: LL_NAME: OBJECT_ID: BACKUP_DATE: DEACTIVATE_DATE: OWNER: CLASS_NAME: NODE_NAME: FILESPACE_NAME: FILESPACE_ID: STATE: TYPE: HL_NAME: LL_NAME: OBJECT_ID: BACKUP_DATE: DEACTIVATE_DATE: MY_NODE /opt 6 ACTIVE_VERSION FILE /tivoli/tsm/client/ba/bin/ dsm.opt 8395325 2008-11-03 19:02:35.000000 root DEFAULT MY_NODE /opt 6 ACTIVE_VERSION FILE /tivoli/tsm/client/domino/bin/domdsmc_notesb/ dsm.opt 8091124 2008-10-27 19:14:35.000000
OWNER: notesuser CLASS_NAME: DEFAULT NODE_NAME: FILESPACE_NAME: FILESPACE_ID: STATE: TYPE: HL_NAME: LL_NAME: OBJECT_ID: BACKUP_DATE: DEACTIVATE_DATE: OWNER: CLASS_NAME: MY_NODE /opt 6 INACTIVE_VERSION FILE /tivoli/tsm/client/ba/bin/ dsm.opt 8091063 2008-10-27 19:14:34.000000 2008-11-03 19:02:35.000000 root DEFAULT
BACKUP_DATE FILESPACE_NAME TYPE OWNER CLASS_NAME ---------------- ----------------- ------------------ ----------- ------------2008-11-19 / FILE root DEFAULT 19:04:08.000000 2008-11-19 / FILE showdasd.list root DEFAULT 19:04:08.000000 2008-11-19 / FILE root DEFAULT 19:04:08.000000 2008-11-19 /home FILE .bash_history support DEFAULT 19:03:25.000000
LL_NAME --------mtab
sudoers
Processes
Information about the currently running processes
tsm: SERVER1> SELECT process_num, process, substr(char(start_time),1,19) AS START_TIME, substr(char(current_timestamp - start_time),1,10) AS "ELAPTIME (D HHMMSS)", cast(float(bytes_processed) /1024/1024 AS DEC(8,2)) AS MB, cast((cast(bytes_processed as dec(18,0))/cast((current_timestampstart_time) seconds as decimal(18,0))) / 1024 / 1024 AS DEC (18,2)) AS "MB/s" FROM processes PROCESS_NUM PROCESS MB/s ---------------------------------------------27 Space Reclamation 58925.78 6.61 MB 28 46425.55 29 37984.68 30 41261.84 31 39817.22 32 41910.42 Migration 33.61 Migration 27.50 Migration 29.87 Migration 28.83 Migration 30.34 START_TIME --------------2008-11-22 12:00:29 2008-11-22 14:05:54 2008-11-22 14:05:54 2008-11-22 14:05:54 2008-11-22 14:05:54 2008-11-22 14:05:54 ELAPTIME (D HHMMSS) ------------------0 02:28:26 0 00:23:01 0 00:23:01 0 00:23:01 0 00:23:01 0 00:23:01
33 43771.08
Migration 31.69
2008-11-22 14:05:54
0 00:23:01
Other
Total client data stored (TB)
tsm: SERVER1> SELECT CAST(FLOAT(SUM(logical_mb)) / 1024 / 1024 AS DEC(8,2)) FROM occupancy Unnamed[1] ---------73.04
Total client data stored (TB) (another way - auditocc is updated by audit lic command, take care)
tsm: SERVER1> SELECT CAST(FLOAT(SUM(total_mb)) / 1024 / 1024 AS DEC(8,2)) FROM auditocc Unnamed[1] ---------72.46
ADSM ADSM ADSM ADSM ADSM ADSM ADSM ADSM ADSM ...
Server administrators Administrative command schedules Client archive files Management class archive copy groups Client schedule associations Server audit occupancy results Client backup files Backup Set Management class backup copy