关于DB2 表空间高水位(High water mark)的调整

  1. 表空间的高水位是不是只增不降
  2. 若表空间的高水位能降,那是自动下来还是人工干预

实验环境DB2 10.5.0.1

1.创建bufferPool和表空间https://www.cndba.cn/hbhe0316/article/4804

db2 "create bufferpool hbhe_buffer4k size 100 pagesize 4k"
db2 "create tablespace ts1 pagesize 4k MANAGED BY database USING ( file '/db2data/testdb/data/data4k1' 5000) BUFFERPOOL hbhe_buffer4k"

2.创建tb1表和tb2表

db2 "create table TB1( id char(254), name char(254), sex char(254), addr char(254), seri char(254), node char(254), acct_no char(254), log1 char(254), regiid char(254), prod1 char(254), prod2 char(254), prod3 char(254), prod4 char(254)) in ts1"
db2 "create table TB2( id char(254), name char(254),sex char(254),addr char(254),seri char(254),node char(254),acct_no char(254),log1 char(254),regiid char(254),prod1 char(254),prod2 char(254),prod3 char(254),prod4 char(254)) in ts1"

3查看表空间状态

db2 list tablespaces show detail

表空间创建后自动占96个pages,创建一张表自动分配了64pages(即2个EXTENT),
即96+64(TB1)+64(TB2)=224pages
如上图,可见:High water mark (pages)和Used pages相等。https://www.cndba.cn/hbhe0316/article/4804

4.删除TB2表

db2 drop table tb2

5.查看表空间

https://www.cndba.cn/hbhe0316/article/4804
db2 list tablespaces show detail

https://www.cndba.cn/hbhe0316/article/4804https://www.cndba.cn/hbhe0316/article/4804

可以看到,High water mark (pages)和Used pages都下降且是相等的。https://www.cndba.cn/hbhe0316/article/4804

6.再次创建tb2表,可以看到High water mark (pages)和Used pages都上涨至224。

db2 "create table TB2( id char(254), name char(254),sex char(254),addr char(254),seri char(254),node char(254),acct_no char(254),log1 char(254),regiid char(254),prod1 char(254),prod2 char(254),prod3 char(254),prod4 char(254)) in ts1"

7.删除TB1,可以看到Used pages下降了,但是High water mark (pages)未下降。此时,产生高水位。https://www.cndba.cn/hbhe0316/article/4804

db2 drop table tb1

8.reorg表,使得高水位下降

https://www.cndba.cn/hbhe0316/article/4804
db2 reorg table tb2


可以看到高水位下降了。

9.创建表tb3

db2 "create table TB3( id char(254), name char(254),sex char(254),addr char(254),seri char(254),node char(254),acct_no char(254),log1 char(254),regiid char(254),prod1 char(254),prod2 char(254),prod3 char(254),prod4 char(254)) in ts1"

插入64次,insert into TB3 (id) values(‘1’),在Linux/Unix中,最小的块是512字节,一个字段为254,每个EXTENT是32PAGES。
注:插入64次使得该表占用了4个EXTENT(128pages),大于TB1申请的64pages

删除tb2

db2 drop table tb2

https://www.cndba.cn/hbhe0316/article/4804

db2 "reorg table tb3"

发现高水位反而升高了,升高了tb2表所占的空间大小。

https://www.cndba.cn/hbhe0316/article/4804
  1. 表空间会自动增降,且与高水位相邻的表被DROP后高水位降。
  2. REORG会降高水位(前提:重组表重组后占用的PAGE数小于高水位以下空闲的PAGE数)

版权声明:本文为博主原创文章,未经博主允许不得转载。

oracle,linux

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值