db2死鎖分析相關命令

2021-08-26 11:32:07 字數 4621 閱讀 5387

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

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命令參考

標題 db2 clp 命令的快速參考選擇自 chriswang187585 的 blog 關鍵字db2 clp 命令的快速參考 出處轉到db2官方 以下是最常用的 db2 clp 命令的快速參考。雖然不是乙份完整的參考,但這篇文件對於任何剛接觸 db2 的使用者來說,可以證明是案邊有價值的參考材料。...

db2命令大全

1 以預設分隔符載入,預設為 號 db2 import from btpoper.txt of del insert into btpoper 2 以指定分隔符 載入 db2 import from btpoper.txt of del modified by coldel insert into ...

常用DB2命令

建庫 db2 create db vipface using codeset utf 8 territory cn on 建庫到指定位置 db2 create database oadb on d using codeset gbk territory cn 列出所有資料庫 db2 list dat...