db2擴(kuò)充表空間和字段長度的方法
db2擴(kuò)充表空間是很常見的操作,下面就為您介紹db2擴(kuò)充表空間和字段長度的方法,如果您遇到過此方面的問題,不妨一看。
一、通常我們在使用db2導(dǎo)入數(shù)據(jù)或進(jìn)行別的操作時會遇到事物日志已滿的情況,導(dǎo)致操作無法繼續(xù)。
在windows系統(tǒng)中,我們可先db2 get db cfg for dbname(要修改的數(shù)據(jù)庫名) 來查看數(shù)據(jù)的配置情況。
這時根據(jù)你的需要來修改日志文件的大小、主日志文件數(shù)目和輔助日志文件的數(shù)目。命令如下:
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)".
在進(jìn)行這些操作的時候都要斷掉應(yīng)用和數(shù)據(jù)庫的連接。
二、如何擴(kuò)充數(shù)據(jù)的表空間。
首先,可通過 db2 list tablespaces show detail 來查看你的表空間狀況。
表空間有二種類型:
1、SMS【SYSCATSPACE】,為系統(tǒng)管理表空間。
2、DMS,用戶自己的表空間,為數(shù)據(jù)庫管理表空間。
通過上面的命令來查看表空間中總的表空間(Total pages)和 剩余表空間(Free pages),如果是系統(tǒng)管理表空間(SMS)不夠,則是由于磁盤空間不夠,需要增加磁盤空間。如果是數(shù)據(jù)庫管理表空間(DMS)不夠,則需要擴(kuò)展表空間。擴(kuò)展表空間的命令為:
db2 alter tablespace extend (all <num_pages> )
例如:db2 alter tabblespace yourtablespace extend(all 1024M)
擴(kuò)展了數(shù)據(jù)庫表空間1 G.
三、擴(kuò)充表中字段的長度。
由于數(shù)據(jù)的變化導(dǎo)致原本varchar(2000)字段長度不夠使用,其實(shí)很簡單希望對大家有幫助:
db2 "alter table tabname alter column colname set data type varchar(4000) "
修改tabname表的colname字段將他的字段長度設(shè)置為4000。
data type 后的數(shù)據(jù)類型要和tabname中的colname類型一致。
【編輯推薦】