一、表空间信息查看

# 1.查看所有的表空间

[db2inst1@MaxwellDBA instance]$ db2 list tablespaces

[db2inst1@MaxwellDBA instance]$ db2 list tablespaces show detail

[db2inst1@MaxwellDBA instance]$ db2 connect to books

   Database Connection Information

 Database server        = DB2/LINUXX8664 11.5.7.0
 SQL authorization ID   = DB2INST1
 Local database alias   = BOOKS

[db2inst1@MaxwellDBA instance]$ db2 list tablespaces

           Tablespaces for Current Database

 Tablespace ID                        = 0
 Name                                 = SYSCATSPACE
 Type                                 = Database managed space
 Contents                             = All permanent data. Regular table space.
 State                                = 0x0000
   Detailed explanation:
     Normal

 Tablespace ID                        = 1
 Name                                 = TEMPSPACE1
 Type                                 = System managed space
 Contents                             = System Temporary data
 State                                = 0x0000
   Detailed explanation:
     Normal

 Tablespace ID                        = 2
 Name                                 = USERSPACE1
 Type                                 = Database managed space
 Contents                             = All permanent data. Large table space.
 State                                = 0x0000
   Detailed explanation:
     Normal

 Tablespace ID                        = 3
 Name                                 = SYSTOOLSPACE
 Type                                 = Database managed space
 Contents                             = All permanent data. Large table space.
 State                                = 0x0000
   Detailed explanation:
     Normal

[db2inst1@MaxwellDBA instance]$ db2 list tablespaces show detail

           Tablespaces for Current Database

 Tablespace ID                        = 0
 Name                                 = SYSCATSPACE
 Type                                 = Database managed space
 Contents                             = All permanent data. Regular table space.
 State                                = 0x0000
   Detailed explanation:
     Normal
 Total pages                          = 32768
 Useable pages                        = 32764
 Used pages                           = 30472
 Free pages                           = 2292
 High water mark (pages)              = 30472
 Page size (bytes)                    = 4096
 Extent size (pages)                  = 4
 Prefetch size (pages)                = 4
 Number of containers                 = 1

 Tablespace ID                        = 1
 Name                                 = TEMPSPACE1
 Type                                 = System managed space
 Contents                             = System Temporary data
 State                                = 0x0000
   Detailed explanation:
     Normal
 Total pages                          = 1
 Useable pages                        = 1
 Used pages                           = 1
 Free pages                           = Not applicable
 High water mark (pages)              = Not applicable
 Page size (bytes)                    = 4096
 Extent size (pages)                  = 32
 Prefetch size (pages)                = 32
 Number of containers                 = 1

 Tablespace ID                        = 2
 Name                                 = USERSPACE1
 Type                                 = Database managed space
 Contents                             = All permanent data. Large table space.
 State                                = 0x0000
   Detailed explanation:
     Normal
 Total pages                          = 8192
 Useable pages                        = 8160
 Used pages                           = 864
 Free pages                           = 7296
 High water mark (pages)              = 864
 Page size (bytes)                    = 4096
 Extent size (pages)                  = 32
 Prefetch size (pages)                = 32
 Number of containers                 = 1

 Tablespace ID                        = 3
 Name                                 = SYSTOOLSPACE
 Type                                 = Database managed space
 Contents                             = All permanent data. Large table space.
 State                                = 0x0000
   Detailed explanation:
     Normal
 Total pages                          = 8192
 Useable pages                        = 8188
 Used pages                           = 152
 Free pages                           = 8036
 High water mark (pages)              = 152
 Page size (bytes)                    = 4096
 Extent size (pages)                  = 4
 Prefetch size (pages)                = 4
 Number of containers                 = 1

[db2inst1@MaxwellDBA instance]$

#2.查看某个表空间的容器

[db2inst1@MaxwellDBA instance]$ db2 list tablespace containers for 3 show detail

[db2inst1@MaxwellDBA instance]$ db2 list tablespace containers for 3 show detail

            Tablespace Containers for Tablespace 3

 Container ID                         = 0
 Name                                 = /home/db2inst1/db2inst1/NODE0000/BOOKS/T0000003/C0000000.LRG
 Type                                 = File
 Total pages                          = 8192
 Useable pages                        = 8188
 Accessible                           = Yes

[db2inst1@MaxwellDBA instance]$

# 3.查看表空间的配置信息,使用情况及容器信息

[db2inst1@MaxwellDBA instance]$ db2pd -d -tablespaces

[db2inst1@MaxwellDBA instance]$ db2pd -d -tablespaces
-db option requires <database>

Instance db2inst1 uses 64 bits and DB2 code release SQL11057
with level identifier 0608010F
Informational tokens are DB2 v11.5.7.0, s2111221000, DYN2111221000AMD64, Fix Pack 0.

Operating System Information:

OSName:   Linux      
NodeName: MaxwellDBA 
Version:  4                    
Release:  18         
Machine:  x86_64     
Distros:  CentOS 8.5                                                                                                                      

CPU Information:
TotalCPU    OnlineCPU   ConfigCPU   Speed(MHz)  HMTDegree  Cores/Socket
2           2           2           2500        2           1          

CPU Cache Information:
L2                   L3                  
1048576              37486592             

Physical Memory and Swap (Megabytes):
TotalMem    FreeMem     AvailMem    TotalSwap   FreeSwap   
3592        114         n/a         0           0           

Virtual Memory (Megabytes):
Total       Reserved    Available   Free       
3592        n/a         n/a         114         

Message Queue Information:
MsgSeg      MsgMax      MsgMap      MsgMni      MsgTql      MsgMnb      MsgSsz               
n/a         65536       65536       32768       65536       65536       16          

Shared Memory Information:
ShmMax               ShmMin               ShmIds      ShmSeg      
4398046511104        1                    32768       32768       

Semaphore Information:
SemMap      SemMni      SemMns      SemMnu      SemMsl      SemOpm      SemUme      SemUsz      SemVmx      SemAem      
256000      32768       256000      256000      250         100         n/a         20          32767       32767       

CPU Load Information:
Short     Medium    Long      
1.070000  1.090000  1.080000  

CPU Usage Information (percent):
Total     Usr       Sys       Wait      Idle      
51.010101 43.434343 7.575758  0.000000  48.484848 
[db2inst1@MaxwellDBA instance]$

# 4.通过snapshot 获取表空间信息

db2 get snapshot for tablespaces on database_name;

[db2inst1@MaxwellDBA instance]$ db2 get snapshot for tablespaces on books;

             Tablespace Snapshot

First database connect timestamp           = 09/13/2022 11:57:29.603053
Last reset timestamp                       =
Snapshot timestamp                         = 09/13/2022 12:06:17.202925
Database name                              = BOOKS
Database path                              = /home/db2inst1/db2inst1/NODE0000/SQL00002/MEMBER0000/
Input database alias                       = BOOKS
Number of accessed tablespaces             = 4


Tablespace name                            = SYSCATSPACE
  Tablespace ID                            = 0
  Tablespace Type                          = Database managed space
  Tablespace Content Type                  = All permanent data. Regular table space.
  Tablespace Page size (bytes)             = 4096
  Tablespace Extent size (pages)           = 4
  Automatic Prefetch size enabled          = Yes
  Buffer pool ID currently in use          = 1
  Buffer pool ID next startup              = 1
  Using automatic storage                  = Yes
  Auto-resize enabled                      = Yes
  File system caching                      = None
  Tablespace State                         = 0x'00000000'
   Detailed explanation:
     Normal
  Tablespace Prefetch size (pages)         = 4
  Total number of pages                    = 32768
  Number of usable pages                   = 32764
  Number of used pages                     = 30472
  Number of pending free pages             = 0
  Number of free pages                     = 2292
  High water mark (pages)                  = 30472
  Initial tablespace size (bytes)          = 33554432
  Current tablespace size (bytes)          = 134217728
  Maximum tablespace size (bytes)          = NONE
  Increase size (bytes)                    = AUTOMATIC
  Time of last successful resize           =
  Last resize attempt failed               = No
  Rebalancer Mode                          = No Rebalancing
  Storage paths have been dropped          = No
  Minimum Recovery Time                    =
  Number of quiescers                      = 0
  Number of containers                     = 1

  Container Name                           = /home/db2inst1/db2inst1/NODE0000/BOOKS/T0000000/C0000000.CAT
      Container ID                         = 0
      Container Type                       = File (extent sized tag)
      Total Pages in Container             = 32768
      Usable Pages in Container            = 32764
      Stripe Set                           = 0
      Container is accessible              = Yes

  Table space map:

   Range  Stripe Stripe  Max         Max  Start  End    Adj.   Containers
   Number Set    Offset  Extent      Page Stripe Stripe
   [   0] [   0]      0    8190     32763      0   8190   0    1 (0)

  Buffer pool data logical reads           = Not Collected
  Buffer pool data physical reads          = Not Collected
  Buffer pool temporary data logical reads   = Not Collected
  Buffer pool temporary data physical reads  = Not Collected
  Asynchronous pool data page reads        = Not Collected
  Buffer pool data writes                  = Not Collected
  Asynchronous pool data page writes       = Not Collected
  Buffer pool index logical reads          = Not Collected
  Buffer pool index physical reads         = Not Collected
  Buffer pool temporary index logical reads  = Not Collected
  Buffer pool temporary index physical reads = Not Collected
  Asynchronous pool index page reads       = Not Collected
  Buffer pool index writes                 = Not Collected
  Asynchronous pool index page writes      = Not Collected
  Total buffer pool read time (millisec)   = Not Collected
  Total buffer pool write time (millisec)  = Not Collected
  Total elapsed asynchronous read time     = Not Collected
  Total elapsed asynchronous write time    = Not Collected
  Asynchronous data read requests          = Not Collected
  Asynchronous index read requests         = Not Collected
  No victim buffers available              = Not Collected
  Direct reads                             = Not Collected
  Direct writes                            = Not Collected
  Direct read requests                     = Not Collected
  Direct write requests                    = Not Collected
  Direct reads elapsed time (ms)           = Not Collected
  Direct write elapsed time (ms)           = Not Collected
  Number of files closed                   = Not Collected


Tablespace name                            = TEMPSPACE1
  Tablespace ID                            = 1
  Tablespace Type                          = System managed space
  Tablespace Content Type                  = System Temporary data
  Tablespace Page size (bytes)             = 4096
  Tablespace Extent size (pages)           = 32
  Automatic Prefetch size enabled          = Yes
  Buffer pool ID currently in use          = 1
  Buffer pool ID next startup              = 1
  Using automatic storage                  = Yes
  File system caching                      = Yes
  Tablespace State                         = 0x'00000000'
   Detailed explanation:
     Normal
  Tablespace Prefetch size (pages)         = 32
  Total number of pages                    = 0
  Number of usable pages                   = 0
  Number of used pages                     = 0
  Storage paths have been dropped          = No
  Minimum Recovery Time                    =
  Number of quiescers                      = 0
  Number of containers                     = 1

  Container Name                           = /home/db2inst1/db2inst1/NODE0000/BOOKS/T0000001/C0000000.TMP
      Container ID                         = 0
      Container Type                       = Path
      Total Pages in Container             = 0
      Usable Pages in Container            = 0
      Stripe Set                           = 0
      Container is accessible              = Yes

  Buffer pool data logical reads           = Not Collected
  Buffer pool data physical reads          = Not Collected
  Buffer pool temporary data logical reads   = Not Collected
  Buffer pool temporary data physical reads  = Not Collected
  Asynchronous pool data page reads        = Not Collected
  Buffer pool data writes                  = Not Collected
  Asynchronous pool data page writes       = Not Collected
  Buffer pool index logical reads          = Not Collected
  Buffer pool index physical reads         = Not Collected
  Buffer pool temporary index logical reads  = Not Collected
  Buffer pool temporary index physical reads = Not Collected
  Asynchronous pool index page reads       = Not Collected
  Buffer pool index writes                 = Not Collected
  Asynchronous pool index page writes      = Not Collected
  Total buffer pool read time (millisec)   = Not Collected
  Total buffer pool write time (millisec)  = Not Collected
  Total elapsed asynchronous read time     = Not Collected
  Total elapsed asynchronous write time    = Not Collected
  Asynchronous data read requests          = Not Collected
  Asynchronous index read requests         = Not Collected
  No victim buffers available              = Not Collected
  Direct reads                             = Not Collected
  Direct writes                            = Not Collected
  Direct read requests                     = Not Collected
  Direct write requests                    = Not Collected
  Direct reads elapsed time (ms)           = Not Collected
  Direct write elapsed time (ms)           = Not Collected
  Number of files closed                   = Not Collected


Tablespace name                            = USERSPACE1
  Tablespace ID                            = 2
  Tablespace Type                          = Database managed space
  Tablespace Content Type                  = All permanent data. Large table space.
  Tablespace Page size (bytes)             = 4096
  Tablespace Extent size (pages)           = 32
  Automatic Prefetch size enabled          = Yes
  Buffer pool ID currently in use          = 1
  Buffer pool ID next startup              = 1
  Using automatic storage                  = Yes
  Auto-resize enabled                      = Yes
  File system caching                      = None
  Tablespace State                         = 0x'00000000'
   Detailed explanation:
     Normal
  Tablespace Prefetch size (pages)         = 32
  Total number of pages                    = 8192
  Number of usable pages                   = 8160
  Number of used pages                     = 864
  Number of pending free pages             = 0
  Number of free pages                     = 7296
  High water mark (pages)                  = 864
  Initial tablespace size (bytes)          = 33554432
  Current tablespace size (bytes)          = 33554432
  Maximum tablespace size (bytes)          = NONE
  Increase size (bytes)                    = AUTOMATIC
  Time of last successful resize           =
  Last resize attempt failed               = No
  Rebalancer Mode                          = No Rebalancing
  Storage paths have been dropped          = No
  Minimum Recovery Time                    =
  Number of quiescers                      = 0
  Number of containers                     = 1

  Container Name                           = /home/db2inst1/db2inst1/NODE0000/BOOKS/T0000002/C0000000.LRG
      Container ID                         = 0
      Container Type                       = File (extent sized tag)
      Total Pages in Container             = 8192
      Usable Pages in Container            = 8160
      Stripe Set                           = 0
      Container is accessible              = Yes

  Table space map:

   Range  Stripe Stripe  Max         Max  Start  End    Adj.   Containers
   Number Set    Offset  Extent      Page Stripe Stripe
   [   0] [   0]      0     254      8159      0    254   0    1 (0)

  Buffer pool data logical reads           = Not Collected
  Buffer pool data physical reads          = Not Collected
  Buffer pool temporary data logical reads   = Not Collected
  Buffer pool temporary data physical reads  = Not Collected
  Asynchronous pool data page reads        = Not Collected
  Buffer pool data writes                  = Not Collected
  Asynchronous pool data page writes       = Not Collected
  Buffer pool index logical reads          = Not Collected
  Buffer pool index physical reads         = Not Collected
  Buffer pool temporary index logical reads  = Not Collected
  Buffer pool temporary index physical reads = Not Collected
  Asynchronous pool index page reads       = Not Collected
  Buffer pool index writes                 = Not Collected
  Asynchronous pool index page writes      = Not Collected
  Total buffer pool read time (millisec)   = Not Collected
  Total buffer pool write time (millisec)  = Not Collected
  Total elapsed asynchronous read time     = Not Collected
  Total elapsed asynchronous write time    = Not Collected
  Asynchronous data read requests          = Not Collected
  Asynchronous index read requests         = Not Collected
  No victim buffers available              = Not Collected
  Direct reads                             = Not Collected
  Direct writes                            = Not Collected
  Direct read requests                     = Not Collected
  Direct write requests                    = Not Collected
  Direct reads elapsed time (ms)           = Not Collected
  Direct write elapsed time (ms)           = Not Collected
  Number of files closed                   = Not Collected


Tablespace name                            = SYSTOOLSPACE
  Tablespace ID                            = 3
  Tablespace Type                          = Database managed space
  Tablespace Content Type                  = All permanent data. Large table space.
  Tablespace Page size (bytes)             = 4096
  Tablespace Extent size (pages)           = 4
  Automatic Prefetch size enabled          = Yes
  Buffer pool ID currently in use          = 1
  Buffer pool ID next startup              = 1
  Using automatic storage                  = Yes
  Auto-resize enabled                      = Yes
  File system caching                      = None
  Tablespace State                         = 0x'00000000'
   Detailed explanation:
     Normal
  Tablespace Prefetch size (pages)         = 4
  Total number of pages                    = 8192
  Number of usable pages                   = 8188
  Number of used pages                     = 152
  Number of pending free pages             = 0
  Number of free pages                     = 8036
  High water mark (pages)                  = 152
  Initial tablespace size (bytes)          = 33554432
  Current tablespace size (bytes)          = 33554432
  Maximum tablespace size (bytes)          = NONE
  Increase size (bytes)                    = AUTOMATIC
  Time of last successful resize           =
  Last resize attempt failed               = No
  Rebalancer Mode                          = No Rebalancing
  Storage paths have been dropped          = No
  Minimum Recovery Time                    =
  Number of quiescers                      = 0
  Number of containers                     = 1

  Container Name                           = /home/db2inst1/db2inst1/NODE0000/BOOKS/T0000003/C0000000.LRG
      Container ID                         = 0
      Container Type                       = File (extent sized tag)
      Total Pages in Container             = 8192
      Usable Pages in Container            = 8188
      Stripe Set                           = 0
      Container is accessible              = Yes

  Table space map:

   Range  Stripe Stripe  Max         Max  Start  End    Adj.   Containers
   Number Set    Offset  Extent      Page Stripe Stripe
   [   0] [   0]      0    2046      8187      0   2046   0    1 (0)

  Buffer pool data logical reads           = Not Collected
  Buffer pool data physical reads          = Not Collected
  Buffer pool temporary data logical reads   = Not Collected
  Buffer pool temporary data physical reads  = Not Collected
  Asynchronous pool data page reads        = Not Collected
  Buffer pool data writes                  = Not Collected
  Asynchronous pool data page writes       = Not Collected
  Buffer pool index logical reads          = Not Collected
  Buffer pool index physical reads         = Not Collected
  Buffer pool temporary index logical reads  = Not Collected
  Buffer pool temporary index physical reads = Not Collected
  Asynchronous pool index page reads       = Not Collected
  Buffer pool index writes                 = Not Collected
  Asynchronous pool index page writes      = Not Collected
  Total buffer pool read time (millisec)   = Not Collected
  Total buffer pool write time (millisec)  = Not Collected
  Total elapsed asynchronous read time     = Not Collected
  Total elapsed asynchronous write time    = Not Collected
  Asynchronous data read requests          = Not Collected
  Asynchronous index read requests         = Not Collected
  No victim buffers available              = Not Collected
  Direct reads                             = Not Collected
  Direct writes                            = Not Collected
  Direct read requests                     = Not Collected
  Direct write requests                    = Not Collected
  Direct reads elapsed time (ms)           = Not Collected
  Direct write elapsed time (ms)           = Not Collected
  Number of files closed                   = Not Collected

[db2inst1@MaxwellDBA instance]$

二、表空间、表容器管理

对于DMS(database manage)表空间,提供了几个方法更改表空间容器。

1.Add 用来增加新的容器

2.Drop删除容器

3.Extend扩展已有容器大小

4.Reduce缩小已有容器大小

5.Resize重新设定容器大小

Add和Drop操作,表空间容器之间会发生数据重新平衡(rebalance),Reduce和Resize操作,需要确保修改后的表空间容器有足够的空间,否

则DB2会拒绝该操作。

日常运维中出现表空间满的情况时,根据对存储空间和对运维的影响,有以下三种方案:

A,增加表空间、表容器,可通过alter tablespace 的extend或resize选项扩展已有表空间容器的大小。

增加一个10000页的表容器文件。

db2 "ALTER TABLESPACE PAYROLL ADD(DEVICE '/dev/rhdisk9' 10000)"

db2 ” ALTER TABLESPACE IBSDATA ADD (DEVICE ‘/dev/ribsdata1’ 10G,DEVICE ‘/dev/ribsdata2’ 10G,DEVICE ‘/dev/ribsdata3’ 10G,DEVICE ‘/dev/ribsdata4’ 10G) ”

增加一个10G表容器文件,表空间的不同容器内会发生reblance

db2 “alter tablespace tbs_dat add ( file ‘/db2tbsp/dat_2’ 10G)”

db2 => alter tablespace user2 add (file ‘/home/db2inst1/db2inst1/NODE0000/TEST1/container2’ 10000)

使用新增加的容器。该选项不会在容器之间做reblance,不会对系统造成性能影响,但它会造成数据偏移。如下:

db2 “alter tablespace tbs_dat begin new stripe set (file ‘/db2tbsp/dat_2’ 10G) ”

2).修改表空间、表容器大小

给表容器扩展50GB:

db2 “alter tablespace tbs_dat extend ( file ‘/db2tbsp/dat_1’ 50G, file ‘/db2tbsp/dat_2’ 50G) “;

将相应的容器都扩大1000页,也就是增加1000页

db2 ” ALTER TABLESPACE TS1 EXTEND (FILE ‘/conts/cont0’ 1000, DEVICE ‘/dev/rcont1’ 1000, FILE ‘cont2’ 1000) ”

将原有的相应容器都改成大小是2000页

db2 ” ALTER TABLESPACE TS1 RESIZE (FILE ‘/conts/cont0’ 2000, DEVICE ‘/dev/rcont1’ 2000, FILE ‘cont2’ 2000) ”

把表空间中所有的容器大小都改成2000页

db2 “ALTER TABLESPACE TS1 RESIZE (ALL 2000)”

3) 删除表空间tbs_dat的容器dat_2

db2 “alter tablespace tbs_dat drop ( file ‘/db2tbsp/dat_2’ )”

仅为一个container缩减10个page

db2 => alter tablespace user2 reduce (file ‘/home/db2inst1/db2inst1/NODE0000/TEST1/container1’ 10)

4)表空间容器的路径变化时,需要建立一个软链接(容器的原路径软链接到容器的新路径),如:

ln -s /db2tbs/zdb/dat_1 /db2tbsp/dat_1

三、 降低 部分表空间 的高水位,例如:TBS_MXZ

1)ALTER TABLESPACE  TBS_LSB LOWER HIGH WATER MARK;

执行完成上述这个命令后,需要过一段时间直到表空间状态由0x80000变成0x00000后才可以继续执行

然后在采用  redue 命令,更改每个文件大小为20G

2)ALTER TABLESPACE TBS_LSB  REDUCE (ALL CONTAINERS 20G);

四、表空间使用率

1. 统计所有节点表空间使用率

select substr(TABLESPACE_NAME,1,20) as TBSPC_NAME,bigint(TOTAL_PAGES * PAGE_SIZE)/1024/1024 as “TOTAL(MB)”,
used_pages*PAGE_SIZE/1024/1024 as “USED(MB)”, free_pages*PAGE_SIZE/1024/1024 as “FREE(MB)”
from table(snapshot_tbs_cfg(‘DB_NAME’, -2)) as snapshot_tbs_cfg

2、查看表空间使用率

select substr(tbsp_name,1,20) as TABLESPACE_NAME,substr(tbsp_content_type,1,10) as TABLESPACE_TYPE,sum(tbsp_total_size_kb)/1024 as TOTAL_MB,
sum(tbsp_used_size_kb)/1024 as USED_MB,sum(tbsp_free_size_kb)/1024 as FREE_MB,tbsp_page_size AS PAGE_SIZE
from SYSIBMADM.TBSP_UTILIZATION group by tbsp_name,tbsp_content_type,tbsp_page_size
order by 1

3、通过存储过程查看数据库大小和容量

db2 call GET_DBSIZE_INFO (?,?,?,0)

五、常用查看数据库表空间、容器、页大小方式

1、查看数据库页大小

db2 get db cfg

2、收集表状态信息

db2 runstats on table schema.table_name

3、查询数据表占用页的数量

select tabname, npages from syscat.tables where tabname = ‘table_name’

4、计算表占用磁盘空间大小

表占用磁盘空间大小 = 数据页大小 * 页数量

查看表占磁盘空间大小:select tabname, npages*16384/(1024*1024) from syscat.tables where tabname = ‘XXXXXX’