db2扩充表空间和字段长度的方法


  本文标签:db2扩充表空间

  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 )
例如: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类型一致  。