Oftmals ist es für Wartungsarbeiten wichtig zu wissen, welche Tabellen oder Indizes in einem bestimmten Tablespace gespeichert sind. Zur schnellen Ermittlung der entsprechenden Datenbankobjekte, leistet das nachfolgende Skript gute Dienste.
select
distinct s.TBSPACE
,case
when t.TABNAME is null
then i.TABNAME
else t.TABNAME
end as OBJECTNAME
from
syscat.tablespaces s
left outer join
syscat.TABLES t
on s.TBSPACEID = t.TBSPACEID
left outer join
syscat.indexes i
on s.TBSPACEID = i.tbspaceid
where
(s.TBSPACE like 'TS_abc%')
or t.TABNAME like '%myTable%';
-- getestet mit IBM DB2 LUW v9.5