! "
Mt cun sách ca cng ng dành cho cng ng
!#$%&' ()
Nhp môn H qun tr c s d liu DB2
1
Xut bn ln u (tháng 11 nm 2007)
Tài liu này s dng cho IBM DB2 Express-C phiên bn 9.1 vi h iu hành Linux,
UNIX và Windows
Bn quyn thuc công ty IBM
Nhp môn H qun tr c s d liu DB2
2
Mc Lc
Thông cáo và Nhãn hiu hàng hóa...................................................................................7
Ai nên c cun sách này?...............................................................................................8
Cu trúc ca quyn sách này nh th nào? ......................................................................8
Mt quyn sách do cng ng làm và giành cho cng ng ...........................................8
Tác gi và nhng ngi óng góp ...................................................................................8
Li cm n .......................................................................................................................9
Li cm n bn ting Vit .............................................................................................10
Li nói u .....................................................................................................................12
Phn I – Tng quan và Cài t.......................................................................................13
Chng 1 - DB2 Express-C là gì?...................................................................................13
1.1 T do phát trin, trin khai và phân phi…không có gii hn!............................... 13
1.2 H tr k thut .........................................................................................................14
1.3 Các máy ch DB2 ....................................................................................................14
1.4 Máy khách DB2 .......................................................................................................15
1.5 T do phát trin phn mm ng dng......................................................................16
1.6 Phiên bn và n bn DB2 (version and edition) ......................................................16
1.7 Chuyn sang n bn DB2 khác ................................................................................17
1.8 Bo trì DB2 Express-C ............................................................................................17
1.9 Mt s phn mm min phí liên quan......................................................................17
1.9.1 DB2 Developer Workbench (công c phát trin) .............................................17
1.9.2 DB2 9 Embedded Application Server (máy ch nhúng) .................................18
1.9.3 DB2 9 Net Search Extender (m rng tìm kim trên mng) ............................18
1.9.4 B công c bt u Rails cho DB2 ...................................................................18
1.9.5 B công c bt u Web 2.0 dành cho DB2.....................................................18
Chng 2 – Các tính nng liên quan và các sn phm.................................................19
2.1 Các tính nng bao hàm trong ng ký s dng DB2 Express-C .............................20
2.1.1 Các chng trình sa li...................................................................................20
2.1.2 Tính s n sàng cao và khôi phc sau s c (HADR) .........................................20
2.1.3 Kh nng tái to d liu (di trú d liu)............................................................20
2.2 Các tính nng không có trong bn DB2 Express-C .................................................21
2.2.1 Phân vùng c s d liu....................................................................................21
2.2.2 B tp trung kt ni...........................................................................................21
2.2.3 B m rng không gian !a lý ..........................................................................22
2.2.4 B kim soát truy vn .......................................................................................22
2.3 Các sn ph"m có tr phí liên quan n DB2............................................................22
2.3.1 DB2 Connect.....................................................................................................22
2.3.2 WebSphere Federation Server ..........................................................................22
2.3.3 WebSphere Replication Server .........................................................................23
Chng 3 - Cài t DB2 ..................................................................................................24
3.1 Các iu kin trc khi cài #t ................................................................................24
3.2 Quyn cài #t h iu hành......................................................................................24
3.3 Cài #t theo hng d$n t%ng bc...........................................................................25
3.4 Cài #t hàng lot (Silent Install) ..............................................................................28
Bài tp nhanh #1: Cài #t DB2 Express-C và to ra c s d liu m$u ........................30
Chng 4 - Các công c DB2..........................................................................................32
4.1 Trung tâm iu khin (Control Center) ...................................................................33
4.2 Nhp lnh trc tip...................................................................................................36
4.3. Trình tr giúp SQL.................................................................................................38
4.4 Trình bày nút Show SQL .........................................................................................40
Nhp môn H qun tr c s d liu DB2
3
Bài tp nhanh #2 - To mt CSDL mi vi Trung tâm iu khin ..............................40
4.5 To k!ch bn.............................................................................................................42
4.5.1 Các k!ch bn SQL .............................................................................................42
4.5.2 Các k!ch bn vi h iu hành ..........................................................................44
Bài tp nhanh #3 – To mt k!ch bn cài #t cho c s d liu EXPRESS ..................45
4.6 Trung tâm tác v (Task Center) ...............................................................................48
4.6.1 C s d liu Tools Catalog .............................................................................48
4.7 Nht ký.....................................................................................................................49
4.8 Giám sát tình trng (health) .....................................................................................51
4.8.1 Trung tâm tình trng .........................................................................................51
Chng 5 - Môi trng ca DB2...................................................................................54
5.1 Cu hình DB2 ..........................................................................................................62
5.1.1 Các bin môi trng .........................................................................................63
5.1.2 Tp cu hình qun tr! c s d liu (dbm cfg)..................................................63
5.1.3 Tp cu hình c s d liu (db cfg) .................................................................. 65
5.1.4 &ng ký lý l!ch DB2 (profile)...........................................................................66
5.2 Máy ch qun tr! DB2..............................................................................................67
Phn II – Hc DB2: Qun tr C s d liu ..................................................................68
Chng 6 - Kin trúc ca DB2 .......................................................................................68
6.1 Mô hình x lý ca DB2 ...........................................................................................68
6.2 Mô hình b nh ca DB2.........................................................................................69
6.3 Mô hình lu tr ca DB2.........................................................................................70
6.3.1 Trang và phm vi ..............................................................................................70
6.3.2 Vùng nh m...................................................................................................70
6.3.3 Các không gian bng.........................................................................................73
Chng 7 – Kt ni máy khách DB2..............................................................................77
7.1 Tr giúp cu hình.....................................................................................................77
7.1.1 Nhng cài #t bt buc trên máy ch ...............................................................77
7.1.2 Nhng cài #t cn thit trên máy khách............................................................ 79
7.1.3 To lý l!ch cho máy khách và máy ch.............................................................82
Bài tp nhanh #4 – S dng Tr giúp thit lp cu hình ...............................................86
Chng 8 - Làm vic vi các i tng d liu ............................................................88
8.1 S ........................................................................................................................88
8.2 Bng .........................................................................................................................88
8.2.1 Kiu d liu.......................................................................................................89
8.2.2 Ct khoá chính (Identity columns) ...................................................................91
8.2.3 Các tng tun t (Sequence object) ........................................................... 92
8.2.4. Các bng danh sách h thng...........................................................................92
8.2.5. Khai báo các bng tm thi..............................................................................93
Bài tp nhanh #5 - Khi to mt bng mi.................................................................... 94
8.3 Các khung nhìn (Views) ..........................................................................................96
8.4 Các ch' mc (Index).................................................................................................96
8.4.1 Tr giúp thit k (Design Advisor)...................................................................97
8.5 Tính toàn v(n tham chiu.........................................................................................98
Chng 9 – Công c di chuyn d liu ........................................................................100
9.1 Công c EXPORT (xut) .......................................................................................101
9.2 Công c IMPORT (nhp).......................................................................................102
9.3. LOAD (np) ..........................................................................................................102
9.4 Công c db2move ..................................................................................................104
9.5 Công c db2look ....................................................................................................104
Nhp môn H qun tr c s d liu DB2
4
Bài tp nhanh #6 - Trích xut DDL t% c s d liu EXPRESS ................................. 107
Chng 10 – Bo mt c s d liu..............................................................................110
10.1 &!nh danh.............................................................................................................111
10.2 Quyn hn ............................................................................................................112
10.3 Quyn qun tr! c s d liu DBADM................................................................114
10.4 Nhóm PUBLIC ....................................................................................................115
10.5 Lnh GRANT và REVOKE.................................................................................115
10.6 Kim tra vic cp quyn và quyn .......................................................................115
10.7 Xem xét quyn trên nhóm....................................................................................117
Bài tp nhanh # 7: Cho phép và hy b) (phân quyn) quyn ngi s dng.............118
Chng 11 – Sao lu và khôi phc...............................................................................121
11.1 Nht ký c s d liu ........................................................................................... 121
11.2 Các kiu nht ký...................................................................................................122
11.3 Các kiu ghi nht ký.............................................................................................122
11.3.1 Ghi tun t quay vòng................................................................................... 122
11.3.2 Nht ký lu tr..............................................................................................123
11.4 Nht ký c s d liu t% Trung tâm iu khin....................................................123
11.5 Các tham s ca nht ký ..................................................................................... 124
11.6 Sao lu c s d liu............................................................................................125
Bài tp nhanh #8 - Lp l!ch sao lu .............................................................................127
11.7 Khôi phc c s d liu .......................................................................................129
11.7.1 Các kiu khôi phc d liu ...........................................................................129
11.7.2 Khôi phc c s d liu ................................................................................129
11.8 Các hot ng khác vi BACKUP và RESTORE ...............................................130
Chng 12 - Nhim v bo trì ......................................................................................131
12.1 REORG, RUNSTATS, REBIND ........................................................................131
12.1.1 Lnh REORG................................................................................................131
12.1.2 Lnh RUNSTATS......................................................................................... 132
12.1.3 BIND/REBIND.............................................................................................132
12.1.4 Các công vic duy trì t% Trung tâm iu khin............................................. 133
12.2 Các la chn bo trì .............................................................................................135
Bài tp nhanh #9 – Cu hình vic bo trì t ng ....................................................... 137
Chng 13 – Truy cp ng thi và khóa ...................................................................139
13.1 Các giao d!ch........................................................................................................139
13.2 Truy cp ng thi...............................................................................................140
13.3 Các vn khi không kim tra truy cp ng thi ..............................................141
13.3.1 Mt d liu cp nht ..................................................................................... 141
13.3.2 &c vi không cam kt .................................................................................142
13.3.3 &c không l#p li..........................................................................................142
13.3.4 &c th%a........................................................................................................143
13.4 Các mc cô lp.....................................................................................................144
13.4.1 &c vi không cam kt .................................................................................144
13.4.2 *n !nh con tr) .............................................................................................144
13.4.3 &c +n !nh...................................................................................................145
13.4.4 &c l#p li.....................................................................................................145
13.4.5 So sánh các mc cô lp d liu................................................................ 145
13.4.6 &#t mc cô lp ..............................................................................................146
13.5 Khóa leo thang .....................................................................................................147
13.6 Kim soát khóa ....................................................................................................148
13.7 Ch khóa.............................................................................................................. 148
Nhp môn H qun tr c s d liu DB2
5
13.8 Vn khóa ph thuc và phát hin....................................................................149
13.9 Truy cp ng thi và thc tin khóa tt nht .....................................................150
PHN 3: HC DB2 – PHÁT TRIN NG DNG ...................................................152
Chng 14 – Các th tc SQL PL................................................................................153
14.1 DB2 Developer Workbench.................................................................................154
14.1.2 To mt th tc lu trong DWB ...................................................................154
14.2 Mt s khái nim v th tc SQL PL ..................................................................158
14.2.1 Cu trúc ca th tc ......................................................................................158
14.2.2 Nhng thuc tính tùy chn ca th tc.........................................................158
14.2.3 Các loi tham s............................................................................................159
14.2.4 Chú thích trong th tc SQL PL ...................................................................159
14.2.5 Câu lnh ghép ............................................................................................... 160
14.2.6 Khai báo bin ................................................................................................160
14.2.7 Câu lnh gán .................................................................................................160
14.3 Các con tr) (cursor) .............................................................................................161
14.4 &iu khin lung..................................................................................................161
14.5 Gi th tc............................................................................................................162
14.6 Li và x lý iu kin ..........................................................................................163
14.7 SQL ng.............................................................................................................165
Chng 15 – Hàm ni tuyn, hàm ngi dùng nh ngha, các hàm x ký các s! kin
b"y (Inline SQL PL, UDF, Triggers)............................................................................166
15.1 Hàm ni tuyn SQL .............................................................................................166
15.2 B$y s kin (Triggers) .........................................................................................167
15.2.1 Các loi b$y s kin......................................................................................167
Bài tp nhanh #10 - Khi to mt b$y b,ng Trung tâm iu khin.............................170
15.3 Hàm ngi dùng !nh ngh-a (UDF)....................................................................172
15.3.1 Hàm vô hng ..............................................................................................172
15.3.2 Hàm bng ......................................................................................................173
Bài tp nhanh #11 - Khi to UDF s dng DB2 Developer Wordbench .................. 175
Chng 16 – SQL/XML và XQuery ............................................................................176
16.1 S dng XML vi các c s d liu ....................................................................176
16.2 C s d liu XML ..............................................................................................177
16.2.1 c s d liu h tr XML ............................................................................. 177
16.2.2 C s d liu thun XML ............................................................................. 178
16.3 XML trong DB2...................................................................................................178
16.3.1 .u im ca công ngh pureXML trong DB2 9 ..........................................179
16.3.2 Khái nim c bn v XPath ..........................................................................181
16.3.3 &!nh ngh-a XQuery.......................................................................................184
16.3.4 Chèn các tài liu XML..................................................................................185
16.3.5 Truy vn d liu XML.................................................................................. 188
16.3.6 Ni (join) vi SQL/XML..............................................................................193
16.3.7 Ni (Join) vi XQuery .................................................................................. 194
16.3.8 Các lnh cp nht và xóa ..............................................................................194
16.3.9 Ch' mc XML ............................................................................................... 195
Bài tp nhanh #12 – SQL/XML và XQuery ................................................................197
Chng 17 – Phát trin vi Java, PHP và Ruby.........................................................198
17.1 Phát trin ng dng b,ng Java ............................................................................. 198
17.1.1 Trình iu khin JDBC kiu 2 (type 2).........................................................198
17.1.2 Trình iu khin JDBC kiu 4 ......................................................................199
17.2 Phát trin ng dng b,ng PHP............................................................................. 200
Nhp môn H qun tr c s d liu DB2
6
17.2.1 La chn kt ni DB2 cho PHP.................................................................... 200
17.2.2 /ng dng công ngh Zend Core dành cho IBM...........................................201
17.3 Phát trin ng dng Ruby trên nn Rails .............................................................203
17.3.1 B công c phát trin DB2 trên nn Rails ....................................................203
A.1 Thêm thông tin v mã các li................................................................................204
A.2 SQLCODE and SQLSTATE ................................................................................ 205
A.3 Nht ký khai báo qun tr! DB2 ............................................................................. 205
A.4 db2diag.log............................................................................................................206
A.5 Theo vt CLI .........................................................................................................206
A.6 Khc phc và sa li trong DB2 ...........................................................................206
Các trang web ..............................................................................................................207
Sách..............................................................................................................................208
Nhp môn H qun tr c s d liu DB2
7
V cun sách này
Thông cáo và Nhãn hiu hàng hóa
Copyright IBM Corporation 2007
All right Reserved.
IBM Canada
8200 Warden Avenue
Markham, ON
L6G 1C7
Canada
Không c sao chép hoc s dng di bt k dng thc nào hoc dch sang ngôn
ng khác toàn b hoc bt c phn nào ca tài liu này mà không c s cho phép
trc ca ngi gi bn quyn trên.
IBM không m bo hay i din cho nhng ni dung c nêu ra ây và không chu
trách nhim v tính thng mi hoc tính hp lý cho bt kì mc ích nào. IBM cho rng
mình không có trách nhim vi bt k li nào trong tài liu này. Thông tin trong tài liu
này có th thay i mà không cn báo trc. IBM giành quyn c thay i và không
bt buc phi thông báo cho bt c ai v s thay i này. IBM không cam kt nhng
thông tin trong tài liu này là mi nht.
Các thông tin trong tài liu này liên quan n sn ph m không phi ca IBM ã có c
qua các nhà cung cp sn ph m ó. IBM không kim tra các sn ph m ó và không
kh!ng nh v tính chính xác khi thc hin, tính tng thích hoc bt k thc mc nào
liên quan n sn ph m không phi ca IBM. Các câu h"i v kh nng ca các sn
ph m không phi ca IBM cn c gi cho các nhà cung cp sn ph m ó.
IBM, biu tng IBM, DB2, DB2 Connect, DB2 Universal Database, i5/OS, pureXML,
WebSphere, và z/OS là nhãn hiu hàng hóa ã ng ký ca t#p oàn IBM ti M$, các
nc khác, hoc c hai.
Java và tt c các nhãn hiu Java là nhãn hiu hàng hóa ng ký ca công ty Sun
Microsystem, Inc. ti M$, các nc khác, hoc c hai.
Microsoft và Windows là nh%n hiu hàng hóa ca t#p oàn Microsoft ti M$, các nc
khác, hoc c hai.
Linux là nhãn hiu ng ký ca Linus Torvalds ti M$, các nc khác, hoc c hai.
Tên ca công ty khác, sn ph m, hoc dch v có th là nhãn hiu ng ký ca h&.
Trích d%n các sn ph m và dch v ca IBM trong tài liu này không có ngh'a là IBM a
chúng n tt c các quc gia mà IBM có hot ng.
Nhp môn H qun tr c s d liu DB2
8
Ai nên c cun sách này?
Quyn sách này giành cho bt k ai ang làm vic hoc mun làm vic vi c s d
liu, nh qun tr h c s d liu (DBAs), ngi phát trin ng dng, nhà t vn, kin
trúc phn mm, giám c sn ph m, giáo viên và sinh viên.
Cu trúc ca quyn sách này nh th nào?
Phn I, Tng quan và Cài t, gii thích n bn DB2 Express-C là gì, gii thiu h& sn
ph m DB2 và các chc nng, giúp ( cài t và to mi c s d liu, và khám phá các
công c s)n có ca DB2.
Phn II, H&c DB2: Qun tr c s d liu, c thit k bn làm quen vi môi trng,
kin trúc, kt ni t* xa, các i tng d liu, chuyn d liu (nh#p và xut d liu), an
toàn, sao lu và khôi phc, truy c#p +ng thi và khóa ca DB2, và các công vic bo trì
thông thng.
Phn III, H&c DB2: Phát trin ng dng, bao g+m th tc, hàm do ngi dùng nh
ngh'a, các b%y s kin, SQL/XML, XQuery, phát trin ng dng bng Java, PHP và
Ruby.
Ph lc có các thông tin cn thit v sa li.
Bài t#p ây là bài t#p nhanh, có hu ht các chng, tt c các tp cn thit thc
hin bài t#p này có th tìm thy tp nén expressc_book_quicklabs.zip i kèm theo
sách này, hoc s, tìm thy trang web ca IBM DB2 Express-C, a ch-
www.ibm.com/db2/express
Tài liu ca cun sách c.ng c s dng làm bài ging ca chng trình “DB2 vi /i
h&c” (DB2 on Campus). Cun sách này c.ng giúp bn chu n b cho bài kim tra ca
chng trình “DB2 vi /i h&c”, chng trình y ca nó bài h&c vi 16 gi trên lp.
Bn có th xem thêm thông tin v chng trình này trang DB2 Express-C, a ch-
www.ibm.com/db2/express/students.html.
Mt quyn sách do cng ng làm và giành cho cng ng
/i ng. làm DB2 Express-C ã có sáng kin làm quyn sách này cung cp mi0n phí
cho cng +ng. Vit và ch-nh lý mt cun sách là vic làm khó khn. Mc ích ca
chúng tôi là ni dung cun sách s, c duy trì và m rng bng vic tham gia ca
cng +ng DB2 Express-C. Nu bn mun óng góp ý kin, óng góp nhng ni dung
mi nâng cao ni dung hin ti hoc dch cun sách này sang ngôn ng khác, làm
n gi k hoch thc hin v a ch- vi tiêu “DB2 Express-C
book changes.”
Tác gi và nhng ngi óng góp
Nhng ngi sau ây ã cung cp ni dung và có các óng góp có ý ngh'a cho cun
sách này
Tên /n v Chc danh Tài liu óng góp Ngày
Raul F. Chong IBM G/ chng trình
“DB2 vi /i h&c”
Bn tho tt c các
chng
Tháng 5 –
2007
Ian Hakes IBM Cng +ng DB2
Express-C
Xem li và sa cha Tháng 5, 6
– 2007
Rav Ahuja IBM G/ sn ph m DB2 Xem li, c#p nh#t và
trình bày cun sách
Tháng 7-10
- 2007
Nhp môn H qun tr c s d liu DB2
9
Li cm n
Chúng tôi chân thành cm n các cá nhân sau ây vi s tr giúp
- Ted Wasserman, Clara Liu và Paul Yip phòng thí nghim IBM Toronto, ngi
ã phát trin ng dng trong khuôn kh cun sách này
- Don Chamberlin và Cindy Saracco vi các bài báo ca h& v XQuery ng trên
developerWorks, và Matthía Nicola vi bài trình bày v pureXML.
- Kevin Czap và Grant Hutchingson vi các tài liu k$ thu#t v phát trin DB2
- Katherine Boyachok vi thit k bìa
- Susan Visser giúp ( xut bn cun sách này
Nhp môn H qun tr c s d liu DB2
10
Li cm n bn ting Vit
/ có c bn dch ting Vit này, rt nhiu các bn sinh viên ã tham gia dch và hiu
ính. Chúng ta t hào rng ây úng là mt quyn sách do cng +ng và vì cng +ng.
Vì trình và thi gian hn ch, dù có th còn nhiu khim khuyt, nhng rt mong các
bn ón nh#n nó nhit tình và óng góp ý kin cho bn dch hoàn thin hn. Hy v&ng
rng các bn sinh viên s, tip tc chuyn n cng +ng nhng n ph m mi, vi
cht lng chc chn tt hn.
Danh sách sinh viên tham gia dch và hiu ính:
H và tên Trng
1 Bùi Thanh Sn /H Bách Khoa Hà Ni
2 Châu Uyên Minh H&c vin Công ngh Bu chính Vi0n thông TPHCM
3 /ng Chin Công Coltech Hà Ni
4 / Bá Lâm /H Bách khoa Hà Ni
5 / Tun Anh
6 / Tun Anh /H Khoa h&c T nhiên, Tp HCM
7 Hà Thúy Hng /H Khoa h&c T nhiên, Tp HCM
8 Hà Tun Trung /H Bách Khoa Hà Ni
9 Hà Tun Trung
10 Hoàng Minh Hin Trung Ði H&c Công Ngh, VNU Hà Ni
11 Hunh Hu Hip H&c Vin công ngh BCVT
12 Hunh Minh Tân /H Khoa H&c Tu Nhien, Tp HCM
13 Lê Anh /c /H Bách Khoa Hà Ni
14 Lê Bá Tr&ng /H Khoa h&c T nhiên, Tp HCM
15 Lê Hunh Công Tho /H Công ngh Thông tin, Tp HCM
16 Lê Nguy0n Thúy An /H Công ngh Thông tin, Tp HCM
17 Lê Thành Huy /H Cn Th
18 Ngô Phi Thành /i h&c Duy Tân, /à N)ng
19 Nguy0n Anh Khoa /H Khoa h&c T nhiên, Tp HCM
20 Nguy0n Chin Thng /HBK /à N)mg
21 Nguy0n Hi Phong /H Bách Khoa Hà Ni
22 Nguy0n Hoàng Minh Quc
23 Nguy0n Hùng Thông /H S phm K$ thu#t, Tp. HCM
24 Nguy0n Hu Th& /H Khoa h&c T nhiên, Tp HCM
25 Nguy0n Lng Sn /i h&c Duy Tân, /à N)ng
26 Nguy0n Minh Châu /H Khoa h&c T nhiên, Tp HCM
27 Nguy0n Minh Tun /H Bách khoa Hà Ni
28 Nguy0n Minh Tun
29 Nguy0n Ng&c Duy
30 Nguy0n Ng&c Trí /H S phm K$ thu#t, Tp. HCM
31 Nguy0n Thành Trung /H Bách khoa Hà Ni
32 Nguy0n Th Phúc /i h&c Duy Tân, /à N)ng
33 Nguy0n Th Diu Hng /H Khoa h&c Hu
34 Nguy0n Th H+ng Hà /H Bách Khoa Hà Ni
35 Nguy0n Th Kim Phng
/H Công ngh Thông tin, Tp HCM
36 V. Th Lan Chi
/H Công ngh Thông tin, Tp HCM
37 Nguy0n Trang
38 Nguy0n Trung Hiu /H Khoa h&c T nhiên, Tp HCM
39 Nguy0n Vn Nam /H Khoa h&c Hu
40 Nguy0n Vn Nam /H Khoa h&c Hu
Nhp môn H qun tr c s d liu DB2
11
41 Nguy0n Xuân Trng /H Khoa h&c T nhiên, Tp HCM
42 Phm Ng&c Huy /i h&c Công ngh-/i h&c quc gia Hà ni
43 Phm Th Minh Hin /H Bách khoa /à N)ng
44 Phm V$ Tun
45 Quách Tiêu Thu#n Trung tâm Công ngh Phn mm - /H Cn Th
46 Thái Quang Hòa /H Khoa h&c Hu
47 Thái Tuyn /i h&c Nông Lâm tp. HCM
48 Trn Anh Huy /i h&c Duy Tân, /à N)ng
49 Trn Th Thúy Trinh /H Bách Khoa /à N)ng
50 Trn Vn Tn /H Bách khoa Hà Ni
51 Trn Vn Tn
52 Trn Vng Trung
53 Tun Vit
Nhp môn H qun tr c s d liu DB2
12
Li nói u
Sáng to là s t phá ca các tin b công ngh. Ti IBM, sáng to ã tr thành ci
ngu+n ca s phát trin c s d liu. Là ngi i tiên phong trong k$ thu#t qun tr d
liu trong nhng nm 60 và 70, chúng tôi tip tc a ra nhng sáng to công ngh v
qun tr thông tin, biu hin bng hàng nghìn ng ký phát minh v qun tr d liu ca
nhng nhà công ngh ca IBM. Kt qu là, mt s các t chc ln nht hành tinh ngày
nay ã tin tng vào các sn ph m ca IBM nh DB2 v#n hành các gii pháp có nhu
cu cao nht, qun tr nhng d liu ti quan tr&ng ca h&.
Tuy nhiên DB2 không ch- dành cho các doanh nghip ln. Vi vic a ra bn DB2
Express-C, công ngh ni ting DB2 ã s)n sàng cho các doanh nghip v*a và nh" - và
không bt buc phi mt chi phí! Mc dù còn có các sn ph m mi0n phí hay các phn
mm ngu+n m khác, DB2 Express-C trao cho bn sc mnh duy nht vt trên tt c
các la ch&n cùng loi.
Có rt nhiu sáng to công ngh hin din trong DB2 Express-C. Mt s trong chúng
nhm vào kh nng tiên tin mi, mt s khác li hng ti gim thiu gánh nng qun
tr, mt s khác na li ci thin hiu nng, gim chi phí h tng. Chúng tôi s, không
trình bày chúng ây, hy v&ng các bn s, b cun hút khi &c quyn sách này – chúng
tôi ch- xin mô t mt vn hóc búa nht.
DB2 Express-C c xây dng trên nn công ngh “Viper”, nó là c s d liu lai u
tiên qun lý c d liu quan h và d liu XML di dng b m sinh. /iu này làm cho
DB2 tr nên rt lý tng cho các xu hng mi ca ng dng SOA và Web 2.0 trong ó
các lu+ng d liu XML là rt nhiu. Không ging vi h qun tr c s d liu ca các
hãng thng mi khác, DB2 Express-C không gii hn dung lng d liu lu tr trong
c s d liu hay s lng c s d liu bn có th to ra trong h thng. Và tt nhiên,
nu bn cn tr giúp h tr t* IBM, bn ch- cn nhn chut vào nút Help.
Cun sách này dùng giúp nhng ngi mi bt u s dng DB2 Express-C, nó s,
giúp bn hiu các khái nim ca DB2 và cho phép bn phát trin k$ nng qun tr c.ng
nh phát trin ng dng DB2. K$ nng và s hiu bit nh#n c t* cun sách này có
liên quan rt nhiu n các bn DB2 tiên tin hn trên Linus, UNIX và Windows.
Mc dù DB2 Express-C không phi là sn ph m mã ngu+n m, IBM chúng tôi v%n rt tin
tng vào s h tr và c v. t* cng +ng. Tôi vui m*ng c thy cun sách này do
các thành viên ca cng +ng DB2 Express-C phát trin và phát hành mi0n phí cho
cng +ng. Tôi mong các bn c#p nh#t, làm giàu thêm kin thc ca cun sách vi hiu
bit, kinh nghim ca các bn, và giúp dch cun sách này sang các ngôn ng khác,
nh v#y nhng ngi khác s, có li t* s hiu bit ca bn.
Arvind Krishna
Phó ch tch, C s d liu
Ban Qun tr thông tin, Nhóm phn mm IBM
Nhp môn H qun tr c s d liu DB2
13
1
Phn I – Tng quan và Cài t
Chng 1 - DB2 Express-C là gì?
DB2 Express-C là mt sn ph m thuc dòng IBM DB2 – phn mm máy ch d liu
qun lý c d liu quan h và d liu XML. DB2 Express-C là n bn DB2 c dùng
mi0n phí, không hn ch và d0 s dng. Ch C trong DB2 Express-C là vit tt ca
Community (Cng +ng). Ngh'a là cng +ng nhng ngi s dng DB2 Express-C kt
hp li h tr l%n nhau c trc tuyn và không trc tuyn. Cng +ng DB2 Express-C
bao g+m các cá nhân và các công ty thit k, phát trin, trin khai, hay s dng các gii
pháp c s d liu nh:
• Các nhà phát trin ng dng có nhu cu v mt phn mm c s d liu chu n
m xây dng các ng dng c l#p, dng khách-ch, dng nn web hoc các
ng dng ln.
• ISVs – các nhà cung cp phn mm c l#p, các nhà cho thuê phn cng, c s
h tng hay nhng ngi cung cp gii pháp, mun óng gói mt máy ch d
liu vi y tính nng nh là mt phn trong các gii pháp ca h&.
• Ngi c vn, qun tr d liu, và kin trúc s công ngh thông tin, nhng ngi
cn mt máy ch d liu mnh t h&c t#p, phát trin k$ nng, ánh giá hoc
th nghim.
• Các công ty mi thành l#p, v*a và nh" cn mt máy ch d liu tin c#y cho công
vic và ng dng ca h&.
• Nhng ngi yêu thích c s d liu, say mê tìm hiu công ngh mun có mt
máy ch d liu d0 s dng xây dng ng dng Web 2.0 hay các ng dng
th h sau.
• Sinh viên, giáo viên hay nhng h&c gi mun có mt máy ch d liu linh hot
ging dy, h&c t#p, nghiên cu.
DB2 Express-C có y các tính nng c bn nh các n bn DB2 thng mi trên
nn Linux, UNIX và Windows. DB2 Express-C có th chy trên c h thng 32-bit hoc
64-bit ca Linux hay Windows. Nó c ti u cho các h thng ti a 2 b x lý, b
nh 4GB, và không yêu cu bt k mt b nh chuyên dng hay các cài t h thng
nào khác. DB2 Express-C c.ng bao g+m pureXML, pureXML là mt công ngh c
trng ca DB2 dùng lu tr và x lý các vn bn XML b m sinh.
1.1 T do phát trin, trin khai và phân phi…không có gii hn!
Các t tng ct lõi ca DB2 Express-C g+m:
• T do phát trin: Nu bn là ngi phát trin ng dng và cn mt c s d
liu cho ng dng ca mình, bn có th s dng DB2 Express-C.
Nhp môn H qun tr c s d liu DB2
14
• T do trin khai: Nu bn ang làm vic trong l'nh vc sn xut và cn mt c
s d liu lu tr các thông tin quan tr&ng, bn có th dùng DB2 Express-C.
• T do phân phi: Nu bn ang phát trin mt ng dng hay mt công c cn
óng gói vi mt máy ch d liu, bn c.ng có th dùng DB2 Express-C. DB2
Express-C mi0n phí ngay c khi c óng gói vào trong ng dng ca bn,
c phân phi mi khi bn bán ng dng ca mình. Bn ch- cn ng ký vi
IBM tái phân phi DB2 Express-C. Tt nhiên vic ng ký c.ng hoàn toàn
mi0n phí.
• Không gii hn: Trong khi các i th cnh tranh a ra các gii hn v kích
thc c s d liu, nhng DB2 Express-C thì không t gii hn nào c. C s
d liu ca bn có th c tip tc m rng mà không h vi phm iu khon
s dng. C.ng không có gii hn nào v s lng kt ni hay s ngi s dng
trên mi máy ch.
1.2 H tr k thut
Nu bn có bt k thc mc k$ thu#t nào v DB2 Express-C, bn có th ng câu h"i
ca bn lên di0n àn ca DB2 Express-C. Di0n àn này c iu hành bi mt i
DB2 Express-C, nhng chính cng +ng s, là nhng ngi gii áp trên c s t
nguyn. IBM c.ng cho phép ngi dùng mua bn quyn theo nm vi giá thp (còn
c g&i là Bn quyn 12 tháng hay Bn quyn thi hn c nh FTL (Fixed Term
License)). Vic mua này s, cho phép ngi dùng c h tr k$ thu#t 24×7 c.ng nh
c#p nh#t phn mm. Vi khon phí thp hng nm ($2,995 trên mt máy ch mt nm
M$ - có th thay i các nc khác) bn s, c hng các quyn li v h tr và
bo trì phn mm cho máy ch DB2 Express-C, bn c.ng có thêm hai tính nng na là:
tính s)n sàng phc h+i sau khi gp s c (HARD - High Availability Disaster Recovery)
và di trú d liu truy vn (SQL replication - tái to li d liu vi các máy ch DB2
khác).
1.3 Các máy ch DB2
Tt c các n bn máy ch DB2 u có chung các thành phn lõi; Các n bn này c
óng gói thu#n tin ngi s dng có th la ch&n các tính nng cn thit vi giá c
hp lý. Hình 1.1 th hin s khác nhau gia các n bn ca DB2.
Hình 1.1 - Các máy ch DB2
Nh trên hình 1.1, n bn DB2 Express-C c.ng ging nh n bn DB2 Express ch- thiu
i mt s thành phn. DB2 Express-C là hoàn toàn mi0n phí. C.ng nh ã nói trên,
ngi dùng luôn c s)n sàng h tr k$ thu#t t* di0n àn, hoc có th nh#n s h tr
chính thc 24x7 ca IBM nu tr phí 12 tháng.
Nhp môn H qun tr c s d liu DB2
15
Hình 1.1 c.ng cho thy kh nng nâng cp t* DB2 Express-C lên bt kì n bn máy ch
DB2 nào khác, vì tt c các máy ch DB2 u có chung thành phn lõi. /iu này có
ngh'a là tt c các ng dng c phát trin trên mt n bn v%n s, hot ng trên các
n bn khác mà không cn phi ch-nh sa. Và bt kì k$ nng nào bn h&c c t* mt
n bn u áp dng c cho các n bn khác.
1.4 Máy khách DB2
Mt máy khách DB2 bao g+m các chc nng cn thit kt ni vi máy ch DB2. Tuy
nhiên, không phi lúc nào c.ng cn cài t mt máy khách DB2. Ví d, mt ng dng
JDBC (Java DataBase Connectivity) kiu 4 có th ni th!ng ti máy ch DB2, ch- cn có
trình iu khin thích hp. Máy khách DB2 g+m nhng loi sau:
• Máy khách DB2: y nht, bao g+m các công c + h&a, các trình iu khin.
• Máy khách DB2 runtime client: Có các chc nng c bn kt ni, c.ng bao
g+m các trình iu khin.
• Máy khách DB2 runtime kt hp Mô-un cho Windows: c s dng ch yu
trên máy khách DB2 runtime nh là mt phn cài t cho các ng dng ca
Windows.
Hình 1.2 cho ta thy các máy khách khác nhau và các trình iu khin s)n có.
Hình 1.2 - Các máy khách DB2 và các trình iu khin
Trên phn bên trái ca hình 1.2, tt c các máy khách DB2 và trình iu khin c th
hin. Mc dù tt c các máy khách DB2 u bao g+m trình iu khin cn thit, trong
DB2 9 chúng tôi v%n cung cp nhng trình iu khin riêng bit. Các máy khách DB2 và
các trình iu khin u mi0n phí và có th c ti v t* trang web DB2 Express-C.
Các máy khách và các trình iu khin có th c s dng kt ni n máy ch
DB2 trên nn Linux, Unix, hoc Windows. / kt ni n DB2 trên máy ch z/OS® hoc
DB2 trên máy ch i5/OS®, bn cn phi thông qua máy ch kt ni DB2 (DB2 Connect
nm gia hình 2). Chúng ta s, tho lu#n v phn mm DB2 Connect trong Chng 2.
Nhp môn H qun tr c s d liu DB2
16
1.5 T do phát trin phn mm ng dng
DB2 to ra mt môi trng phát trin ng dng da trên các chu n và trong sut i vi
h& sn ph m DB2. Vic s dng SQL chu n trong các dòng sn ph m DB2 s, cung cp
mt t#p các giao din l#p trình ng dng (API) thông dng cho vic truy nh#p c s d
liu.
Thêm vào ó, mi sn ph m DB2 cung cp các b tin-dch (pre-compiler) cho phép nhà
phát trin nhúng các câu lnh SQL t'nh và ng trong các chng trình ng dng kh
chuyn. DB2 còn có mt s)n công c qun lý .NET có th tích hp vi các công c
Microsoft® Visual Studio.
Các ngôn ng và các chu n có th c s dng vi DB2 là:
• Ruby trên nn Rails
• C/C++(ODBC và SQL nhúng)
• JDBC và SQLJ
• COBOL
• Borland
• Python
• PHP
• Perl
• Ngôn ng .NET
• OLE-DB
• ADO
• Dch v Web (Web Service)
• SQL
• Microsoft Office: Excel, Access, Word
1.6 Phiên bn và n bn DB2 (version and edition)
Nu bn mi làm quen vi DB2, bn có th b bi ri mt chút v s khác bit gia các
phiên bn DB2 (version) và các n bn DB2 (edition).
Vài nm mt ln, IBM công b mt phiên bn mi ca DB2. Mt phiên bn bao g+m các
tính nng mi và a nhng ci tin áng k vào sn ph m. Hin ti, phiên bn DB2 8
và DB2 9 c h tr chính thc bi IBM. Mt phiên bn c.ng có th có mt vài ln
phát hành, có th bao g+m mt vài chc nng mi nhng thông thng không rõ
ràng nói rng ây là mt phiên bn mi. Ví d 8.1 và 8.2 là các ln phát hành vi
phiên bn DB2 8. Trong thi gian v*a qua, IBM thng a ra mt ln phát hành mi
ca DB2 mi nm mt ln, tuy nhiên nhng phiên bn mi thng c a ra cách
nhau t* 2-3 nm. Ln phát hành mi nht n thi im hin ti, V9.1 (trc ây c
g&i là DB2 “Viper”) tr thành phiên bn chính thc vào mùa hè nm 2006. Khi cun sách
này c vit (tháng 9/2007), ln phát hành tip theo (có tên là DB2 “Viper 2”) ã có
phiên bn beta. Mi ln phát hành c.ng có th cha nhiu mc ch-nh sa, thng cha
nhng phn vá li tc là tng ng vi các chng trình sa li (fixpack), và rt ít khi
cha nhng tính nng mi. Ti thi im này, phiên bn, phát hành, ch-nh sa (Version-
Release-Modification/ V-R-M) ca DB2 là 9.1.2 tng ng vi phiên bn 9.1 cùng vi
b chng trình sa li 2.
Trên mt ni dung khác, các n bn là nhng la ch&n hoc nhóm các gói tính nng
trong mi phiên bn. Nh ã c#p, mt n bn là mt gói nhng chc nng khác nhau
vi giá thành và bn quyn xác nh. DB2 phiên bn 9 (c.ng c bit ti vi tên DB2
9) có nhiu n bn; ví d: DB2 express-C 9, DB2 Express 9, DB2 Workgroup 9, và DB2
Enterprise 9 (xem hình 1.1)
Nhp môn H qun tr c s d liu DB2
17
1.7 Chuyn sang n bn DB2 khác
Khi c s d liu ca bn cn m rng, có th bn s, cn nâng cp n bn DB2 h tr
cu hình phn cng ln hn. Nu trng hp này xy ra, rt d0 dàng nâng cp lên
mt n bn khác ca DB2:
• Nu bn nâng cp lên mt n bn DB2 khác trên cùng mt máy, cài t n bn
DB2 mi è lên DB2 Express-C, cùng vi bn quyn tng ng. C s d liu
ca bn s, không b xóa (nhng chúng ta v%n nên sao lu c s d liu trc
khi nâng cp).
• Nu bn nâng cp DB2 trên mt máy mi, ln hn và s dng chung mt h
iu hành vi máy c., hãy cài t n bn DB2 mi trên máy mi, sao lu d liu
trên máy c. và khôi phc li nó trên máy mi. Bn c.ng có th lu các cu hình
trên máy c. (dbm cfg) và cài t cu hình này trên máy mi. Các lnh sao lu và
khôi phc s, c nói rõ hn trong Chng 11 Sao lu và Khôi phc, dbm cfg
s, c nói rõ hn trong Chng 5, Môi trng DB2.
• Trong bt kì trng hp nào, ng dng ca bn u không phi sa cha s
dng DB2.
1.8 Bo trì DB2 Express-C
Nh ã nói trc ây, có hai la ch&n h tr cho DB2 Express –C:
1. Mua mt bn quyn 12 tháng. /iu này s, cung cp cho bn h tr 24x7 t* b
ph#n h tr k' thu#t ca IBM, +ng thi còn cho bn kh nng cài t các c#p nh#t
ca DB2 (còn c g&i là các chng trình sa li fixpack).
2. S dng di0n àn cng +ng DB2 Express-C trc tuyn. Cách này hoàn toàn
mi0n phí, tuy nhiên bn s, không có c s h tr chính thc nào t* IBM. /+ng
thi, vi cách này, IBM không cam kt cung cp nhng chc nng mi và nhng
bn vá li nh thi gian ã nh. /nh ngh'a v mt chng trình sa li, c nói
n trong Chng 2, c.ng s, không có ý ngh'a ây, thay vì v#y mt bn cài t
mi ca DB2 Express-C s, c c.ng cp trên trang web cho các ngi dùng ti
v. Khi IBM a ra bt kì s ch-nh sa mi nào trong DB2, bn có th tìm thy bn
cài t mi này và thay th cho bn DB2 c. bn ang dùng.
1.9 Mt s phn mm min phí liên quan
Tt c các phn mm có th c ti t* trang ti phn mm ca DB2 Express-C
(www.ibm.com/db2/express/download.html) u là phn mm mi0n phí. Bên cnh
nhng bn DB2 Express-C (cho Linux và Windows, c kin trúc 32 và 64 bit), còn có
nhng phn mm hu dng có th c ti và s dng mi0n phí nh:
• DB2 Developer Workbench
• DB2 9 Embedded Application Server
• DB2 9 Net Search Extender
Ngoài ra bn có th ti v b công c khi u da trên DB2 Express-C t* trang web
IBM Alphaworks (www.alphaworks.ibm.com/datamgmt). B công c này bao g+m:
• Starter toolkit for DB2 on Rails
• Web 2.0 Starter Toolkits for DB2
1.9.1 DB2 Developer Workbench (công c phát trin)
DB2 Developer Workbench (DBW) là mt môi trng phát trin tích hp mnh (IDE) cho
phép bn to ra, sa cha, g( ri, trin khai và kim tra các th tc c lu tr SQL
PL và Java, c.ng nh các hàm do ngi dùng nh ngh'a (User defined function UDFs),
các ng dng SQLJ, khi to và thc thi các câu lnh SQL và các truy vn XML. Công
Nhp môn H qun tr c s d liu DB2
18
c này da trên Eclipse IDE và thay th IBM Development Center ca các phiên bn
DB2 trc ây. Chúng ta s, tho lu#n DBW trong chng 14, Các th tc lu tr SQL
PL.
1.9.2 DB2 9 Embedded Application Server (máy ch nhúng)
Embedded Application Server cho phép bn chy các ng dng Web c h tr vi
DB2 phiên bn 9.1 mà không yêu cu bn phi mua thêm mt máy ch ng dng riêng
bit. Các ng dng Web c h tr vi DB2 phiên bn 9.1 bao g+m:
• Các công c Web DB2 dành cho ngi qun tr c s d liu nn web.
• DB2WebServer, mt ng dng t ng trin khai các dch v web .NET t*
Microsoft Visual Studio n DB2 Embedded Application Server..
1.9.3 DB2 9 Net Search Extender (m rng tìm kim trên mng)
Vi DB2 9 Net Search Extender bn có th thc thi nhanh và chi tit các tìm kim ni
dung vn bn (full-text), bao g+m bt c tài liu XML nào c lu tr b m sinh trong
DB 9.1
1.9.4 B công c bt u Rails cho DB2
B công c bt u Rail cho DB2 là mt t#p các sn ph m và công ngh c óng gói
tin li cho phép to ra nhanh chóng mt môi trng xây dng các ng dng Web
DB2 s dng công ngh Ruby trên nn Rails. Tt c các phn mm c yêu cu bao
g+m: DB2 Express-C, trình iu khin DB2 cho Ruby, b thích nghi (adapter) DB2 vi
Rails, bên cnh ó là các hng d%n, ví d, và nhng tài liu h&c t#p khác. Chúng ta s,
tho lu#n Ruby trên nn Rails Chng 17, S phát trin trong Java, PHP và Ruby.
1.9.5 B công c bt u Web 2.0 dành cho DB2
B công c bt u Web 2.0 dành cho DB2 là mt cách d0 dàng bt u vi DB2,
PHP và Dojo. Nó giúp cho bn trin khai các yêu cu phn mm, cung cp cho bn các
bài hng d%n và các bn ng dng trình di0n (demo). Hai trong s các ng dng trình
di0n là Atom Feed Control Panel, nó khi to các Atom ly t* các bng DB2, và Web
Services Control Panel to ra các bao ph dch v Web REST xung quanh các bng
DB2 ca bn. C hai ng dng u da trên Dojo h tr y kh nng ni b#t ca
Ajax và kh nng m rng.
Nhp môn H qun tr c s d liu DB2
19
2
Chng 2 – Các tính n ng liên quan và các sn ph!m
Chng này mô t các tính nng ca DB2 i kèm trong vic mua giy phép s dng 12
tháng ca DB2 Express-C. Ngoài ra còn mt s tính nng khác không có trong DB2
Express-C, nhng là mt phn ca nhng n bn DB2 khác, trong trng hp có tr
thêm phí.
Nhng tính nng có trong DB2 Express-C có bn quyn 12 tháng
• B chng trình sa li (Fixpacks)
• Tính s)n sàng cao và Khôi phc sau s c (High Availability and Disaster
Recovery- HADR )
• Di trú d liu (SQL hp nht)
Nhng tính nng không có mt trong DB2 Express-C nhng có mt trong các n bn
DB2 khác là:
Các tính nng ca n bn DB2 Enterpirse có phí:
• Tính nng phân tán c s d liu (DPF)
• Tính nng ti u hóa lu tr d liu (k c nén)
• /iu khin truy nh#p mc cao (an toàn mc cao và c chia nh" tt)
• Ti u s thc thi (kim soát các truy vn, chuyên nghip trong thc thi)
• Qun lý d liu o c
• S liên kt hp nht d liu DB2
DB2 Enterprise c.ng bao g+m nhng tính nng c thêm vào mi0n phí nh
• Phân tán bng (phm vi)
• Các bng truy vn c c th hóa (Materializated Query Tables MQT)
• K$ thu#t bó a chiu (Multi-dimensional Clustering - MDC)
• Tính s)n sàng cao và kh nng phc h+i sau s c (HADR)
• B t#p trung kt ni (Connection Concenstrator)
Các tính nng ca n bn DB2 Workgroup và Express có phí
• Tính s)n sàng cao
• Qun lý công vic (B t#p trung kt ni, b kim soát truy vn)
• Ti u hiu nng (MQT, MDC, truy vn song song)
• S liên kt hp nht d liu DB2
Các sn ph m có phí có liên quan ti DB2:
• DB2 Connect
• WebSphere® Federation Server - Máy ch nhóm WebSphere
• WebSphere Replication Server - Máy ch di trú WebSphere
Nhp môn H qun tr c s d liu DB2
20
2.1 Các tính n ng bao hàm trong ng ký s" dng DB2 Express-C
Phn này im qua các chng trình sa li DB2, s di trú HADR và SQL.
2.1.1 Các chng trình s"a li
Mt chng trình sa li DB2 là mt t#p các sa li c áp dng cho mt sn ph m
DB2 ã c cài t, nhm mc tiêu sa các vn khác nhau c báo cáo sau khi
sn ph m c phát hành. Vi mt ng ký s dng có bn quyn, các chng trình
sa li có th c ti xung và cài t mi0n phí. Chúng thng c a ra ba tháng
mt ln.
/ ti chng trình sa li mi nht, xem trang h tr k$ thu#t ca DB2 ti a ch-
2.1.2 Tính s#n sàng cao và khôi phc sau s c (HADR)
Tính s)n sàng cao và khôi phc sau s c là tin c#y ca d liu, nó cung cp mt
gii pháp s)n sàng và khôi phc sau s c cho s suy sp toàn phn hoc mt phn.
Mt môi trng HADR thông thng bao g+m hai máy ch d liu, máy ch chính và
ph (có th c t ti nhng ni khác nhau). Máy ch chính là ni c s d liu gc
c lu tr và truy c#p bi các trình ng dng ti máy khách. Trong khi các giao dch
c tin hành trên c s d liu chính, các bn ghi nh#t ký d liu c chuyn t
ng n máy ch th cp (máy ch ph) thông qua h thng mng. Máy ch th cp
có mt bn sao ca c s d liu chính, thng c to ra bng cách sao lu c s
d liu chính và khôi phc nó ti h thng th cp. Khi các bn ghi nh#t ký d liu c
nh#n v, chúng c thc thi li và áp dng cho c s d liu th hai.Thông qua vic
thc hin li các bn ghi nh#t ký này, c s d liu th hai c +ng b hóa vi c s
d liu chính và có th thay th c s d liu chính nu có s c xy ra.
Mt gii pháp HADR h tr DB2 y cung cp cho bn:
1 Kh nng phc h+i cc nhanh, trong sut tuyt i vi khách hàng và các ng
dng ti máy trm
1 Giao dch y t*ng thành phn nh" tránh mt mát d liu
1 Kh nng nng cp h thng hoc nâng cp ng dng mà không gây ngt quãng
i vi dch v
1 Kh nng thay th h thng t* xa, cung cp kh! nng phc h+i y cho a
im b s c
1 Qun tr d0 dàng vi các công c + h&a ca DB2
1 Tt c các kh nng trên có nh hng không áng k vi hiu nng tng th
ca h thng
2.1.3 Kh n ng tái to d liu (di trú d liu)
Tính nng này cho phép tái to d liu gia máy ch ngu+n ni các thay i d liu
c ghi li, và mt máy ch ích ni các thay i d liu c áp dng. Hình 2.1 cung
cp tng quan v cách tái to d liu.
Nhp môn H qun tr c s d liu DB2
21
Hình 2.1 – Khôi phc SQL
Trong hình 2.1 có hai máy ch, mt máy ch ngu+n và mt máy ch ích. Trên máy ch
ngu+n, mt chng trình “chp” ghi nh#n li các thay i i vi c s d liu. Trên
máy ch ích, mt chng trình “áp dng” thc hin các thay i cho c s d liu nh
th#t. Kh nng tái to d liu hu dng cho rt nhiu mc ích cn n d liu c tái
l#p, bao g+m gim ti dung lng truyn, np d liu vào các kho cha d liu hay các
“ch” d liu (data marts), và kim tra lch s thay i. S dng tính nng tái to d liu,
bn có th tái to d liu gia DB2 Express-C và các máy ch DB2 khác, bao g+m c
nhng máy s dng các h thng khác nh Linux, UNIX, z/OS và i5/OS.
2.2 Các tính n ng không có trong bn DB2 Express-C
Phn này miêu t mt vài tính nng có trong các bn DB2 khác mà không trong DB2
Express-C
2.2.1 Phân vùng c s d liu
Tính nng phân vùng c s d liu (DPF) ch- có trong n bn DB2 Enterprise vi mt
mc phí ng ký b sung. Nó cho phép các c s d liu có th c tri ra trên nhiu
phân vùng khác nhau, t trên nhiu máy tính. DPF da trên kin trúc không chia s2
(share-nothing architecture). Mi máy tính, do c thêm vào nhóm phân vùng, mang
theo sc mnh x lý d liu vi CPU và b nh ca chúng. DPF c bit hu dng
trong môi trng máy ch c s d liu ln nh các kho cha d liu ni mà các truy
vn ca h tr giúp quyt nh (DSS) c thc thi.
2.2.2 B tp trung kt ni
B t#p trung kt ni là tính nng cho phép h tr mt lng ln ngi dùng kt ni ti
mt thi im. Trc ây, mi kt ni c s d liu cn n mt tác t (agent) c s d
liu. B t#p trung kt ni gii thiu khái nim tác t lô-gic, cho phép mt tác t x lý
nhiu kt ni. Các tác t c bàn n k$ hn trong chng 6, kin trúc DB2.
Nhp môn H qun tr c s d liu DB2
22
2.2.3 B m rng không gian $a lý
B m rng không gian a lý ca DB2 t+n ti nh mt la ch&n có phí cho n bn DB2
Enterprise. Phn m rng này làm vic phát trin cho các ng dng chính ph in t
hoc các ng dng có qui trình nghip v yêu cu phân tích các v trí a lý c d0
dàng hn. B m rng không gian a lý ca DB2 có th cu thành mt th gii a lý o
vi bt k t3 l nào. Hu ht các thông tin v trí c thu th#p s dng các h thng toàn
cu, nh h thng nh v v tinh toàn cu (GPS), và có th c th hin trong h kinh
/v' . Các d liu kinh doanh, nh a ch-, có th c chuyn i thành t&a kinh
tuyn/v' tuyn nh b m rng không gian ca DB2 (DB2 Spatial Extender) và các
chng trình ng dng doanh nghip làm vic tt hn khi chúng lu tr d liu theo
nh dng này, phép chiu tng ng lên bn + c thng nht các ng dng
khác nhau: lp trình bày, hin th và in các bn +.
2.2.4 B kim soát truy vn
B kim soát truy vn ca DB2 là mt h thng qun lý truy vn mnh, có th iu khin
lu+ng các truy vn ti c s d liu DB2 ca bn. Nó cho phép bn iu ch-nh li khi
lng công vic ca truy vn d liu, do ó các truy vn nh" và có mc u tiên cao có
th chy nhanh chóng, m bo các tài nguyên h thng c s dng hiu qu.
2.3 Các sn ph!m có tr phí liên quan n DB2.
2.3.1 DB2 Connect
DB2 Connect là mt phn mm da trên vic tr phí cho phép mt máy khách DB2
Linux, UNIX hay Windows kt ni n mt máy ch DB2 z/OS hay DB2 i5/OS nh trong
hình 2.2. DB2 Connect không c yêu cu trong quá trình liên kt theo chiu ngc
li, khi bn kt ni t* DB2 z/OS hay DB2 i5/OS dn mt máy ch DB2 Linux, UNIX hay
Windows. DB2 Connect có trong hai n bn chính tùy theo s kt ni mà bn cn: DB2
Connect Personal Edition và DB2 Connect Enterprise Edition.
Hình 2.2. DB2 Connect
2.3.2 WebSphere Federation Server
/c bit n trc ây là WebSphere Infomation Integrator (h tr tích hp thông tin),
WebSphere Federation Server cho phép s liên kt hp nht các c s d liu, iu
này ngh'a là bn có th chy các truy vn c s d liu trên nhiu i tng t* các h
thng c s d liu quan h khác nhau. Ví d nu bn mua WebSphere Federation
Server bn có th chy truy vn di ây:
Nhp môn H qun tr c s d liu DB2
23
SELECT *
FROM Oracle.Table1 A
DB2.Table2 B
SQLServer.Table3 C
WHERE
A.col1 < 100
And B.col5 = 1000
and C.col2 = ’Test’
Hình 2.3 cung cp s gii thiu v kh nng s dng ca WebSphere Federation Server
Hình 2.3 - WebSphere Federation Server
/i vi các h thng qun lý c s d liu quan h thuc h& IBM, s h tr liên kt hp
nht ã c xây dng s)n trong DB2 Express-C. /iu này ngh'a là WebSphere
Federation Server không cn c òi h"i., ví d khi bn mun chy mt truy vn gia
hai c s d liu DB2 khác nhau, hoc gia mt c s d liu DB2 và mt c s d
liu Informix® (Infomix là mt phn trong h& IBM).
2.3.3 WebSphere Replication Server
/c bit trc ây là WebSphere Infomation Integrator (h tr tích hp thông tin).
WebSphere Replication Server cho phép s to li SQL trong các bn ghi c s d liu
khi các máy ch không phi ca IBM tham gia vào. Nó c.ng bao g+m mt tính nng
c bit n là Q-Replication cho s tái to d liu s dng các hàng i thông ip.
Nhp môn H qun tr c s d liu DB2
24
3
Chng 3 - Cài t DB2
/ cài t n bn DB2 Express-C cho Linux hay Windows, m bo rng các h thng
ca bn th"a mãn các iu kin trc khi cài t.
3.1 Các iu kin trc khi cài t
4 khía cnh phiên bn h iu hành, DB2 Express-C có th c s dng trên Linux
hay Windows 2000, XP, Vista. Kin trúc b x lý c yêu cu là 32 bít, 64 bít và
PowerPC (Linux). Nu bn cn chy DB2 trên mt nn khác (ging nh UNIX), bn nên
mua mt trong nhng n bn máy ch d liu khác ã c nói n trc ây trong
quyn sách này. Các iu kin ca h iu hành trc khi cài t cho tt c các n bn
DB2 c.ng c miêu t trong tài liu này.
Trong khía cnh v các tài nguyên phn cng, DB2 Express-C c ti u hóa cho các
h thng lên ti 2 CPU v#t lý và 4GB RAM. Các h thng này có th là các h thng v#t
lý hay các h thng o c to ra bi s phân tán hoc vic chy các phn mm máy
o. Bn có th d' nhiên chy nó trong các h thng nh" hn nu bn mun, ví d trong
các h thng n CPU vi 1GB RAM.
/ có c nhng thông tin mi nht v các iu kin ca phn cng trc khi cài t
DB2 Express-C, hãy xem trên trang web DB2 Express-C.
3.2 Quyn cài t h iu hành
/ cài t DB2 Express-C trên Linux hay Windows, bn phi là mt ngi s dng h
iu hành có quyn.
Vi Linux: bn cn phi là root (superuser) cài t DB2 Express-C.
Vi Windows, tài khon ngi s dng phi thuc v nhóm Qun tr trên máy mà bn
s, thc hin cài t. Mt cách khác, mt tài khon ngi dùng không thuc nhóm Qun
tr có th c s dng, vi iu kin là mt thành viên thuc nhóm Qun tr Windows
u tiên cu hình các thit l#p nâng quyn Windows cho phép mt tài khon ngi
dùng không thuc nhóm Qun tr có th thc thi cài t.
Vi các tài khon min (domain) Windows, xác thc nh danh (ID) ca ngi dùng
trên máy ch DB2, ID ca ngi tin hành cài t phi thuc nhóm Qun tr ti min
(domain) mà các tài khon này s, c to. Có th s dng tài khon s)n có (built-in)
trên h thng tin hành cài t.
Tài khon ngi dùng c.ng phi có quyn “Truy c#p máy tính này qua mng”