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類型一致。