db2扩充表空间是很常见的操作,下面就为您介绍db2扩充表空间和字段长度的方法,如果您遇到过此方面的问题,不妨一看。
一、通常我们在使用db2导入数据或进行别的操作时会遇到事物日志已满的情况,导致操作无法继续。
在windows系统中,我们可先db2 get db cfg for dbname(要修改的数据库名) 来查看数据的配置情况。
这时根据你的需要来修改日志文件的大小、主日志文件数目和辅助日志文件的数目。命令如下:
1、db2 "update db cfg for dbname using logfilsiz XXX (4-262144)".
2、db2 "update db cfg for dbname using logprimary X (2-256)".
3、db2 "update db cfg for dbname using logsecond XX (0-254)".
在进行这些操作的时候都要断掉应用和数据库的连接。
二、如何扩充数据的表空间。
首先,可通过 db2 list tablespaces show detail 来查看你的表空间状况。
表空间有二种类型:
1、SMS【SYSCATSPACE】,为系统管理表空间。
2、DMS,用户自己的表空间,为数据库管理表空间。
通过上面的命令来查看表空间中总的表空间(Total pages)和 剩余表空间(Free pages),如果是系统管理表空间(SMS)不够,则是由于磁盘空间不够,需要增加磁盘空间。如果是数据库管理表空间(DMS)不够,则需要扩展表空间。扩展表空间的命令为:
db2 alter tablespace extend (all <num_pages> )
例如:db2 alter tabblespace yourtablespace extend(all 1024M)
扩展了数据库表空间1 G.
三、扩充表中字段的长度。
由于数据的变化导致原本varchar(2000)字段长度不够使用,其实很简单希望对大家有帮助:
db2 "alter table tabname alter column colname set data type varchar(4000) "
修改tabname表的colname字段将他的字段长度设置为4000。
data type 后的数据类型要和tabname中的colname类型一致。
【编辑推荐】