Você está na página 1de 6

db2talk

DB2Linux,UnixandWindowsAdministrationandDevelopment
MARCH22,2016BYPAVANKRISTIPATI

CalculatingsizeoftableinaDPFdatabase
StartingfromDB2versions9.5andup,arichanddetailedDB2administrativeviewcalledSYSIBMADM.ADMINTABINFOcomes
bundledwithDB2engine.Amongmanythings,itprovidesahandywaytocalculatetablesize.Inthisblogpost,wewilllookat
howtocalculatetablesizeinaDPFdatabase.

TableSizeinasinglepartitiondatabase:
LetusrstlookattheSQLtocalculatetablesizeinasinglepartitiondatabase.Later,wewillmakechangestothisSQLtottoa
DPFdatabase.


select
substr(tabschema,1,18)astabschema
,substr(tabname,1,40)astabname
,(COL_OBJECT_P_SIZE+DATA_OBJECT_P_SIZE+INDEX_OBJECT_P_SIZE+LONG_OBJECT_P_SIZE+LOB_OBJECT_P_SIZE+
fromsysibmadm.admintabinfo
wheretabtype='T'
andtabschemalike('%SCHEMA%')
andtabnamelike('%TABLE%')
withur;

TABSCHEMATABNAMETABLE_SIZE_MB

SCHEMA1TABLE122463
SCHEMA2TABLE215735
2record(s)selected.

TableSizeinamultipartitiondatabase:
Ifweruntheabovequeryinamultipartition(DPF)database,foreachtableweget1rowforeachpartition.Inotherwords,ifthe
tableisspreadacross5databasepartitions,weget5rows.
Intheexamplebelow,thereare5rowsforTABLE1and7rowsforTABLE2.ThisisbecauseTABLE1isspreadacross5database
partitionsandTABLE2isspreadacross7databasepartitions.


select
substr(tabschema,1,18)astabschema
,substr(tabname,1,40)astabname
,(COL_OBJECT_P_SIZE+DATA_OBJECT_P_SIZE+INDEX_OBJECT_P_SIZE+LONG_OBJECT_P_SIZE+LOB_OBJECT_P_SIZE+
fromsysibmadm.admintabinfo
wheretabtype='T'
andtabschemalike('%SCHEMA%')
andtabnamelike('%TABLE%')
withur;

TABSCHEMATABNAMETABLE_SIZE_MB

SCHEMA1TABLE14501
SCHEMA1TABLE14492
SCHEMA1TABLE14491
SCHEMA1TABLE14490
SCHEMA1TABLE14489
SCHEMA2TABLE22251
SCHEMA2TABLE22250
SCHEMA2TABLE22249
SCHEMA2TABLE22248
SCHEMA2TABLE22247
SCHEMA2TABLE22246
SCHEMA2TABLE22244
12record(s)selected.

Whatifwewantedtogetthetablesizeacrossalldatabasepartitionscombined?
Todoso,thereneedstobeonlyaslightchangetotheaboveSQL.Wewilladdthetablesizeoneachpartitionandgroupby
tabschemaandtabname.


select
substr(tabschema,1,18)astabschema
,substr(tabname,1,40)astabname
,SUM((COL_OBJECT_P_SIZE+DATA_OBJECT_P_SIZE+INDEX_OBJECT_P_SIZE+LONG_OBJECT_P_SIZE+LOB_OBJECT_P_SIZ
fromsysibmadm.admintabinfo
wheretabtype='T'
andtabschemalike('%SCHEMA%')
andtabnamelike('%TABLE%')
Belowgroupbyhelpsustogettablesizeacrossalldatabasepartitions
GROUPBYtabschema,tabname
withur;

TABSCHEMATABNAMETABLE_SIZE_MB

SCHEMA1TABLE122463
SCHEMA2TABLE215735
2record(s)selected.

TableSizebyDatabasePartition:
Ifwewanttondouttablesizebyeachpartitionalongwiththepartitionnumber,justaddthepartitionnumbertotheoriginal
SQL.


select
substr(tabschema,1,18)astabschema
,substr(tabname,1,40)astabname
,(COL_OBJECT_P_SIZE+DATA_OBJECT_P_SIZE+INDEX_OBJECT_P_SIZE+LONG_OBJECT_P_SIZE+LOB_OBJECT_P_SIZE+
,DBPARTITIONNUM
fromsysibmadm.admintabinfo
wheretabtype='T'
andtabschemalike('%SCHEMA%')
andtabnamelike('%TABLE%')
withur;

TABSCHEMATABNAMETABLE_SIZE_MBDBPARTITIONNUM

SCHEMA1TABLE145011
SCHEMA1TABLE144922
SCHEMA1TABLE144913
SCHEMA1TABLE144904
SCHEMA1TABLE144895
SCHEMA2TABLE222511
SCHEMA2TABLE222502
SCHEMA2TABLE222493
SCHEMA2TABLE222484
SCHEMA2TABLE222475
SCHEMA2TABLE222466
SCHEMA2TABLE222447
12record(s)selected.

ThisentrywaspostedinDB210.5.Bookmarkthepermalink.

BlogatWordPress.com.|TheMistyLakeTheme.

Você também pode gostar