工做一個多月了,由於公司要用DB2數據庫,因此老是努力去看這方面的書,一段時間來有點體會也總結了一些經常使用的DB2命令,發出來給你們分享吧!但願對你們會有所幫忙,呵呵。。 sql
啓動DB2服務:db2start
關閉DB2服務: db2stop 數據庫
1、加載數據:
一、 以默認分隔符加載,默認爲「,」號
db2 "import from btpoper.txt of del insert into btpoper"
二、 以指定分隔符「|」加載
db2 "import from btpoper.txt of del modified by coldel| insert into btpoper" 數據結構
2、卸載數據:
一、 卸載一個表中所有數據
db2 "export to btpoper.txt of del select * from btpoper"
db2 "export to btpoper.txt of del modified by coldel| select * from btpoper" app
二、 帶條件卸載一個表中數據
db2 "export to btpoper.txt of del select * from btpoper where brhid='907020000'"
db2 "export to cmmcode.txt of del select * from cmmcode where codtp='01'"
db2 "export to cmmcode.txt of del modified by coldel| select * from cmmcode where codtp='01'" 性能
3、查詢數據結構及數據:
db2 "select * from btpoper"
db2 "select * from btpoper where brhid='907020000' and oprid='0001'"
db2 "select oprid,oprnm,brhid,passwd from btpoper" 優化
4、刪除表中數據:
db2 "delete from btpoper"
db2 "delete from btpoper where brhid='907020000' or brhid='907010000'" spa
5、修改表中數據:
db2 "update svmmst set prtlines=0 where brhid='907010000' and jobtp='02'"
db2 "update svmmst set prtlines=0 where jobtp='02' or jobtp='03'" rest
6、聯接數據庫
db2 connect to btpdbs code
7、清除數據庫聯接
db2 connect reset 斷開數據庫鏈接
db2 terminate 斷開數據庫鏈接
db2 force applications all 斷開全部數據庫鏈接 get
8、備份數據庫
一、 db2 backup db btpdbs
二、 db2move btpdbs export
db2look -d btpdbs -e -x [-a] -o crttbl.sql
9、恢復數據庫
一、 db2 restore db btpdbs without rolling forward
二、 db2 -tvf crtdb.sql
crtdb.sql文件內容:create db btpdbs on /db2catalog
db2 -stvf crttbl.sql
db2move btpdbs import
10、DB2幫助命令:
db2 ?
db2 ? restroe
db2 ? sqlcode (例:db2 ? sql0803) 注:code必須爲4位數,不夠4位,前面補0
11、bind命令:將應用程序與數據庫做一捆綁,每次恢復數據庫後,建議都要作一次bind
(1) db2 bind br8200.bnd
(2) /btp/bin/bndall /btp/bnd
/btp/bin/bndall /btp/tran/bnd
12、查看數據庫參數:
db2 get dbm cfg
db2 get db cfg for btpdbs
十3、修改數據庫參數:
db2 update db cfg for btpdbs using LOGBUFSZ 20
db2 update db cfg for btpdbs using LOGFILSIZ 5120
改完後,應執行如下命令使其生效:
db2 stop
db2 start
補充:
db2 set schema btp 修改當前模式爲"btp"
db2 list tablespaces show detail 查看當前數據庫表空間分配情況
db2 list tablespace containers for 2 show detail 查看tablespace id=2使用容器所在目錄
db2 list application
db2 list db directory 列出全部數據庫
db2 list active databases 列出全部活動的數據庫
db2 list tables for all 列出當前數據庫下全部的表
db2 list tables for schema btp 列出當前數據庫中schema爲btp的表
db2 list tablespaces show detail 顯示數據庫空間使用狀況
db2 list packages for all
db2 "import from tab76.ixf of ixf commitcount 5000 insert into achact"
db2 "create table achact_t like achact"
db2 "rename table achact_t to achact"
db2 "insert into achact_t select * from achact where txndt>=(select lstpgdt from
acmact where actno=achact.actno)"
db2 get snapshot for dynaimic sql on jining
刪除一個實例:
# cd /usr/lpp/db2_07_01/instance
# ./db2idrop InstName
列出全部DB2實例:
# cd /usr/lpp/db2_07_01/bin
# ./db2ilist
爲數據庫創建編目
$ db2 catalog db btpdbs on /db2catalog
取消已編目的數據庫btpdbs
$ db2 uncatalog db btpdbs
查看版本
# db2level
顯示當前數據庫管理實例
$ db2 get instance
設置實例系統啓動時是否自動啓動。
$ db2iauto -on 自動啓動
$ db2iauto -off 不自動啓動
數據庫優化命令: reorg、runstats 當數據庫通過一段時間使用,數據空間會變得愈來愈龐大。一些delete掉 的數據仍存放在數據庫中,佔用數據空間,影響系統性能。所以須要按期 運行reorg、runstats命令,清除已delete的數據,優化數據結構。 db2 reorg table 表名 db2 runstats on table 表名 with distribution and indexes all 由於要優化的表比較多,因此在/btp/bin目錄下提供了一個sh程序runsall, 可在當天業務結束後,運行runsall,對數據庫進行優化