我的db2数据库部署在aix系统下,PAGESIZE 16K,隔些日子就会出现表空间满的情况。我平时都是用新增加容器的方式,但是这样数据库会自动reblance,而且时间会比较久。如果我直接修改每个容器的大小(把每个容器都调大),这样就避免了reblance,但这样会给数据为效率带来什么影响?
答:db2 "alter tablespace tbs_name extend (all 1G)",通常情况下我们都会扩表空间的所有容器. 扩容之前要检查container 所在的FS是否有足够的剩余空间. 再具体的I/o prefetch 要看你底层的存储设计. 如果你新加的容器在和原有的容器在同一个物理磁盘卷组上就没有必要再加新容器了. 因为I/o还是一样的. 另外如果有FS级别的监控 可以把表空间的auto resize 功能开启.避免了DBA的过多干预.
另外尝试:加容器,如果是其他hdisk上的lv ,你的读效率应该会稍微提高。 但是如果只是extend . 跟之前没有任何变化.prefetch size = (# containers) * (# physical spindles) * extent size
标签:
表空间扩充