如何扩展DB2表空间

如何扩展DB2表空间,第1张

查看表空间使用情况 db2pd -d dbname -tablespaces

扩大表空间有3种方法:

扩展容器50G

db2 "alter tablespace tablespace_name extend (file '/data1/ts2/con0' 50G,file '/data1/ts2/con1' 50G)"

2.增加容器,不过会rebalance,影响系统性能

db2 "alter tablespace tablespacename add (file '/data1/ts2/con2' 50G)"

3.通过alter tablespace begin new stripe set 选项,该选项不rebalance,不会对系脊羡统性能造成影响,但它会造成数据偏移。

db2 "alter tablespace tablespace_name begin new stripe set (file '樱则拍/data1/ts2/con3'盯燃 10G)"

CONNECT TO dbname

drop BUFFERPOOL BFPOOL8

--建缓冲池

CREATE BUFFERPOOL BFPOOL8 IMMEDIATE SIZE 25000 PAGESIZE 8 K

--建悔滚表空间,路径要修改

CREATE TABLESPACE DMS_DATA8K PAGESIZE 8 K MANAGED BY DATABASE

USING (FILE '/home/DB2/前哪NODE0000/DMS_DATA8K.DMS' 3G)

EXTENTSIZE 16 OVERHEAD 10.5 PREFETCHSIZE 16 TRANSFERRATE 0.14

BUFFERPOOL BFPOOL8 DROPPED TABLE RECOVERY OFF

--扩展表空间(调整容器大小)

--ALTER TABLESPACE DMS_DATA8K resize (FILE '慧前码/home/DB2/NODE0000/DMS_DATA8K.DMS' 2G)

--扩展表空间(增加容器大小)

--ALTER TABLESPACE DMS_DATA8K extend (FILE '/home/DB2/NODE0000/DMS_DATA8K.DMS' 2G)

--扩展表空间(给表空间增加容器)

--ALTER TABLESPACE DMS_DATA8K add (FILE '/app149/DB2/NODE0000/DMS_DATA8K.DMS' 5G)

DB2 HELP已经说的很明搭历确,即找不到合适大小的表空间,两种建议:

一、将部分字段过大的长度减小,楼主建表语句中有三个长度为3000的字段,另外还有4个长度为1000的字段,加上其他字段合计为16k左右,如果没必要建那么大,将部分字段长度减小,使所有字段合计不超过8k即可。

二、在所有字段都不能减小或是减小后不能是合计在8k左右,那么只能建立新的表空间。推荐使用db2控制中心,先建立缓冲池,指定页大小为32K,缓冲池大小自己设定,然后创建新表空间,顺序如下:

a、名称(此处可选择手动管理存储器);

b、表空间类型:大型

c、指定缓冲池:刚才新建的缓冲池

d、添加容器:路径自己定雹凯义,容器大小设置根据以后存储表的大小(注:默认是20M,建议大小在3000G左右)

e、表空间新建完成

此知肆搜时再运行建表语句,OK

打完收功


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11966937.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存