Upload
congku
View
43
Download
5
Embed Size (px)
Citation preview
H QUN TR C SD LIU
DB2 EXPRESS C 9.5
Mai Thanh Trc (Ma.)
NI DUNG
n Phn 1: Tng quan v ci tn Gii thiu DB2 Express Cn Tnh nng v cc sn phmn Ci t DB2n Mi trng ca DB2n Cc cng c ca DB2
NI DUNG
n Phn 2: Qun tr c s d liun Kin trc ca DB2n Kt ni my khch DB2n Lm vic vi cc i tng d liun Di chuyn d liun Bo mt c s d liun Sao lu v phc hin Bo trn Truy cp ng thi v kho
NI DUNG
n Phn 3: Pht trin ng dngn Cc th tc SQL PLn Hm ni tuyn (Inline SQL PL), Hm ngi
dng t nh ngha (UDF), x l s kin by (Triggers)
n SQL/XML v Xqueryn Pht trin vi Ngn ng lp trnh
Tham kho
n Ti nguyn DB2 Express C ti www.ibm.com/db2/express/
n Ti liu dnh cho ngi hc tp v nghin cu ti www.channelDB2.com/oncampus/www.ibm.com/db2/express/students.htmlhttp://www.ibm.com/developerworks/db2/
n Cng ng ngi pht trin ng dng Vit Nam ti http://www.ibm.com/developerworks/vn/
Tng quan v Ci t DB2
n DB2 Express-C l g?n Cc tnh nng lin quan v cc sn phmn Ci t DB2 Express Cn Mi trng ca DB2n Cc cng c DB2
Tng quan v Ci t DB2
n DB2 Express-C l g?n Cc tnh nng lin quan v cc sn phmn Ci t DB2 Express Cn Mi trng ca DB2n Cc cng c DB2
DB2 Express C l g?
n Mt sn phm dng DB2 ca IBMn Ra i 6/1983, chy trn my ch
(Mainframe) vi z/OSn Khong gia nhng nm 1990, bt u c
DB2 chy trn cc my Desktopn Hin nay c DB2 chy trn z/OS (mainframe),
trn iSeries (AS400 OS400), trn LUW (Linux, Unix, Windows)
n DB2 9.5 ra i 1/2006n Phin bn hin nay l DB2 9.7
DB2 Express C l g?
n DB2 Express C l n bn min ph, khng gii hn, d s dng (C = Community)n Nh pht trin phn mm CSDL khch -
chn ISVs (Independent software vendor) nh
cung cp phn mm c lp, cho thu phn cng, cung cp gii php
n Cc cng ty va v nhn Nghin cu, hc tp
DB2 Express C l g?
n y tnh nng c trn trn nn h iu hnh Linux, Unix, Windows
n Chy trn nn tng 32 bit hoc 64 bitn Ti u cho b x l 2 li v 2GB RAMn Bao gm c pureXML
DB2 Express C l g?
n c im khi s dng DB2 Express Cn T do pht trin: min ph khi pht trin cc
sn phm phn mm trn h qun tr CSDL DB2 Express C
n T do trin khai: min ph khi ng dng DB2 Express C vo hot ng sn xut kinh doanh
n T do phn phi: min ph c khi ng gi vo mt sn phm phn mm khi phn phi
n Khng gii hn: khng gii hn v kch thc CSDL cng nh s lng kt ni v ngi sdng
DB2 Express C l g?
n My ch DB2
DB2 Express C l g?
n My khch DB2
DB2 Express C l g?
n Ngn ng pht trinRuby trn nn Rails, C/C++(ODBC v SQL nhng), JDBC v SQLJ, COBOL, Borland, Python, PHP, Perl, Ngn ng .NET, OLE DB, ADO, Dch v Web (Web Service), SQL, Microsoft Office: Excel, Access, Word
DB2 Express C l g?
n Phin bn (version) v n bn (edition) DB2n Phin bn l bn pht hnh c b sung
thm mt s tnh nng mi v sa li (8.1 v 8.2 l 2 ln pht hnh ca DB2 8)
n n bn l nhng gi sn phm vi chc nng khc nhau (phin bn DB2 9.5 ccc n bn DB2 Express C, DB2 Express, DB2 Workgroup, DB2 Enterprise)
DB2 Express C l g?
n Chuyn sang n bn khcn Nng cp ln n bn khc trn cng mt
my tnh, ch cn ci n bn mi ln trn DB2 Express C (sao lu d liu trc khi thc hin)
n Nng cp ln mt my mi, s dng chung h iu hnh vi my c ch cn ci n bn trn my tnh mi, sao lu d liu trn my tnh c, v khi phc li n trn my mi
DB2 Express C l g?
n H tr k thutn Bn quyn 12 thngn H tr k thut t cng ng
DB2 Express C l g?
n Mt s phn mm min ph lin quann B cng c pht trin IBM Data Studion My ch nhng DB2 9 Embedded Application
Servern M rng tm kim DB2 9.5 Net Search
Extendern H tr pht trin ng dng Web (Ruby on
Rails, Web 2.0 Starter Toolkit for IBM DB2)
Tng quan v Ci t DB2
n DB2 Express-C l g?n Cc tnh nng lin quan v cc sn phmn Ci t DB2 Express Cn Mi trng ca DB2n Cc cng c DB2
Cc tnh nng ca sn phm
n Chc nng DB2 Express C (min ph)n Nhn ca DB2n Trung tm iu khin (Control Center), Data
Studio, v cc cng c qun trn pureXMLn 2GB b nh v 2 b vi x ln Linux, Windows v Solaris (x86)
Cc tnh nng ca sn phm
n Chc nng DB2 (c ph)
Tng quan v Ci t DB2
n DB2 Express-C l g?n Cc tnh nng lin quan v cc sn phmn Ci t DB2 Express Cn Mi trng ca DB2n Cc cng c DB2
Ci t DB2 Express C
n iu kin trc khi ci tn H iu hnh Linux, Solaris (x86), Windows
(2000, 2003, XP, Vista)n Vi x l 32bit, 64bit, PowerPC (Linux)n S dng ti a 2 CPU, 2GB RAM (4 CPU,
4GB RAM cho ph bn quyn 12 thng)n Quyn ci t trn h iu hnh (Root trn
Linux, nhm qun tr hoc c quyn ci t trn Windows)
Ci t DB2 Express C
n Hng dn ci t tng bcn Windows: chy SETUP.EXE trong EXPn Linux: chy db2setup trong EXP
Ci t DB2 Express C
n Hng dn ci t tng bc
Ci t DB2 Express C
n Hng dn ci t tng bc
Ci t DB2 Express C
n Hng dn ci t tng bc
Ci t DB2 Express C
n Hng dn ci t tng bc
Ci t DB2 Express C
n Hng dn ci t tng bc
Ci t DB2 Express C
n V d: Ci t mt my ch DB2 trn h iu hnh Windows v to CSDL mu
Tng quan v Ci t DB2
n DB2 Express-C l g?n Cc tnh nng lin quan v cc sn phmn Ci t DB2 Express Cn Mi trng ca DB2n Cc cng c DB2
Mi trng ca DB2 Express C
n Gii thiu
Mi trng ca DB2 Express C
n Cc th hin (Instances)
Mi trng ca DB2 Express C
n Cc th hin (Instances)
Mi trng ca DB2 Express C
n Cc th hin (Instances)
Mi trng ca DB2 Express C
n Cc th hin (Instances)n To mt Instance
n db2icrt n Chuyn i gia cc Instance
n set db2instance = n Linux: chuyn ngi s dng bng su
n Hin th danh sch cc instance trn Servern db2ilist
n Hin th instance hin tin db2 get instance
Mi trng ca DB2 Express C
n Cc th hin (Instances)
Lit k cc th hin ang hot ng
db2 get instance
Lit k cc th hin ang ctrong h thng
db2ilistLoi b mt th hindb2idropTo mt th hin midb2icrtDng th hin hin tidb2stopKhi ng th hin hin tidb2start
Mi trng ca DB2 Express C
n Cc c s d liu (Databases)
Mi trng ca DB2 Express C
n Cc c s d liu (Databases)n To CSDL trong mt instance
n db2 create database mybd1n Hin th danh sch cc CSDL trong instance
n db2 list db directoryn Mt s lnh lm vic vi database
Kt ni n mt CSDLdb2 connect to
Xo mt CSDLdb2 drop databaseTo mt CSDL midb2 create database
Mi trng ca DB2 Express C
n Cc c s d liu (Databases)
Mi trng ca DB2 Express C
n Cc c s d liu (Databases)n To mt CSDL trn instance khc
n db2 list db directory n set db2instance=myinst n db2 create database mydb1 n set db2instance=db2
n S dng Control Center
Mi trng ca DB2 Express C
n Khng gian bng trong CSDL
Mi trng ca DB2 Express C
n Khng gian bng trong CSDL
Mi trng ca DB2 Express C
n Khng gian bng trong CSDLn SYSCATSPACE: ni cha cc bng danh
mc (catalog)n TEMPSPACE1: c s dng khi cn thm
khng gian x l thao tc (nh sp xp)n USERSPACE1: c s dng lu tr cc
bng CSDL ngi dng khi khng c khng gian ring lu tr n.
n IBMDEFAULTBP: vng m d liun LOGS: tp nht l dng phc hi d liu
Mi trng ca DB2 Express C
n Khng gian bng trong CSDL
Mi trng ca DB2 Express C
n Cu hnh DB2n Cc bin mi trngn Tp cu hnh qun
tr CSDL (dbm cfg)n Tp cu hnh CSDL
(db cfg)n ng k l lch DB2
Mi trng ca DB2 Express C
n Cu hnh DB2n Cc bin mi trng
l bin c thit lp h iu hnh, l mt DB2INSTANCE.
n V d:n set db2instance =
myinst
Mi trng ca DB2 Express C
n Cu hnh DB2n Tp cu hnh qun
tr CSDL (dbm cfg) gm cc tham s lin quan n thhin v cc CSDL trong .
n C th cu hnh bng dng lnh hoc Control Center
Mi trng ca DB2 Express C
n Cu hnh DB2n Xem ni dung tp
cu hnhn get dbm cfg
n Cp nht tp cu hnh
n update dbm cfg using
n update dbm cfg using DFTDBPATH D:
Mi trng ca DB2 Express C
n Cu hnh DB2
Mi trng ca DB2 Express C
n Cu hnh DB2n Tp cu hnh CSDL
(db cfg) gm cc tham s tc ng n tng CSDL
n C th cu hnh bng dng lnh hoc Control Center
Mi trng ca DB2 Express C
n Cu hnh DB2n Xem ni dung tp
cu hnhn get db cfgn get db cfg for
n Cp nht tp cu hnh
n update db cfg for using
n update db cfg for sample using DLCHKTIME 10000
Mi trng ca DB2 Express C
n Cu hnh DB2
Mi trng ca DB2 Express C
n Cu hnh DB2n ng k l lch DB2
(profile) bao gm cc tham s c thtrn mt nn c thv c th thit lp thnh ton cc (nh hng tt c cc th hin) hoc tng lp th hin (nh hng ring tng th hin)
Mi trng ca DB2 Express C
n Cu hnh DB2n Mt s lnh iu khin cc bin ng k l lch
DB2
Thit lp gi tr cho mt tham s
db2set =
Lit k tt c cc bin ng k l lch DB2
db2set lr
Lit k tt c cc bin ng k l lch DB2 hin ti c thit lp
db2set all
Mi trng ca DB2 Express C
n Cu hnh DB2n Mt s bin ng k l lch DB2 thng dng
Lu tr tn ca bn sao DB2 hin ang s dng
DB2_COPY_NAME
Ngn chn nhng ngi cha c nh danh kt ni vi DB2 (Windows)
DB2_EXTSECURITY
Ch nh giao thc c khi ng khi cng c qun tr CSDL c khi ng
DB2COMM
Mi trng ca DB2 Express C
n My ch qun tr DB2 (DAS)n L tin trnh nn chy trn my ch DB2 cho
php cc my khch qun tr my ch DB2 qua giao din ho
n Ch c mt DAS cho tt c cc instancen c to lc ci t DB2n Mt s lnh
n db2admin create / db2admin dropn db2admin start / db2admin stop
Mi trng ca DB2 Express C
n My ch qun tr DB2 (DAS)
Tng quan v Ci t DB2
n DB2 Express-C l g?n Cc tnh nng lin quan v cc sn phmn Ci t DB2 Express Cn Mi trng ca DB2n Cc cng c DB2
Cng c ca DB2 Express C
n Cng c ca DB2n Tng quann Trung tm iu khin (Control Centre)n Ca s son tho lnh (Command Editor)n Ca s lnh (Command Windows)n Trnh tr gip SQL (SQL Assist)n Trung tm tc v (Task Center)n Nht k (Journal)
Cng c ca DB2 Express C
n Cng c ca DB2
Cng c ca DB2 Express C
n Cng c ca DB2
Cng c ca DB2 Express C
n Control Centern L cng c qun tr chnh ca DB2n Cho php thc hin:
n H tr xem xt h thng DB2n To, sa v qun l cc CSDLn Qun l cc i tng trong CSDL (tables,
views, indexes, )n Chy cc cng c GUI khc
Cng c ca DB2 Express C
n Control Centern Chn cch hin th ca Control Center khi bt
u chy ng dng (Menu Tools/Customize Control Center)
Cng c ca DB2 Express C
n Control Centern C th chy Control Center bng nhiu cch
n Qua Start Menun Chy db2cc t ca s lnhn Chn biu tng Control Center trn thanh
cng c ca bt k ng dng DB2 GUI no n Chy t biu tng DB2 trn khay h thng
Cng c ca DB2 Express C
n Control Center
Cy i tng
Danh sch i tng
Chi tit i tng
Cng c ca DB2 Express C
n Command Editorn S dng Command Editor c th thc hin
cc cu lnh DB2 v cu lnh truy vn SQL,
n C th chy Command Editor nh sau:n Qua Start Menun Chy db2ce t ca s lnhn Chn biu tng Comamnd Editor trn thanh
cng c Control Centern T Tools Menu trong Control Center
Cng c ca DB2 Express C
n Command Editor (tip)n C th nhng Command Editor vo trong
Control Centern Phi chut vo mt CSDL v chn Queryn Chn ng link Query trong phn chi tit i
tng khi ang ang chn mt CSDL, table hay view no .
Cng c ca DB2 Express C
n Command Editor (tip)
Ni nhp lnh
Ca skt qu
Thm kt ni CSDL
CSDL ang kt ni
K t sdng bo
ht cu lnh
Cng c ca DB2 Express C
n Command Windows /CLPn Ca s lnh thc hin cc cu lnh bng
dng lnh (db2cmd, tng t cmd)n Ch s dng trn Windows, s dng Linux
Shell trn Linuxn C th thc hin c cu lnh db2 (db2==>)
Cng c ca DB2 Express C
n Trnh tr gip SQL (SQL Assist)
Cng c ca DB2 Express C
n Trung tm tc v (Task Center)
Cng c ca DB2 Express C
n Trung tm tc v (Task Center)n Cho php to ra nhng tc v vi giao din
ho nh chy cc lnh ca DB2, cc lnh ca h iu hnh, cc kch bn thc thi,
n Cc tc v sau vn c th thc hin cho dtc v trc thc hin khng thnh cng
n Ch thc hin khi to mt CSDL Tools Catalog
Cng c ca DB2 Express C
n Nht k (Journal)
Cng c ca DB2 Express C
n Nht k (Journal)n Cung cp cho ngi qun tr mt nht k v
cc hot ng ca h thng. N gm:n Task His.: tt c cc cng vic c ln lch
c thc hin v tnh trng hot ng ca chng
n Database His.: bn ghi nh cc hot ng lnh CSDL (sao lu, phc hi, )
n Messages: nht k thng ip phn hi t cc DB2 Tools
n Notification Log: lu tr thng ip cp h thng, bao gm c cc li nghim trng
Qun tr C s d liun Kin trc ca DB2n Kt ni my khch DB2n Lm vic vi cc i tng d liun Di chuyn d liun Bo mt c s d liun Sao lu v phc hin Bo trn Truy cp ng thi v kho
Qun tr C s d liun Kin trc ca DB2n Kt ni my khch DB2n Lm vic vi cc i tng d liun Di chuyn d liun Bo mt c s d liun Sao lu v phc hin Bo trn Truy cp ng thi v kho
Kin trc ca DB2
n M hnh x l ca DB2n M hnh b nh ca DB2n M hnh lu tr ca DB2
Kin trc ca DB2
n M hnh x l ca DB2n Quy c k hiu:
n Ch nht: biu din tin trnh (process)n Eslip: biu din lung x l
Kin trc ca DB2
n M hnh x l ca DB2
Kin trc ca DB2
Daemon t ng. N dng thc hin cc tc v t pha my khch nh hin th tnh trng, t ng bo tr, k hoch hot ng.
db2acd
C ch (ng c) iu khin chnh trong DB2. Trong v9.5, ch c duy nht mt tin trnh x l a lung cho tt c cc thnh phn. Tt c cc EDUs (Engine Dispatchable Units) u nm trong tin trnh ny. Khng c tin trnh ny, CSDL khng th hot ng.
db2sysc, db2syscs (Win)
n M hnh x l ca DB2 (tin trnh chnh)
Kin trc ca DB2
DB2 Watchdog, l mc trn ca c ch x l chnh db2sysc, s gii phng ti nguyn khi kt thc db2sysc bt bnh thng
db2wdog
Tin trnh x l i vi cc hng khc. Cc m lnh ca cc hng khc IBM s chy bn ngoi c ch ny, v nh vy mt chng trnh khng phi ca IBM vn c th tng tc vi DB2.
db2vend
Cc tin trnh x l khc chy cc m lnh (gm c th tc lu tr hm do ngi dng t nh ngha) trn my ch nm ngoi tng la
db2fmp
n M hnh x l ca DB2 (tin trnh chnh)
Kin trc ca DB2
Lung iu khin chnh ca h thng. Lung ny dng khi ng (start), tt (stop) v qun l cc th hin (instance) ang hot ng
db2sysc
Lung lng nghe (listener) cc yu cu qua giao thc TCP/IP
db2tcpcm
Tc nhn (agent) thc thi nhng thao tc CSDL thay cho nhng ng dng (t nht c 1 tc nhn trn mt kt ni, tu thuc vo b tp trung kt ni (Connection Concentrator) c thit lp)
db2agent
n M hnh x l ca DB2 (lung chnh)
Kin trc ca DB2
Tc nhn con (subagent) ch ng c sinh ra nu tham s INTRA_PARALLEL = YES (dbm cfg). N s thc thi cc thao tc CSDL thay cho cc ng dng. db2agent s kt hp cng vic gia cc tc nhn con khc nhau.
db2agntp
B c d liu vo/ra khng ng b (tham sNUM_IOSERVERS ca database)
db2pfchr
B ghi d liu vo/ra khng ng b (tham sNUM_IOCLEANERS ca database)
db2pclnr
n M hnh x l ca DB2 (lung chnh)
Kin trc ca DB2
n M hnh x l ca DB2 (lung chnh)n B tp trung kt ni (Connection Concentrator)
n H tr qun l mt s lng ln ngi s dng kt ni ng thi
n B tp trung kt ni s c thit lp khi (dbm cfg) tham s max_connection > max_coordagents
Kin trc ca DB2
n M hnh b nh ca DB2
Kin trc ca DB2
n M hnh lu tr ca DB2n Trang v phm vi (Pages & Extents)n Vng nh m (buffer pool)n Khng gian bng (Table Space)
Kin trc ca DB2
n M hnh lu tr ca DB2 (trang / phm vi)n Trang l n v lu tr nh nht ca DB2, vi
kch thc cho php l 4, 8, 16, 32Kn Phm vi l mt nhm cc trangn DB2 lm vic vi nhiu phm vi trong cng
thi imn Kch thc trang v phm vi c nh ngha
khi lm vic vi vng nh m v khng gian bng
Kin trc ca DB2
n M hnh lu tr ca DB2 (vng nh m)n L vng b nh thc (real cache) cho d liu
bng v ch mcn Ci thin tc thc thi bng gim vo/ra
tun t trc tip v nng cp thc thi khng ng b. DB2 on trc trang no cn thit, c chng t a vo vng m, sn sng s dng.
n Cp pht vi n v nh l cc trang.n Mi CSDL cn t nht mt b mn C t nht mt b m cho khng gian bng
Kin trc ca DB2
n M hnh lu tr ca DB2 (to vng m)n Vng m c to cho tng CSDLn C th to vng m:
n S dng lnh create bufferpooln S dng Control Center
Kin trc ca DB2
n M hnh lu tr ca DB2 (to vng m)
Kin trc ca DB2
n M hnh lu tr ca DB2 (khng gian bng)n L mt khng gin s dng lu tr cc
bng, l mt giao din tru tng nm gia cc bng logic v vng lu tr vt l ca hthng (bao gm vng nh m v a)
n Tp hp ca mt hoc nhiu container (cc file, th mc, cc thit b khc)
Kin trc ca DB2
n M hnh lu tr ca DB2 (khng gian bng)n c im ca khng gian bng
n Kch thc trang ca khng gian bng l 4, 8, 16, 32KB. Kch thc ny phi tng ng vi kch thc trang ca b m
n Tn vng m tng ng vi khng gian bngn Kch thc phm vi: s trang c ghi vo mt
container trc khi ghi lt tip theon Kch thc np trc: s trang d liu s c
c trc khi cn nng cao hiu nng thc hin
Kin trc ca DB2
n M hnh lu tr ca DB2 (khng gian bng)n Cc loi khng gian bng
n Thng thng: thi dnh cho User, c to ra mt cch thng thng (userspace1)
n Ln: thng c s dng lu tr d liu ckch thc ln hoc cc d liu LOB (long or large object). Cc ch s cng c th c lu tr lun trong khng gian ny.
n Tm thi: Ca h thng: DB2 s dng cho cc thao tc ni
b ca h thng (TEMPSAPCE1) Ca ngi dng: c s dng cho ngi dng
to ra cc bng tm thi
Kin trc ca DB2
n M hnh lu tr ca DB2 (khng gian bng)n Qun l khng gian bng
n Qun l bi h thng (System Managed Storage SMS)
n Qun l bi CSDL (Database Managed Storage DMS)
n Qun l bi lu tr t ng
Kin trc ca DB2
n M hnh lu tr ca DB2 (khng gian bng)n Qun l khng gian bng
n Qun l bi h thng (System Managed Storage SMS) H iu hnh qun l khng gian ny D dng trong qun l v c cha trong cc tp. Khng gian khng c cp pht trc nhng
dung lng tng t ng Khi c cp pht, v tr lu tr khng thay i. D liu, ch mc, d liu LOB khng c tri
nhiu trn nhng khng gian bng khc nhau
Kin trc ca DB2
n M hnh lu tr ca DB2 (khng gian bng)n Qun l khng gian bng
n Qun l bi CSDL (Database Managed Storage DMS) DB2 qun l khng gian bng ny Cn s can thip ca ngi qun tr Container c th l tp c cp pht trc, hoc
nhng thit b lu tr khc Container c th thay i kch thc, xo, thm D liu, ch mc, d liu LOB c th nm trn cc
khng gian khc nhau nn c hiu sut tt
Kin trc ca DB2
n M hnh lu tr ca DB2 (khng gian bng)n Qun l khng gian bng
n Qun l bi lu tr t ng Mong mun nh mt ca n gin qun l lu
tr S dng tng t khng gian bng SMS nhng
hiu sut tt v linh hot nh DMS Khng nh ngha tng minh ch cha. N c
t ng xc nh theo ng dn Tng kch thc hay b sung thm ch mi l do
DB2 qun l nh ngha li ng dn qua database RESTORE
Kin trc ca DB2
n M hnh lu tr ca DB2 (khng gian bng)n Qun l khng gian bng
n Qun l bi lu tr t ng (v d) To CSDL c lu tr t ng
Lu tr t ng theo mc nhCREATE DATABASE DB1Lu tr t ng ch nh tng minhCREATE DATABASE DB1 AUTOMATIC STORAGE YESLu tr t ng theo mc nh, ch ra ng dnCREATE DATABASE DB1 ON /data/path1, /data/path2Lu tr t ng khng c phpCREATE DATABASE DB1 AUTOMATIC STORAGE NO
Kin trc ca DB2
n M hnh lu tr ca DB2 (khng gian bng)n Qun l khng gian bng
n Qun l bi lu tr t ng (v d) To khng gian bng lu tr t ng
Lu tr t ng cho KGB c cho php theo mc nhCREATE TEMPORARY TABLESPACE TEMPTS
Lu tr t ng KGB c cho php ch nh tng minhCREATE TABLESPACE TS2 MANAGED BY AUTOMATIC
STORAGELu tr t ng khng tng minhCREATE TABLESPACE TS1 INITIALSIZE 500 K
INCREASESIZE 100 K MAXSIZE 100 M
Kin trc ca DB2
n M hnh lu tr ca DB2 (khng gian bng)n Qun l khng gian bng
n D liu lu tr trong khng gian bng
Kin trc ca DB2
n M hnh lu tr ca DB2 (khng gian bng)n Qun l khng gian bng
n D liu lu tr trong khng gian bng Khng gian bng 4K vi 8 trang cho mi phm vi
(4K x 8 = 32K) S dng 3 ch cha trong khng gian bng DMS
Kin trc ca DB2
n M hnh lu tr ca DB2 (khng gian bng)n Qun l khng gian bng
n To khng gian bng bng Control Center
Qun tr C s d liun Kin trc ca DB2n Kt ni my khch DB2n Lm vic vi cc i tng d liun Di chuyn d liun Bo mt c s d liun Sao lu v phc hin Bo trn Truy cp ng thi v kho
Kt ni my khch DB2
n Th mc DB2n Yu cu ci t ti my chn Yu cu ci t ti my khchn Cc phng thc khc ci t kt ni
Kt ni my khch DB2
n Th mc DB2: n l cc tp nh phn lu tr thng tin t cc
CSDL m c th kt ni nn C 4 th mc
n Th mc CSDL h thngn Th mc CSDL ni tin Th mc ntn Th mc DCS
Kt ni my khch DB2
n Th mc DB2: n Th mc CSDL h thng
n Cha danh mc cc CSDL m h thng ang qun l (gm c CSDL ni ti v t xa)
n L cc con tr tr ti th mc CSDL ni tin L cc con tr tr ti th mc nt (node)n Cu lnh: list db directory
Kt ni my khch DB2
n Th mc DB2: n Th mc CSDL ni ti (local)
n Cha thng tin v nhng CSDL ni ti m cth kt ni c
n Cu lnh: list db directory on
Kt ni my khch DB2
n Th mc DB2: n Th mc CSDL nt (node)
n Cha thng tin kt ni n mt CSDL xa.n Khi s dng TCP/IP, thng tin gm a ch IP
ca my DB2 xa v a ch cng (port) ca thhin cha CSDL
n Cu lnh: list node directory
Kt ni my khch DB2
n Th mc DB2: n Th mc DCS
n Ch s dng khi ci t phn kt ni n my ch DB2 s dng x/OS
n Cu lnh: list dcs directory
Kt ni my khch DB2
n Tr gip cu hnh (Configuration Assistant):n Cng c GUI h tr cu hnh cc kt ni n
cc my ch DB2 xan Chy ng dng
n Windows Start Menu: IBM DB2\DB2COPY1\Set-up tools\Configuration Assistant
n Control Center: Tools Menu\Configuration Assistant
n Dng lnh: db2ca
Kt ni my khch DB2
n Ci t trn my chn My ch cn thit lp 2 tham s lin quan
ca instance cho php kt nin db2comm: giao thc s s dng h tr kt
ni t my khchn svcename (service name): tn dch v hoc s
hiu cng (port) ca Instance cha CSDL cho php kt ni
Kt ni my khch DB2
n Ci t trn my chn Thit lp quan CA
n db2comm Db2 Registryn svcename DBM Configuration
(Communication)n Thit lp qua CC
n db2comm chn Instance\Set up communications
n svcename chn Instance\Configure Parameters
Kt ni my khch DB2
n Ci t trn my chn Thit lp bng dng lnh
n db2comm db2setdb2set db2comm=TCPIP
n svcename update dbm cfg using svcename
update dbm cfg using svcename 50001
n V d: thit lp tham s my ch
Kt ni my khch DB2
n Ci t trn my khch
Kt ni my khch DB2
n Ci t trn my khch
Kt ni my khch DB2
n Ci t trn my khchn Hoc cng c th kt ni thng qua
n Configuration AssistantAdd Database using Wizard
n Control CenterAll Database \ Add
Kt ni my khch DB2
n Ci t trn my khchn Nhng thng tin cn thit kt ni t my
khch n my chn Tn CSDL mun kt nin S hiu cng (port) ca th hin DB2 cha
CSDL. Cng c th s dng tn dch v nu tn ti thc th tng ng trong tp dch v TCPIP
n ID ca ngi dng v mt khu ng nhp CSDL ca my ch
Kt ni my khch DB2
n Cc phng thc khc ci t kt ni
Kt ni my khch DB2
n Cc phng thc khc ci t kt ni
Kt ni my khch DB2
n Cc phng thc khc ci t kt nin Tm kim t my khch
n Cp DAS Discover = Search/Know get admin cfg update admin cfg
using n Cp Instance
get dbm cfg update dbm cfg
using
Kt ni my khch DB2
n Cc phng thc khc ci t kt nin Tm kim t my khch
n Cp Database get db cfg get db cfg for update db cfg for
using n C th kt xut (export)
h tr ci t cho nhiu my khch hoc my ch
Qun tr C s d liun Kin trc ca DB2n Kt ni my khch DB2n Lm vic vi cc i tng d liun Di chuyn d liun Bo mt c s d liun Sao lu v phc hin Bo trn Truy cp ng thi v kho
Lm vic vi cc i tng DL
n S (Schema)n Bng (Tables)n Khung nhn (Views)n Ch mc (Indexes)n Ton vn tham chiu (Referential Integrity)
Lm vic vi cc i tng DL
n S (Schema)n mt khng gian tn (name space) cho tp
hp cc i tng trong CSDLn c s dng :
n Cung cp ch dn v quyn s hu (ownership) i tng hoc mi quan h vi i tng no
n Gom cc i tng c lin quan n Tn ca tt c cc i tng CSDL, theo tiu
chun, u c 2 phn.
Lm vic vi cc i tng DL
n S (Schema)n Khi kt ni n CSDL m khng ch r
schema, DB2 s chn nh danh (ID) ca ngi dng hin ti ang kt ni n CSDL lm tn schema
Lm vic vi cc i tng DL
n Bng (Tables)n L tp hp d liu c mi quan h vi nhau
mt cch hp l theo ct v hng
Lm vic vi cc i tng DL
n Bng (Tables) kiu d liu
Lm vic vi cc i tng DL
n Bng (Tables) D liu ln (LOB)
Lm vic vi cc i tng DL
n Bng (Tables) D liu ngi dng t nh ngha (User-Defined Types)
Lm vic vi cc i tng DL
n Bng (Tables) D liu ngi dng t nh ngha (User-Defined Types)
Lm vic vi cc i tng DL
n Bng (Tables) Gi tr Nulln i din cho mt trng thi gi tr khng xc
nhn C th thit lp gi tr mt ct trong bng
khng c php Null
Lm vic vi cc i tng DL
n Bng (Tables) Bng danh sch h thngn Mi CSDL c danh sch bng h thng ringn Lu tr cc siu d liu v cc i tng
CSDLn C th s dng cc cu lnh truy vn nh
nhng bng khc
Lm vic vi cc i tng DL
n Bng (Tables) Bng danh sch h thngn C 3 s (schema) nhn dng cc bng
danh sch h thngn SYSIBM: cha cc bng c s, ti u ho s
dng cho DB2n SYSCAT: cc khung nhn (view) c s da trn
cc bng SYSIBM, ti u s d s dngn SYSSTAT: cc s liu thng k trong CSDL
ExampleSYSCAT.TABLESSYSCAT.INDEXESSYSCAT.COLUMNS
Lm vic vi cc i tng DL
n Bng (Tables) khai bo bng tm thin L bng c to ra trong b nh, c s
dng mt ng dng v t ng xo khi ng dng kt thc
n Ch c th c truy cp bi ng dng to ra chng
n Khng sinh ra cc bn ghi trong bng danh sch h thng
n Hiu qu truy cp bng cao (khng b khohng, khng phi xc thc, khng ghi nht k)
Lm vic vi cc i tng DL
n Bng (Tables) ct nh danh (identity)n L ct cc con s c to ra t ng, c gi
tr duy nht trn mi dngn Ch ti a mt ct nh danh trn mt bngn To gi tr trn ct nh danh c 2 cch:
n Lun c sinh ra: cc gi tr c sinh ra bi DB2, ng dng khng c php sinh gi tr
n Sinh ra mc nh: gi tr c cung cp bi ng dng, hoc nu khng c th DB2 sinh ra. Khng m bo tnh duy nht ca d liu
Lm vic vi cc i tng DL
n Bng (Tables) ct nh danh (identity)
Lm vic vi cc i tng DL
n Bng (Tables) i tng tun t(sequence object)n i tng tun t sinh ra mt s duy nht,
hot ng nh mt bng c lp
Lm vic vi cc i tng DL
n Khung nhn (Views)n L s th hin d liu c lu tr trong
bngn D liu s tn ti khi c gi tin Thng tin v khung nhn c cha trong
SYSCAT.VIEWS, SYSCAT.VIEWDEP, SYSCAT.TABLES.
Lm vic vi cc i tng DL
n Ch mc (Indexes)n L tp hp cc kho c sp xp theo mc
cc dng trong bngn c im
n Kiu ch mc tng hoc gimn Kho ca ch mc c th l duy nht hoc khngn Nhiu ct c th s dng lm ch mc
n S dng cng c tr gip Design Advisor
Lm vic vi cc i tng DL
n Ton vn tham chiu (Referential Integrity)n Cho php CSDL qun l c mi quan h
gia cc bng
Tin ch di chuyn d liu
n Tng quann Exportn Importn Load & Set Integrityn db2moven db2look
Tin ch di chuyn d liu
n Tng quann Tin ch di chuyn d liu l cng c c
s dng di chuyn d liu trong cng mt CSDL sang CSDL khc trn cng nn (platform) hoc khc nn
Tin ch di chuyn d liu
n Tng quann ASC = ASCIIn DEL = Delimited ASCII d liu c lu tr
di dng vn bn, c th m xem bng bt ktrnh son tho no
n WSF = Worksheet Format nh dng c th di chuyn d liu sang bng tnh (Excel, Lotus123)
n IXF = Integrated Exchange Format nh dng khng ch bao gm d liu m cn c ngn ng DDL (Data Definition Language). m bo c tnh y ca d liu
Tin ch di chuyn d liu
n Exportn Kt xut d liu t bngn Lm vic vi IXF, DEL, WSFn C th thc hin bng cu lnh hoc Control
Center
Tin ch di chuyn d liu
n Importn Chn d liu t bng (tng ng cu lnh
SQL Insert) Kch hot cc by (trigger), cc rng buc c hiu
lc, s dng BUFFERPOOLn C th thc hin bng cu lnh hoc Control
Center
Tin ch di chuyn d liu
n Loadn Chn d liu t bng theo cch trc tipn Tc thc hin nhanh, khng s dng vng
m, cc by khng c kch hot, rng buc khng c hiu lc
n C th thc hin bng cu lnh hoc Control Center
Tin ch di chuyn d liu
n db2moven C th lm vic vi c mt CSDLn Ch lm vic vi tp IXFn Khng c trong Control Center
db2move sample exportdb2move sample import
Tin ch di chuyn d liu
n db2lookn Trch rt d liu di dng cu lnh DDL, khng
gian bng thnh tp kch bnn C th s dng cu lnh hoc Control Center
Qun tr C s d liun Kin trc ca DB2n Kt ni my khch DB2n Lm vic vi cc i tng d liun Di chuyn d liun Bo mt c s d liun Sao lu v phc hin Bo trn Truy cp ng thi v kho
Bo mt c s d liu
n Tng quann Xc thc (authentication)n Quyn hn (authorization)n Nhm PUBLICn GRANT v REVOKE
Bo mt c s d liu
n Tng quann DB2 s dng 2 cch
xc thcn Dch v bo mt ngoin Kim sot truy cp
bn trong ni tin Xc thc
(authentication)n nh danh ngi s
dng
Bo mt c s d liu
n Tng quann Quyn hn
(authorization)n Kim tra ngi s
dng c xc thc c quyn hnthc hin thao tc
Bo mt c s d liu
n Xc thc (authentication)
Bo mt c s d liu
n Xc thc (authentication)n Tham s AUTHENTICATION trong DBM
CFGn Cc gi tr:
n SERVER (mc nh): xc thc ti my chn CLIENT: xc thc ti my khchn SERVER_ENCRYPT: xc thc ti my ch
nhng c m hon SQL_AUTHENTICATION_DATAENC: xc thc
ti my ch thm s kt ni phi m hon SQL_AUTHENTICATION_DATAENC_CMP:
Bo mt c s d liu
n Quyn hn (authorization)n Quyn hn bao gm quyn (Authorities) v
cc c quyn (Privileges)n c quyn l quyn cho php thc hin mt
thao tc no trn CSDL (Insert, Create,)n Quyn l mt loi hnh ng bao gm nhiu
c quyn
Bo mt c s d liu
n Quyn hn (authorization)
Bo mt c s d liu
n Quyn hn (authorization) cc cp
Bo mt c s d liu
n Quyn hn (authorization)n C th cp quyn cho mt nhm ngi s
dng trn OS, c th thit lp cc tham sSYSADM_GROUP, SYSCTRL_GROUP, trong DBM CFG theo nhm ca OS
update dbm cfg using SYSADM_GROUP n Mi th hin c nhm quyn ringn Trn Windows, ngm nh nhm qun tr
Windows c quyn SYSADM. Trn Linux, nhm ngi s hu th hin l SYSADM
Bo mt c s d liu
n Quyn hn (authorization) DBADMn DBADM (quyn qun tr CSDL): ngi c
quyn cao nht v qun tr mt CSDL. y khng c mt quyn c th
connect to grant DBADM on database on user
n Phi l quyn SYSADM mi thc hin c lnh gn ny
n DBADM khng c quyn to khng gian bng v khng gian bng lin quan n containers (a) v vng m (b nh)
Bo mt c s d liu
n Nhm PUBLICn L mt nhm bn trong DB2n Mi User c xc nhn bi OS hoc dch
v chng thc u c ngm nh l thnh vin nhm PUBLIC
n Mt s quyn c to sn cho nhm PUBLIC khi CSDL c to CONNECT, CREATE TAB, IMPLICIT_SCHEMA, BINDADD
n C th hu quyn ca nhm PUBLIC tng tnh bo mt
Bo mt c s d liu
n Lnh GRANT v REVOKE
Bo mt c s d liu
n Lnh GRANT v REVOKEn C th kim tra quyn v vic cp quyn qua
Control Center
Qun tr C s d liun Kin trc ca DB2n Kt ni my khch DB2n Lm vic vi cc i tng d liun Di chuyn d liun Bo mt c s d liun Sao lu v phc hin Bo trn Truy cp ng thi v kho
Sao lu v phc hi
n Nht k CSDL (Database Logging)n Sao lu (backup)n Phc hi (recovery)
Sao lu v phc hi
n Nht k CSDL (Database Logging)n Nht k CSDL ghi li cc hnh ng ca
nhng giao dch (transactions). Trong trng hp s c, c th khi phc (playback/redo) nhng giao dch c thc hin
n Vic ghi li nhng thay i trong CSDL vo nht k c thc hin sau lnh COMMIT
Sao lu v phc hi
n Nht k CSDL (Database Logging)
Sao lu v phc hi
n Nht k CSDL (Database Logging)n Khng gian bng (tablespace) v nht k
(log) u c ghi trn cng. Do , khuyn co l nn c ct trn nhng cng khc nhau
n Khi c s thay i (gi s UPDATE), nhng trang d liu thay i s c ct trong vng m (b nh). Nhng gi tr c v mi s c ct trong Log (i khi th tc thi, i khi do mt vng m y)
Sao lu v phc hi
n Nht k CSDL (Database Logging)n Nu thc hin COMMIT ngay sau UPDATE,
tt c d liu c v mi s c ghi vo Log ngay lp tc
n Khi iu kin tho mn, d liu thay i mi c ghi ln khng gian bng trn a
n CHNGPGS_THRES: ch nh t l phn trm nhng trang thay i (dirty)
Sao lu v phc hi
n Nht k CSDL (Database Logging)n Cc kiu nht k
n Nht k s cp (LogPrimary): c cp pht sn
n Nht k th cp (LogSecond): c cp pht khi cn thit v s c xo khi tt c cc kt ni n CSDL b ngt
Sao lu v phc hi
n Nht k CSDL (Database Logging)n Cc kiu ghi nht k
n Ghi vng tun t (Circular logging): khng lu tr ring, c th b ghi
n Lu tr (Archival logging): khng b xo bt kni dung no, mt s thng tin c lu tronline, mt s c lu tr bn ngoi
Sao lu v phc hi
n Nht k CSDL (Database Logging)n Cc kiu ghi nht k
n Ghi vng tun t (Circular logging):
Sao lu v phc hi
n Nht k CSDL (Database Logging)n Cc kiu ghi nht k
n Ghi vng tun t (Circular logging): P1, P2, P3 l nht k s cp; S1, S2 l nht k th cp Khi c mt giao dch, nht k c ghi vo P1 v
sau l P2, Nu c lnh COMMIT, thay i c ghi vo khng
gian bng, P1, P2 c th c ghi li t u vkhng cn thit na
Nu cha COMMIT m khng gian bng thiu, scp pht tip S1, S2. Khi giao dch vn tip tc m t ngng LOGSECOND th s xut hin thng bo li v giao dch s c quay lui (rollback)
Sao lu v phc hi
n Nht k CSDL (Database Logging)n Cc kiu ghi nht k
n Lu tr (Archival logging): Thit lp tham s LOGRETAIN l YES Tp nht k khng b xo, c th lu tr online
hoc offline Nht k lu tr offline c th lu tr trn bng t m bo vic khi phc li nhng d liu c khi
gp s c
Sao lu v phc hi
n Nht k CSDL (Database Logging)n Cc kiu ghi nht k
n Lu tr (Archival logging):
Sao lu v phc hi
n Nht k CSDL (Database Logging)n Cu hnh nht k qua Control Center
Sao lu v phc hi
n Nht k CSDL (Database Logging)n Cc tham s ca nht k
n Logbufsz: kch thc b nh c s dng nh b m cho cc bn ghi nht k trc khi ghi ln a
n Logfilsz: kch thc ca mi nht k cu hnh (4KB)
n Logprimary: s bn nht k s cp vi kch thc logfilsz to
n Logsecond: s tp nht k ph c to v sdng khi cn thit
Sao lu v phc hi
n Nht k CSDL (Database Logging)n Cc tham s ca nht k (cont.)
n Logpath/newlogpath: v tr cc nht k hot ng hoc lu tr trong tng lai
n Mirrorlogpath: ng dn ca nht k nhn Loghead: tn tp nht k hot ng hin hnhn Userexit: cho php chng trnh Userexit thc
hin sao chp nht k ngoi tuynn Softmax: gii hn s mt mt ca vic khi
phc hngn Logretain: thit lp ch ghi nht k lu tr
Sao lu v phc hi
n Sao lu (backup)n Cho php to ra mt bn sao CSDL ti thi
im thc thiBACKUP DB sample TO C:\Backups
n C th sao lu trc tuyn (ngi dng c thkt ni n CSDL khi ang sao lu) hoc ngoi tuyn (Offline ngi dng khng cth kt ni n CSDL khi ang sao lu)
n C th thc hin trn Control Center
Sao lu v phc hi
n Sao lu (backup)n V d v tn file c Backup
Sao lu v phc hi
n Khi phc (Recovery)n L phc hi (restore) mt CSDL t phn d
liu c sao lu (backup)n Phc hi d liu t cc bn ghi nht k
Sao lu v phc hi
n Khi phc (Recovery)n Cc kiu khi phc CSDL
n Khi phc d liu hng (crash/restart database): khi h thng gp s c v phi khi ng li, hthng kch hot lnh Restart Database phc hi cc giao dch khi trc m bo CSDL trng thi ph hp nht
n Khi phc d liu theo phin bn: khi phc li CSDL t mt bn c sao lu (backup). CSDL s c tr li trng thi nh khi sao lu, v nhng giao dch sau b mt
Sao lu v phc hi
n Khi phc (Recovery)n Cc kiu khi phc CSDL (cont.)
n Khi phc d liu theo thi gian: cho php va s dng sao lu/ phc hi, va s dng lnh ROLLFORWARD xc nh thi im phc hi gip lm gim ti a mt mt d liu
Sao lu v phc hi
n Khi phc (Recovery)n Khi phc CSDL
Sao lu v phc hi
n Khi phc (Recovery)n Khi phc CSDL (mt s lu vi backup v
restore)n Sao lu trn OS 32bit, phc hi trn OS 64n Khi phc c c CSDL ang tn tin To c CSDL mi t file backupn C th sao lu v khi phc theo khng gian
bng, khng cn ton b CSDLn C kh nng khi phc d liu n mt a
khc vi vng cn khi phc
Sao lu v phc hi
n Khi phc (Recovery)n Khi phc CSDL (mt s lu vi backup v
restore)n Cho php sao lu nhng thay i (delta) hoc
tng dn (incremental)n C kh nng phc hi c nhng bng b xon Khng th sao lu OS ny v phc hi OS
khc
Qun tr C s d liun Kin trc ca DB2n Kt ni my khch DB2n Lm vic vi cc i tng d liun Di chuyn d liun Bo mt c s d liun Sao lu v phc hin Bo trn Truy cp ng thi v kho
Bo tr
n Tng quann REORGn RUNSTATSn REBIND
Bo tr
n Tng quann Sau qu trnh thc hin, h thng CSDL c
nhiu thay i. Bo tr nhm ti u ho li hthng nhm nng cao hiu sut
Bo tr
n REORGn Sau qu trnh truy xut, bng v ch mc b
phn mnhn REORG ti ghp mnh v t chc li d liu
ti u hiu qu lu tr v truy xut tng bng.
n C th trc tuyn (online) hay khng (offline)n Offline nhanh v ti u hn nhng khng cho
php truy xut n bngn Online cho php truy xut n bng nhng s
dng nhiu ti nguyn hn, ph hp bng nh
Bo tr
n REORG
n C th thc hin qua Control Center
Bo tr
n RUNSTATS (thng s thng k)n DB2 c mt c ch ti u thng minh khai
thc d liu hiu qu. thc hin cn c sliu thng k trc.
n S liu thng k ca CSDL cn c cp nht (nh s lng ct, cc kiu DL ct, s lng bn ghi, kch thc ch mc, )
n Do s lng thng k khng c cp nht t ng nn lnh RUNSTAT h tr cp nht nhng s liu thng k cho c ch ti u
Bo tr
n RUNSTATS (thng s thng k)
n C th thc hin qua Control Center
Bo tr
n BIND/REBINDn p dng cho nhng ng dng nhng SQL,
th tc lu tr SQL sau khi chy RUNSTAT
Bo tr
n BIND/REBIND
Bo tr
n La chn bo trn C 3 cch:
n Th cngn To kch bn thc hin bo trn Bo tr t ng (cu hnh cho tng CSDL qua
Control Center)
Qun tr C s d liun Kin trc ca DB2n Kt ni my khch DB2n Lm vic vi cc i tng d liun Di chuyn d liun Bo mt c s d liun Sao lu v phc hin Bo trn Truy cp ng thi v kho
Truy cp ng thi v kho
n Tng quann Truy cp ng thin Khon Kho leo thang
Truy cp ng thi v kho
n Tng quann Giao dch
n Tp hp dng lnh m khi thc hin c coi nh cc cu lnh ring l
n Nu mt trong nhng dng lnh tht bi coi nh ton b giao dch tht bi v cc dng lnh c thc hin n im tht bi s c quay lui (rollback) v gi tr ban u
n Giao dch kt thc vi dng lnh COMMIT, vbt u mt giao dch mi
Truy cp ng thi v kho
n Tng quann Giao dch
Truy cp ng thi v kho
n Tng quann Truy cp ng thi
n Nhiu ngi cng truy cp n cng mt CSDL ti cng thi im
n Vic truy cp phi m bo tnh an ton v ton vn d liu
Truy cp ng thi v kho
n Tng quann Truy cp ng thi
Truy cp ng thi v kho
n Tng quann Kho
n Kho c dng tm thi ngn nhng ng dng truy cp n khi thao tc kt thc
n Nu s kho tng ln c ngha l s truy cp ng thi t i
n Kho s t ng xut hin h tr mt thao tc v gii phng khi thao tc kt thc (Commit hoc Rollback)
Truy cp ng thi v kho
n Tng quann Kho
n C 2 loi kho Kho chia s (S share locks): c s dng khi
ng dng mun c v ngn cn cp nht tnhng thao tc khc
Kho dnh ring (X exclusive locks): c sdng khi mt ng dng mun cp nht, xo hay thm mt dng
Truy cp ng thi v kho
n Tng quann Kho
Truy cp ng thi v kho
n Truy cp ng thin DB2 c thit k cho nhiu ngi truy cpn Khi khng iu khin truy cp ng thi, c
th pht sinh:n Mt d liu cp nhtn c khng cam ktn c khng lp lin c tha
Truy cp ng thi v kho
n Truy cp ng thin Mt d liu cp nht: d liu ca ng dng sau
lm thay i d liu ng dng trc
Truy cp ng thi v kho
n Truy cp ng thin c khng cam kt: c d liu cha c cp
nht hon ton
Truy cp ng thi v kho
n Truy cp ng thin c khng lp li: khng cho d liu ging nhau
sau nhng cu lnh thc hin nh nhau
Truy cp ng thi v kho
n Truy cp ng thin c o: c thm nhng dng d liu khng c
thc
Truy cp ng thi v kho
n Truy cp ng thin Cc mc c lp
n DB2 cung cp cc mc khc nhau bo v sc lp d liu c vi khng cam kt (Uncommitted Read - UR) n nh con tr (Cursor Stability - CS) c n nh (Read Stability - RS) c lp li (Repeatable Read - RR)
Truy cp ng thi v kho
n Truy cp ng thin Cc mc c lp
n c vi khng cam kt Cung cp mc c lp thp nht ng thi c mc
truy nht ng thi cao nht Khng c s kho dng khi c nu khng c s
thm nhp xo hoc sa mt bng hoc thao tc cp nht d liu
Vn c ngn nga: mt d liu khi cp nht Vn tn ti: c vi khng cam kt, c khng
lp li, c o
Truy cp ng thi v kho
n Truy cp ng thin Cc mc c lp
n n nh con tr Cp c lp mc nh, to mt mc kho ti thiu Dng hin hnh ca con tr (cursor) s b kho Nu l dng ch c, kho s c gi cho n khi
mt dng mi c ly hoc thao tc thc hin bngt
Nu dng c cp nht, kho s c gi n khi thao tc thc hin kt thc
Truy cp ng thi v kho
n Truy cp ng thin Cc mc c lp
n n nh con tr Vn c ngn nga: mt d liu khi cp nht,
c vi khng cam kt Vn tn ti: c khng lp li, c o
Truy cp ng thi v kho
n Truy cp ng thin Cc mc c lp
n c n nh Tt c cc dng trong phm vi ng dng lm vic
u b kho Con tr truy cp s kho tt c cc dng tiu
chun trong tp hp kt qu Mc kho va phi Vn c ngn nga: mt d liu khi cp nht,
c vi khng cam kt, c khng lp li Vn tn ti: c o
Truy cp ng thi v kho
n Truy cp ng thin Cc mc c lp
n c lp li Mc kho cao nht, truy cp ng thi thp nht Kho gi tt c cc dng ang c x l xy
dng tp hp kt qu, nhng dng khng cn thit trong tp hp kt qu cui cng c th b kho
Khng ng dng no c th thay i mt dng (thm, xo, sa) nu dng nh hng n tp hp kt qu cho n khi thao tc cng vic c hon tt
Truy cp ng thi v kho
n Truy cp ng thin Cc mc c lp
n c lp li C ch ny m bo nhng cu truy vn tng t
nhau ca cng mt ng dng s nhn c kt qu ging nhau ti cng mt thi im
Vn c ngn nga: mt d liu khi cp nht, c vi khng cam kt, c khng lp li, c o
Vn tn ti: khng cn
Truy cp ng thi v kho
n Truy cp ng thin Cc mc c lp
n So snh cc mc c lp
Truy cp ng thi v kho
n Truy cp ng thin Cc mc c lp
n t mc c lp C nhiu mc c lp
Phin lm vic trong ng dng Kt ni Cu lnh
Mc c lp bnh thng c xc nh ti phin lm vic hoc ti mc ng dng
Khi khng ch r mc c lp, mc nh s dng con tr n nh
Truy cp ng thi v kho
n Truy cp ng thin Cc mc c lp
n t mc c lp
Truy cp ng thi v kho
n Truy cp ng thin Cc mc c lp
n t mc c lp
Truy cp ng thi v kho
n Kho leo thangn Mi kho trong DB2 s dng mt phn b
nhn Khi b ti u cho rng tt hn l mt kho
trn ton b bng thay v kho nhiu hng thxy ra s leo thang kho
Truy cp ng thi v kho
n Kho leo thang
Truy cp ng thi v kho
n Kho leo thangn C 2 tham s CSDL lin quan n kho
n LockList: s lng b nh (trang 4K) d tr qun l nhng kho trong mi ng dng c ni. Trn Windows, mc nh l 50 ln ca trang (200K)
n MaxLocks: phn trm cc i ca ton b danh sch kho cho mt ng dng (mc nh 22%)
Truy cp ng thi v kho
n Kho leo thangn Vi nhng gi tr ngm nh, kho leo thang
xut hin khi mt ng dng yu cu hn 44K trong tng s b nh kho (200K * 22%)
n Tng gi tr ca 2 tham s s lm gim sxut hin thng xuyn ca kho leo thang
n Kho leo thang khng tt cho hiu nng nhng lm gim xung t
n Tp nht k:
Truy cp ng thi v kho
n Ch kho (Lock wait)n Khi 2 hoc nhiu ng dng cn thc hin
php ton trn cng i tng, mt trong s c th phi ch nhn c kho
n Locktimeout (db cfg):n Ngm nh -1: ch v hnn Thi gian i c tnh bng giy
Truy cp ng thi v kho
n B tc (deadlocks)n Xy ra khi hai hay nhiu ng dng cng kt
ni n mt CSDLn Mi ng dng li chim dng mt phn ti
nguyn m n ang phc v cho nhu cu khc
Truy cp ng thi v kho
n B tc (deadlocks)n V d m phng tnh hung
n M 2 ca s CLP (CLP1 v CLP2)n CLP1:
db2 connect to sampledb2 +c update employee set firstnme = 'Mary' where
empno = '000050+c: khng yu cu DB2 t ng cam kt lnh ny,
gi li kho sau khi thc hin
Truy cp ng thi v kho
n B tc (deadlocks)n V d m phng tnh hung
n CLP2:db2 connect to sampledb2 +c update employee set firstnme = Tom where
empno = 000030n CLP1:
db2 +c select * from employee where empno = 000030
n CLP2:db2 +c select * from employee where empno =
000050
Truy cp ng thi v kho
n Truy cp ng thi v thc tin kho tt nhtn Thng xuyn s dng COMMIT giao
dch ngn nhtn Ch ghi nht k giao dch khi c yu cun Ty d liu s dng nhanh chng
n Thc hin CSDL theo l/nhm
Truy cp ng thi v kho
n Truy cp ng thi v thc tin kho tt nhtn t tham s LOCKTIMEOUT cho CSDL (30
120), khng nn -1n Khng yu cu d liu nhiu hn cn thit
trong mi thao tc ca ng dng
Pht trin ng dng
n Cc th tc SQL PLn Hm ni tuyn (inline SQL PL), hm
ngi dng t nh ngha (UDF), x l skin by li (triggers)
n SQL/XML v Xqueryn Pht trin vi Ngn ng lp trnh
Pht trin ng dng
n Cc th tc SQL PLn Hm ni tuyn (inline SQL PL), hm
ngi dng t nh ngha (UDF), x l skin by li (triggers)
n SQL/XML v Xqueryn Pht trin vi Ngn ng lp trnh
Th tc lu tr SQL PL
n Tng quan v th tc lu trn IBM Data Studio
Th tc lu tr SQL PL
n Tng quan v th tc lu tr
Th tc lu tr SQL PL
n Tng quan v th tc lu trn Th tc lu tr l mt i tng CSDL, c
th ng gi cc cu lnh SQL v nghip v
n Lu tr hp l cho php nng cao hiu sut thc hin cng nh gim bng thng mng
n Th tc lu tr c thc hin v qun l bi DB2
Th tc lu tr SQL PL
n Tng quan v th tc lu trn Th tc lu tr c th c vit bng SQL
PL, C/C++, Java, Cobol, ngn ng h trCLR (Common Language Runtime), OLE
n Li ch ca Th tcn Bo mtn Hiu nng
n Tp trung vo th tc SQL PL v tnh n gin v ph bin
Th tc lu tr SQL PL
n IBM DATA STUDIOn L cng c h tr pht trin v qun l cc
ng dng CSDLn c xy dng trn nn tng Eclipsen Giao din IDE cho php:
n To, sa i v xo cc i tng CSDL trong DB2