N H P M Ô N DB2 Express-C R A U L C H O N G, I A N H A K E S, R A V A H U J A L i n ó i u D R . A R V I N D K R I S H N A M t cu n sách c a c ng ng dành cho c ng ng 2 Nhp môn H qun tr c s d liu DB2 Xut bn ln th ba (tháng 6 nm 2009) Tài liu này s dng cho IBM DB2 Express-C phiên bn 9.7 vi h iu hành Linux, UNIX và Windows Bn quyn thuc công ty IBM Mc Lc V cun sách này 9 Thông cáo và Nhãn hiu hàng hóa 9 Ai nên c cun sách này? 10 Cu trúc ca quyn sách này nh th nào? 10 Mt cun sách giành cho cng ng 11 Tác gi và nhng ngi óng góp 12 Li cm n 12 Li cm n ca bn ting Vit 13 Li nói u 16 PHN I – TNG QUAN VÀ CÀI T 17 Chng 1 – DB2 Express-C là gì? 18 1.1 T do phát trin, trin khai và phân phi… không có gii hn! 19 1.2 Tr giúp ngi dùng và h tr k thut 19 1.3 Các máy ch DB2 20 1.4 Máy khách DB2 và các trình iu khin (drivers) 20 1.5 T do phát trin ng dng 22 1.6 Phiên bn và n bn DB2 23 1.7 Chuyn sang n bn DB2 khác 23 1.8 Bo trì và cp nht cho DB2 Express-C 24 1.9 Phn mm min phí liên quan và các thành phn DB2 24 1.9.1 IBM Data Studio 24 1.9.2 DB2 Text Search 25 1.9.3 WebSphere Application Server – n bn cng ng (Community Edition) 25 1.10 Tóm tt 25 Chng 2 – Các sn phm và tính nng liên quan 26 2.1 Các tính n ng kèm theo vi DB2 Express bn tr phí (FTL) 29 2.1.1 Các gói s!a li 29 2.1.2 Tính s"n sàng cao và khôi phc sau s c (High Availability Disaster Recovery - HADR) 29 2.1.3 Nhân bn d liu 30 2.2 Các tính n ng không có trong bn DB2 Express-C 31 2.2.1 Phân vùng c s d liu 32 2.2.2 Connection Concentrator - B tp trung kt ni 32 2.2.3 Geodetic Extender - B m rng không gian a lý 32 2.2.4 Label-based Access Control (LBAC) - Kim soát truy cp da trên nhãn 32 2.2.5 B qun lý ti công vic (Workload Manager – WLM) 33 2.2.6 Nén sâu 34 2.2.7 Tng thích vi SQL 35 2.3 Nhng sn ph#m có tr phí liên quan n DB2 36 2.3.1 DB2 Connect 36 2.3.2 InfoSphere Federation Server 37 2.3.3 InfoSphere Replication Server 38 2.3.4 Optim Development Studio (ODS) 38 2.3.5 Optim Database Administrator (ODA) 39 4 Nhp môn H qun tr c s d liu DB2 2.4 Các cung cp DB2 trên Cloud ca Amazon 39 2.5 Tóm tt 39 Chng 3 - Cài t DB2 40 3.1 Các iu kin cn trc khi cài $t 40 3.2 Quyn cài $t h iu hành 40 3.3 Cài $t theo th thut (hng d%n t&ng bc) 41 3.4 Kim tra li cài $t 48 3.5 Cài $t hàng lot (Silent Install) 49 3.6 Tóm tt 50 3.7 Bài tp nhanh 51 Chng 4 – Môi trng ca DB2 55 4.1 Cu hình DB2 64 4.1.1 Các bin môi trng 65 4.1.2 Tp cu hình qun tr c s d liu (dbm cfg) 65 4.1.3 Tp cu hình c s d liu (db cfg) 68 4.1.4 ' ng ký lý lch DB2 69 4.2 Máy ch qun tr DB2 (deprecated 1 ) 70 4.3 Tóm tt 71 4.4 Bài tp 71 Chng 5 – Các công c ca DB2 76 5.1 IBM Data Studio 78 5.2 Control Center (deprecated) 79 5.2.1 Khi ng Control Center 82 5.3 Nhp lnh trc tip (deprecated) 83 5.3.1 Chy trình Nhp lnh trc tip 84 5.3.2 Thêm mt kt ni c s d liu 84 5.4 Th thut tr giúp SQL (deprecated) 85 5.5 Nút “Show SQL” (deprecated) 87 5.6 Trung tâm tác v (deprecated) 88 5.6.1 C s d liu Tools Catalog (deprecated) 89 5.7 Nht ký( - Journal (deprecated) 90 5.7.1 Khi chy Journal 91 5.8 Health Monitor (deprecated) 92 5.8.1 Health Center 92 5.9 Qun l(í b nh t ng 94 5.10 Kch bn 94 5.10.1 Các kch bn SQL 95 5.10.2 Kch bn h iu hành (Shell) 96 5.11 Xét ti h iu hành Windows Vista 97 1 Deprecated: nhng tính n ng phiên bn hin nay còn h tr, nhng có th không c h tr na các phiên bn sau. Các tính n ng này s) c kt hp trong IBM Data Studio Mc lc 5 5.12 Kt lun 97 5.13 Bài tp 98 PHN II – HC DB2: QUN TR C S D LIU 103 Chng 6 - Ki n trúc DB2 104 6.1 Mô hình x! lý DB2 104 6.2 Mô hình b nh DB2 106 6.3 Mô hình lu tr DB2 107 6.3.1 Các trang và phn m rng 108 6.3.2 Vùng m (Buffer pool) 108 6.3.3 Không gian bng – Table spaces 110 6.4 Tóm tt 116 6.5 Bài tp 116 Chng 7 – K t ni máy khách DB2 120 7.1 Các th mc DB2 120 7.1.1 Th mc c s d liu h thng 120 7.1.2 Th mc c s d liu cc b 121 7.1.3 Th mc nút 121 7.1.4 Th mc DCS 121 7.2 Công c tr giúp cu hình (deprecated) 121 7.2.1 Các cài $t cn thit trên máy ch 122 7.2.2 Các cài $t cn thit trên máy khách 125 7.2.3 To lý lch cho máy khách và máy ch 129 7.3 Tóm tt 132 7.4 Bài tp 132 Chng 8 - Làm vic vi các i t!ng c s" d# liu 135 8.1 Lc (schemas) 135 8.2 Tên công cng ho$c bí danh (public synonyms or public aliases) 136 8.3 Bng (tables) 137 8.3.1 Kiu d liu 137 8.3.2 Ct khoá chính (Identity columns) 142 8.3.4 Các bng danh sách h thng 143 8.3.5 Khai báo các bng t*ng quát tm thi (DGTTs) 144 8.3.6 To bng tm t*ng quát (CGTTs) 146 8.4 Khung nhìn 147 8.5 Ch+ mc 147 8.5.1 Tr giúp thit k (Design Advisor) 147 8.6 Toàn v,n tham chiu 149 8.7 Tin hóa ca lc (Schema Evolution) 150 8.8 Tóm tt 152 8.9 Bài tp 152 Chng 9 -$%&c tin 'ch di chuy(n d# liu 156 9.1 Tin -ch EXPORT 157 9.2 Tin -ch IMPORT 158 9.3 Tin -ch LOAD 159 6 Nhp môn H qun tr c s d liu DB2 9.4 Công c db2move 161 9.5 Công c db2look 161 9. 6 Tóm tt 164 9.7 Bài tp 164 Chng 10 - Bo m)t C s" d# liu 168 10.1 Chng thc 169 10.2 Quyn hn 170 10.2.1 '$c quyn 170 10.2.2 Quyn hn (authorities) 171 10.2.3 Vai trò 176 10.3 Xem xét vic nhóm các $c quyn 177 10.4 Nhóm PUBLIC 177 10.5 Lnh GRANT và REVOKE 177 10.6 Vic kim tra quyn và $c quyn 178 10.7 Tính n ng bo mt m rng trên Windows 180 10.8 Tóm tt 180 10.9 Bài tp 180 Chng 11 – Sao lu và Khôi phc 185 11.1 Nht kí c s d liu 185 11.2 Các kiu nht kí 186 11.3 Các kiu ghi nht kí 187 11.3.1 Ghi tun t quay vòng 187 11.3.2 Ghi nht kí lu tr 188 11.4 Ghi nht kí c s d liu t& Trung tâm iu khin 189 11.5 Các tham s ca nht kí 191 11.6 Sao lu c s d liu 192 11.7 Khôi phc c s d liu 194 11.7.1 Các kiu khôi phc d liu 194 11.7.2 Phc hi c s d liu 195 11.8 Thao tác khác vi câu lnh BACKUP và RESTORE 195 11.9 Tóm tt 196 11.10 Bài tp 196 Chng 12 – Nhim v bo trì 199 12.1 REORG, RUNSTATS, REBIND 199 12.1.1 Lnh REORG 200 12.1.2 Lnh RUNSTATS 200 12.1.3 BIND / REBIND 201 12.1.4 Các công vic bo trì t& Control Center (Trung tâm 'iu khin) 202 12.2 Các la chn bo trì 203 12.3 T*ng kt 205 12.4 Bài tp 205 Chng 13 - Truy c)p ng thi và khóa 208 13.1 Giao dch (Transactions) 208 13.2 Truy xut ng thi (Concurrency) 209 Mc lc 7 13.3 Mt s vn nu không có s kim soát truy cp ng thi 210 13.3.1 Mt d liu cp nht (lost update) 210 13.3.2 'c d liu không hoàn tt ( Uncommited read) 211 13.3.3 'c d liu không th l$p li (Non-repeatable read) 212 13.3.4 'c d liu th&a (Phantom read) 213 13.4 Các mc cô lp 214 13.4.1 'c không cam kt 215 13.4.2 .n nh con tr/ 215 13.4.3 'c *n nh 217 13.4.4 'c l$p li 217 13.4.5 So sánh các mc cô lp d liu 218 13.4.6 '$t mc cô lp 218 13.5 Khóa leo thang 220 13.6 Kim soát khóa 221 13.7 Ch khóa 222 13.8 Vn khóa cht và phát hin 222 13.9 Truy cp ng thi và thc tin khóa tt nht 224 13.10 Tóm tt 225 13.11 Bài tp 225 PHN III – HC DB2: PHÁT TRI*N +NG D,NG 231 Chng 14 – Gii thiu vic phát tri(n ng dng vi DB2 233 14.1 Phát trin ng dng DB2: Bc tranh ln 233 14.2 Phát trin ng dng phía máy ch 235 14.2.1 Các th tc lu 235 14.2.2 Các hàm ngi dùng nh ngha 236 14.2.3 Các b%y s kin 236 14.3 Phát trin ng dng phía máy khách 237 14.3.1 SQL nhúng 237 14.3.2 SQL tnh và SQL ng 238 14.3.3 CLI và ODBC 240 14.3.4 JDBC, SQLJ và pureQuery 244 14.3.5 OLE DB 245 14.3.6 ADO.NET 246 14.3.7 PHP 248 14.3.8 Ruby on Rails 248 14.3.9 Perl 249 14.3.10 Python 249 14.4 XML và DB2 pureXML 250 14.5 Dch v Web 250 14.6 Các API qun lý 252 14.7 Các phát trin khác 252 14.7.1 Làm vic vi Microsoft Access và Microsoft Excel 252 14.8 Các công c phát trin 254 14.9 Các chng trình m%u 254 8 Nhp môn H qun tr c s d liu DB2 14.10 Tóm tt 255 Chng 15 - DB2 pureXML 256 15.1 S! dng XML vi c s d liu 257 15.2 C s d liu XML 257 15.2.1 C s d liu có h tr XML 257 15.2.2 C s d liu thun XML 258 15.3 XML trong DB2 259 15.3.1 0u im ca công ngh pureXML 260 15.3.2 C bn v XPath 262 15.3.3 C bn v XQuery 265 15.3.4 Chèn các tài liu XML 267 15.3.5 Truy vn d liu XML 270 15.3.6 Kt ni vi SQL/XML 277 15.3.7. Kt ni vi XQuery 278 15.3.8 Các thao tác cp nht và xóa 278 15.3.9 'ánh ch+ mc XML 281 15.4 Làm vic vi lc XML 282 15.4.1 ' ng kí lc XML 282 15.4.2 Kim tra tính hp l theo lc XML 285 15.4.3 Các h tr XML khác 286 15.5 Tóm tt 287 15.6 Bài tp 287 Ph lc A – Kh-c phc s. c 289 A.1 Tìm thêm thông tin v các mã li 290 A.2 SQLCODE và SQLSTATE 290 A.3 Nht ký thông báo qun tr DB2 291 A.4 db2diag.log 291 A.5 Theo vt CLI 292 A.6 Khim khuyt và s!a li trong DB2 292 Ph lc B – Tham kho và Tài nguyên 293 B.1 Tham kho 293 B.2 Các trang Web: 293 B.3 Sách 295 B.4 Email liên h 296 V cun sách này Thông cáo và Nhãn hiu hàng hóa © Copyright IBM Corporation 2007, 2009 All right Reserved. IBM Canada 8200 Warden Avenue Markham, ON L6G 1C7 Canada Không c phép sao chép hay mô ph/ng tài liu này ho$c mt phn ca tài liu này di bt c hình thc hay thông qua bt c phng tin nào ho$c theo cách phiên dch ra mt ngôn ng khác mà không có s ng ý trc ca tt c các ch s hu tác quyn nêu trên. IBM không có bo m ho$c tuyên b nào liên quan n ni dung này và c th là chi b/ bt c s m bo mang tính hàm ý/suy din nào v giá tr thng mi hay tính phù hp i vi bt c mc ích c th nào. IBM không chu trách nhim v bt c sai sót nào có kh n ng tn ti trong tài liu này, bao gm nhng không gii hn trong phm v các sai sót trong quá trình dch thut. Các thông tin c bao hàm trong tài liu này là i tng chu s thay *i mà không cn thông báo. IBM bo lu quyn thc hin bt c s thay *i nào nh th mà không có ngha v thông báo cho bt c cá nhân nào v các trng hp iu ch+nh hay thay *i nh th. IBM không a ra bt c cam kt nào i vi vic cp nht các thông tin c bao hàm trong tài liu này. Các thông tin trong tài liu này có liên quan n các sn ph#m không phi ca IBM, do các nhà cung cp các sn ph#m y cung cp. IBM cha th! nghim các sn ph#m y và không th xác nhn tính chính xác v tình trng hot ng, kh n ng tng thích ho$c các kh1ng nh có liên quan các sn ph#m không phi ca IBM. 'i vi các vn thc mc có liên quan n hiu qu ca các sn ph#m không phi ca IBM, xin liên h vi các nhà cung cp các sn ph#m này. IBM, biu tng IBM, và ibm.com là nhãn hiu hàng hóa ã ng ký ca tp oàn IBM trên toàn th gii. Tên sn ph#m và dch v khác có th là nhãn hiu hàng hóa ã ng ký ca IBM ho$c các công ty khác. Danh sách các nhãn hiu ã ng ký ca IBM c ng ti ti mc “Copyright and trademark information” ca trang www.ibm.com/legal/copytrade.shtml. 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 M2, các nc khác, ho$c c hai. Microsoft và Windows là nhãn hiu hàng hóa ca tp oàn Microsoft ti M2, các nc khác, ho$c c hai. Linux là nhãn hiu ng ký ca Linus Torvalds ti M2, các nc khác, ho$c c hai. UNIX là nhãn hiu ng ký ca The Open Group ti M2, các nc khác, ho$c c hai. Nhng tên ca công ty, sn ph#m hay dch v khác có th là nhãn hiu ã ng k(ý ca các công ty khác. Các mc tham kho trong sn ph#m xut bn này có liên quan n các sn ph#m hay dch v ca IBM không mang hàm ý r3ng IBM có ý nh phát trin các sn ph#m mi quc gia mà IBM có c s hot ng. 10 Nhp môn H qun tr c s d liu DB2 Ai nên /c cun sách này? Quyn sách này giành cho bt k4 ai ang làm vic ho$c 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 quy(n sách này nh th nào? Phn I, T*ng 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 n ng, giúp 5 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, Hc 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 (nhp và xut d liu), an toàn, sao lu và khôi phc, truy cp ng thi và khóa ca DB2, và các công vic bo trì thông thng. Phn III, Hc DB2: Phát trin ng dng, gii thiu vic phát trin ng dng trên DB2, bao gm phát trin ng dng trên máy ch, trên máy khách. C6ng tho lun v SQL/XML, XQuery, và pureXML. Ph lc có các thông tin cn thit v s!a li. Bài tp i kèm vi phn ln các chng; và c6ng cung cp các tp u vào cn thit thc hành, nó c nén trong tp expressc_book_quicklabs.zip i kèm theo sách này. Tài liu ca cun sách c6ng c s! dng làm bài ging ca chng trình “DB2 vi 'i hc” (DB2 on Campus), và rt sát vi b ng video các trình bày có th thy trang web www.channelDB2.com/oncampus. 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. Chú ý: ' bit thêm thông tin v chng trình “DB2 on Campus”, xem video a ch+ http://www.channeldb2.com/video/video/show?id=807741:Video:3902. Cun sách này là ln xut bn th 3, chúng tôi ã có nhiu thay *i và b* xung. Vi nhng ngi ã c cun xut bn ln 2 v DB2 9.5, chúng tôi ã ánh du các bn có th thy các thay *i ã c cp nht phiên bn DB2 9.7. Các phn có thay *i các bn có th d dàng nhn thy b3ng biu tng. [...]... không c s gi i h n v kích th c c s d li u, trong khi ó v%n c c ng ch c n ng lõi và c ng ngh pureXML nh c c n b n kh c c a DB2 DB2 Express- C h tr m t m ng r ng l n bao g m c c khách hàng, c c nhà phân ph i, c c ngôn ng phát tri n và nó cung c p c ch nâng c p d dàng sang c c n b n DB2 kh c 2 Ch ng 2 – C c s n ph m và tính n ng liên quan Ch ng này miêu t c c tính n ng DB2 c kèm theo v i b n tr phí c a... 9.7 C c tính n ng mà b n c th mua riêng l@ c c li t kê b3ng tên cho phiên b n DB2 t ng ng và c ánh d u v i n n xám nh t Ch c n ng S nhân b n SQL ng nh t (replication) Liên h th ng ng nh t (Federation) Net Search B n DB2 Express tr phí (FTL) B n DB2 Express C C B n DB2 Workgroup Server Edition (WSE) C B n DB2 Enterprise Server Edition (ESE) C C C C C C C C C C C C C C C C C C C C ... hi n t i ho $c d ch cu n sách này sang ngôn ng kh c, làm n g!i k ho ch th c hi n v a ch+ db2x@ca.ibm.com v i tiêu DB2 Express- C book changes.” Thành c ng c a cu n sách này ã ti p thêm s c m nh cho vi c phát tri n thêm h n 25 cu n sách cung c p tr c tuy n v c c s n ph#m c a IBM, và c v c ng ngh ngoài IBM n a Cu n sách này là m t ph n c a T sách Giành cho c ng ng (Community Book Series), c a ra vào tháng... n ph#m c a IBM nh DB2 v n hành c c gi i pháp c nhu c u cao nh t, qu n tr nh ng d li u t i quan tr ng c a h Tuy nhiên DB2 không ch+ dành cho c c doanh nghi p l n V i vi c a ra b n DB2 Express- C, c ng ngh n i ti ng DB2 ã s"n sàng cho c c doanh nghi p v&a và nh/ - và không b t bu c ph i m t chi phí! M $c dù c n c c c s n ph#m mi n phí hay c c ph n m m ngu n m kh c, DB2 Express- C trao cho b n s c m nh... tr c s d li u DB2 1.8 B o trì và c) p nh)t cho DB2 Express- C B n c i $t c a DB2 Express- C c làm m i theo nh k4 Nh ng c p nh t này th ng i kèm v i s xu t hi n c a c c b n phát hành ho $c c c phiên b n m i ho $c khi c m t s l ng áng k l i c a s n ph#m Trong quá kh , nh ng c p nh t cho DB2 Express- C th ng th c hi n 1 n m m t l n Tuy nhiên, chú ý r3ng DB2 Express- C là m t b n mi n phí không i kèm v i c c. .. tr c s d li u DB2 1.3 C c máy ch DB2 T t c c c phiên b n máy ch DB2 u c chung thành ph n lõi, chúng c óng gói cho ng i dùng c th ch n nh ng ch c n ng c n thi t v i m c giá phù h p Hình 1.1 minh h a c c phiên b n DB2 kh c nhau DB2 Enterprise Edition DB2 Workgroup Edition DB2 Express Edition DB2 Express- C + Extra functionality + Extra functionality + Extra functionality Hình 1.1 – Máy ch DB2 Nh ta th... hàng n m c a b n c duy trì p n t t 1.9 Ph n m m mi5n phí liên quan và c c thành ph n DB2 T t c c c ph n m m c t i v mi n phí t i trang t i v c a DB2 Express- C (www.ibm.com /db2/ express/ download.html) Bên c nh ph n m m DB2 Express- C, c n c nh ng ph n gói ph n m m h u ích c th c t i v và s! d ng mi n phí: Visual Studio Add-ins DB2 Spatial Extender C nh ng c ng c b* sung d a trên DB2 Express- C c t i v... n kéo th ch không c n l p trình IBM Data Studio thay th c c công c DB2 nh Control Center và Command Ch ng 1 – DB2 Express- C là gì? 25 Editor ã l i th i (chúng i kèm v i DB2 nh ng không c phát tri n ti p n a) IBM Data Studio c th o lu n chi ti t trong Ch ng 5, c c công c DB2 1.9.2 DB2 Text Search Tìm ki m v n b n DB2 (DB2 Text Search) là m t thành ph n tích h p tùy ch n c a DB2 Nó c trang b c ng ngh... Windows M $c dù DB2 Express- C không ph i là s n ph#m mã ngu n m , IBM chúng tôi v%n r t tin t ng vào s h tr và c* v6 t& c ng ng Tôi vui m&ng c th y cu n sách này do c c thành viên c a c ng ng DB2 Express- C phát tri n và phát hành mi n phí cho c ng ng Tôi mong c c b n c p nh t, làm giàu thêm ki n th c c a cu n sách v i hi u bi t, kinh nghi m c a c c b n, và giúp d ch cu n sách này sang c c ngôn ng kh c, nh... DB2 Ch C trong DB2 Express- C là vi t t t c a t& C ng ng(Community) M t c ng ng nh ng ng i s! d ng DB2 Express- C k t h p l i giúp 5 nhau, c tr c tuy n và không tr c tuy n C ng ng DB2 Express- C bao g m nhi u c nhân và c c công ty thi t k , phát tri n, tri n khai hay s! d ng c c gi i pháp c c d li u C c thành viên c a c ng ng bao g m: Nh ng nhà phát tri n ng d ng c n n m t ph n m m c s d li u chu#n . hoch th c hin v a ch+ db2x@ca.ibm.com vi tiêu DB2 Express- C book changes.” Thành c ng c a cun sách này ã tip thêm s c mnh cho vi c phát trin thêm hn 25 cun sách cung c p tr c. tr c s d liu DB2 1.3 C c máy ch DB2 Tt c c c phiên bn máy ch DB2 u c chung thành phn lõi, chúng c óng gói cho ngi dùng c th chn nhng ch c n ng c n thit vi m c giá. phí! M $c dù c n c c c sn ph#m min phí hay c c phn mm ngun m kh c, DB2 Express- C trao cho bn s c mnh duy nht vt trên tt c c c la chn c ng loi. C rt nhiu sáng to c ng ngh