SQLSTATE含義
在db2命令行方式下輸入:? 20012(SQLSTATE值),可以獲取sql錯(cuò)誤含義
import和export的用法
IMPORT FROM CO_ACCEPTANCEDRAFT.del OF DEL MESSAGES importmsgs.txt INSERT INTO cmmcorc.CO_ACCEPTANCEDRAFT;
EXPORT TO CO_ACCEPTANCEDRAFT.del OF DEL MESSAGES exportmsgs.txt SELECT * FROM cmmcorc.CO_ACCEPTANCEDRAFT;
如果是Sybase導(dǎo)出的文本,并且用TAB分隔符的文檔,那么可以采用
Db2 import from filename.txt of del modified by COLDEL0x09 insert into tablename;
其中COLDEL是關(guān)鍵字,0x09是16進(jìn)制,表示tab符號(hào)
Load用法
load from tempfile of del modified by delprioritychar replace into TABLENAME nonrecoverable;
說明:
在不相關(guān)的數(shù)據(jù)表export數(shù)據(jù)時(shí),可以采取并發(fā)的形式,以提高效率;
TABLENAME指待清理table的名稱;
modified by delprioritychar防止數(shù)據(jù)庫記錄中存在換行符,導(dǎo)致數(shù)據(jù)無法裝入的情況;
replace into對(duì)現(xiàn)數(shù)據(jù)庫中的內(nèi)容進(jìn)行替換,即將現(xiàn)行的數(shù)據(jù)記錄清理,替換為數(shù)據(jù)文件內(nèi)容;
nonrecoverable無日志方式裝入;
查詢出用戶表
SELECT * FROM SYSIBM.SYSTABLES WHERE CREATOR='USER'
如何知道當(dāng)前DB2的版本?
select * from sysibm.sysversions
如何知道TABLESPACE的狀況?
select * from sysibm.SYSTABLESPACES
如何知道INDEX的狀況?
select * from sysibm.sysindexes where tbname=’XXXX’
or
describe indexes for table table_name show detail
測(cè)試SQL的執(zhí)行性能
db2batch -d DB_NAME -f select.sql -r benchmark.txt -o p3
select.sql是select語句寫在文件中
如何獲取連接的進(jìn)程
List applications
刪除當(dāng)前正在使用的application:
db2 "force application (Id1,Id2,Id3)"
Id1,Id2,Id3 是List顯示的應(yīng)用號(hào);
刪除所有的進(jìn)程
db2 force application all
查看當(dāng)前應(yīng)用號(hào)的執(zhí)行狀態(tài):
db2 get snapshot for application agentid 299 |grep Row
如何修改緩沖池
db2 alter bufferpool ibmdefaultbp size 10240
如何知道表的字段的狀況?
select * from sysibm.syscolumns where tbname=’XXXX’
如何知道DB2的數(shù)據(jù)類型?
select name,* from sysibm.sysdatatypes
如何知道BUFFERPOOLS狀況?
select * from sysibm.sysbufferpools
如何查看表的結(jié)構(gòu)?
describe table table_name
聯(lián)系客服