萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> 編程語言綜合 >> db2數據庫中的操作命令

db2數據庫中的操作命令

   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 的數據庫密碼是和操作系統綁定的,就像大家說的只需要修改操作系統上用戶的密碼就可以了。你想改那個用戶的密碼你就在操作系統上改那個用戶的密碼。

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

copyright © 萬盛學電腦網 all rights reserved