DB2 常用命令,對於使用db2的朋友可以參考下。管理客戶端從v9.7版本之後就不再帶有控制中心了,而是使用 Data Studio Client。安裝 DB2 數據庫產品期間不會應用許可證密鑰。但是,下列產品沒有激活 CD,因此會在安裝這些產品的過程中自動應用其許可證:DB2 Express-C 和 DB2 Connect 個人版。此外,DB2 個人版也是一個特殊案例。雖然 DB2 個人版具有激活 CD,但是會在安裝該產品的過程中自動應用其許可證。
PS:執行命令前需要進入DB2的賬戶下:su db2inst1
修改密碼:更改相應的操作系統密碼即可,windows上可以更改db2admin的密碼,linux上更改db2inst1的密碼即可,db2 的數據庫密碼是和操作系統綁定的,就像大家說的只需要修改操作系統上用戶的密碼就可以了。你想改那個用戶的密碼你就在操作系統上改那個用戶的密碼。
===============================經驗最寶貴===================================
1、 打開命令行窗口
#db2cmd
2、 打開控制中心
# db2cmd db2cc
3、 打開命令編輯器
db2cmd db2ce
=====操作數據庫命令=====
4、 啟動數據庫實例
=========================
26、備份數據庫
#db2 backup db
備注:執行以上命令之前需要斷開數據庫連接
27、在線備份數據庫
#db2 -v "BACKUP DATABASE ONLINE TO WITH 2 BUFFERS BUFFER 1024 INCLUDE LOGS WITHOUT PROMPTING"
28、恢復數據庫
#db2 restore db
29、在線恢復數據庫
#db2 "RESTORE DB TO LOGTARGET WITHOUT PROMPTING"
#db2 "ROLLFORWARD DB TO END OF LOGS AND STOP" ...
30、導出數據文件
#db2move export
[-sn <模式名稱,一般為db2admin>]
[-tn <表名,多個之間用逗號分隔>]
31、導入數據文件
#db2move import
32、獲取db2數據庫管理配置環境信息
#db2 get dbm cfg
33、.獲取db2某個數據庫數據庫管理配置環境信息
#db2 get db cfg for
或者:連接至某個數據庫以後執行db2 get db cfg
34、更改db2日志空間的大小
備注:以下命令為了防止db2數據庫過份使用硬盤空間而設,僅用於開發者自己機器上的db2,如果是服務器,則參數需要修改。
#db2 UPDATE DB CFG FOR USING logretain OFF logprimary 3 logsecond 2 logfilsiz 25600;
如果頁大小是4KB,則以上命令創建3個100M的日志文件,占用300MB硬盤空間。25600*4KB=102400KB。
35、創建臨時表空間
#DB2 CREATE USER TEMPORARY TABLESPACE STMASPACE PAGESIZE 32 K MANAGED BY DATABASE USING (FILE 'D:DB2_TABSTMASPACE.F1' 10000)
EXTENTSIZE 256
36、獲取數據庫管理器的快照數據
#db2 –v get snapshot for dbm
37、顯示進行程號
#db2 list applications show detail
===================================================
一、加載數據:
1、 以默認分隔符加載,默認為“,”號
db2 "import from btpoper.txt of del insert into btpoper"
2、 以指定分隔符“|”加載
db2 "import from btpoper.txt of del modified by coldel| insert into btpoper"
二、卸載數據:
1、 卸載一個表中全部數據
db2 "export to btpoper.txt of del select * from btpoper"
db2 "export to btpoper.txt of del modified by coldel| select * from btpoper"
2、 帶條件卸載一個表中數據
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'"
三、查詢數據結構及數據:
db2 "select * from btpoper"
db2 "select * from btpoper where brhid='907020000' and oprid='0001'"
db2 "select oprid,oprnm,brhid,passwd from btpoper"
四、刪除表中數據:
db2 "delete from btpoper"
db2 "delete from btpoper where brhid='907020000' or brhid='907010000'"
五、修改表中數據:
db2 "update svmmst set prtlines=0 where brhid='907010000' and jobtp='02'"
db2 "update svmmst set prtlines=0 where jobtp='02' or jobtp='03'"
六、聯接數據庫
db2 connect to btpdbs
七、清除數據庫聯接
db2 connect reset 斷開數據庫連接
db2 terminate 斷開數據庫連接
db2 force applications all 斷開所有數據庫連接
八、備份數據庫
1、 db2 backup db btpdbs
2、 db2move btpdbs export
db2look -d btpdbs -e -x [-a] -o crttbl.sql
九、恢復數據庫
1、 db2 restore db btpdbs without rolling forward
2、 db2 -tvf crtdb.sql
crtdb.sql文件內容:create db btpdbs on /db2catalog
db2 -stvf crttbl.sql
db2move btpdbs import
十、DB2幫助命令:
db2 ?
db2 ? restroe
db2 ? sqlcode (例:db2 ? sql0803) 注:code必須為4位數,不夠4位,前面補0
十一、bind命令:將應用程序與數據庫作一捆綁,每次恢復數據庫後,建議都要做一次bind
(1) db2 bind br8200.bnd
(2) /btp/bin/bndall /btp/bnd
/btp/bin/bndall /btp/tran/bnd
十二、查看數據庫參數:
db2 get dbm cfg
db2 get db cfg for btpdbs
十三、修改數據庫參數:
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