- 表空间的高水位是不是只增不降
- 若表空间的高水位能降,那是自动下来还是人工干预
实验环境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.查看表空间
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表,使得高水位下降
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表所占的空间大小。
- 表空间会自动增降,且与高水位相邻的表被DROP后高水位降。
- REORG会降高水位(前提:重组表重组后占用的PAGE数小于高水位以下空闲的PAGE数)
版权声明:本文为博主原创文章,未经博主允许不得转载。
oracle,linux