DB2資料庫常用命令

2021-06-01 11:02:41 字數 4633 閱讀 3007

-檢視資料庫管理器級別快照資訊 

db2 get monitor switches

db2 update monitor switches using lock on statement on

create  event monitor mymonitor for deadlocks,statements   write to file  'd:\temp' 

set event monitor mymonitor state 1

db2evmon  - path 'd:\temp'

db2頻繁出現死鎖,常用解決命令

db2 get snapshot for locks on sample

db2 get db cfg for sample

db2 update db cfg using dlchktime 10000

4. 檢視快照資訊

-檢視資料庫管理器級別快照資訊

db2 get snapshot for dbm

-檢視資料庫級別快照資訊

db2 get snapshot for database on dbname

-檢視應用級別快照資訊

-檢視表級別快照資訊

db2 get snapshot for tables on dbname

注:需要把tables快照開關設為on才會有作用

-檢視鎖快照資訊

db2 get snapshot for locks on dbname

或-檢視動態sql語句快照資訊

db2 get snapshot for dynamic sql on dbname

5.使用事件檢視器

可以使用時間檢視器收集鎖事件,sql語句事件,從而根據事件分析鎖原因。

事件型別

使用事件監控器,首先要選定所關注的事件型別,db2中有很多事件型別,可以用於鎖分析的通常會用到以下三種:

deadlocks

deadlocks with details

statements

步驟:-建立事件監控器

create event monitor evmname for eventtype write to file 『directory』

例:create event monitor mymonitor for deadlocks, statements

write to file 『c:\temp』

-把事件監控器開啟

接上例:

set event monitor mymonitor state 1

注:1為開啟,0為關閉

事件監控器開始工作,當所有應用斷掉連線後,將事件記錄下來

-檢視事件細節

一、載入資料:

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

八、備份資料庫

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 "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,對資料庫進行優化 

**:

DB2資料庫常用命令

1.資料庫表增加 修改字段 alter table itsm cti add ci table varchar 30 修改資料庫字段 alter table smp runtime db2 alter last backup set data type varchar 20 alter table ...

DB2常用命令

常用操作 db2 list db directory db2 connect to user using db2ilist 顯示當前例項名 db2 list tables 顯示當前例項下的所有表 db2 list tablespaces 顯示表空間 db2pd db tablespaces 檢視表空...

DB2常用命令

1 db2 list node directory 2 db2 list node directory show detail 3 db2 catalog tcpip node wsii remote 9.181.139.155 server 50000 4 db2 catalog database...