Bài giảng Nhập môn hệ quản trị cơ sở dữ liệu DB2
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Nhập môn hệ quản trị cơ sở dữ liệu DB2", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
- bai_giang_nhap_mon_he_quan_tri_co_so_du_lieu_db2.pdf
Nội dung text: Bài giảng Nhập môn hệ quản trị cơ sở dữ liệu DB2
- N H P M Ô N DB2 Express-C Mt cun sách ca cng ng dành cho cng ng by the co mmunity 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 K H Ó N G C H L D L I U
- Nhp môn H qun tr c s d liu DB2 1 Xut bn ln hai (tháng 2 nm 2008) Tài liu này s dng cho IBM DB2 Express-C phiên bn 9.5 vi h i u hành Linux, UNIX và Windows Bn quy n thuc công ty IBM
- 2 Nhp môn H qun tr c s d liu DB2
- Nhp môn H qun tr c s d liu DB2 3 Mc Lc V cun sách này 8 Thông cáo và Nhãn hiu hàng hóa 8 Ai nên c cun sách này? 9 C u trúc c a quyn sách này nh th nào? 9 Mt quyn sách do cng ng làm và giành cho cng ng 9 Tác gi và nhng ngi óng góp 10 Li cm n 11 Li cm n bn ti ng Vit 12 Li nói u 14 Phn I – Tng quan và Cài t 15 Ch ng 1 – DB2 Express-C là gì? 15 1.1 T do phát trin, trin khai và phân phi không có gii hn! 15 1.2 H tr k thut 16 1.3 Các máy ch DB2 16 1.4 Máy khách DB2 17 1.5 T do phát trin phn mm ng dng 18 1.6 Phiên bn và n bn DB2 (version and edition) 18 1.7 Chuyn sang n bn DB2 khác 19 1.8 Bo trì DB2 Express-C 19 1.9 Mt s phn mm min phí có liên quan 19 1.9.1 IBM Data Studio (b công c phát trin) 20 1.9.2 DB2 9 Embedded Application Server (máy ch nhúng) 20 1.9.3 DB2 9.5 Net Search Extender (m rng tìm ki m) 20 1.9.4 B công c bt u Rails cho DB2 20 1.9.5 B công c bt u Web 2.0 dành cho DB2 20 Ch ng 2 – Các tính nng liên quan và các s n phm 21 2.1 Các tính nng bao hàm trong ng ký s dng DB2 Express-C 23 2.1.1 Các chng trình s a li 23 2.1.2 Tính s!n sàng cao và khôi phc sau s c (HADR) 23 2.1.3 Kh nng tái to d liu (di trú d liu) 24 2.2 Các tính nng không có trong bn DB2 Express-C 25 2.2.1 Phân vùng c s d liu 25 2.2.2 B tp trung k t ni 25 2.2.3 B m rng không gian "a lý 25 2.2.4 B kim soát truy v n 25 2.3 Các sn ph#m có tr phí liên quan n DB2 25 2.3.1 DB2 Connect 25 2.3.2 WebSphere Federation Server 26 2.3.3 WebSphere Replication Server 27 Ch ng 3 – Cài t DB2 29 3.1 Các iu kin trc khi cài $t 29 3.2 Quyn cài $t h iu hành 29 3.3 Cài $t theo hng d%n t&ng bc 30 3.4 Cài $t hàng lot (Silent Install) 34 Bài tp nhanh #1: Cài $t DB2 Express-C và to ra c s d liu m%u 35 Ch ng 4 - Môi tr ng ca DB2 39 Bài tp nhanh #2 - To mt CSDL mi 47 4.1 C u hình DB2 47 4.1.1 Các bi n môi trng 48
- 4 Nhp môn H qun tr c s d liu DB2 4.1.2 Tp c u hình qun tr" c s d liu (dbm cfg) 48 4.1.3 Tp c u hình c s d liu (db cfg) 50 4.1.4 'ng ký lý l"ch DB2 (profile). 51 4.2 Máy ch qun tr" DB2 52 Bài tp nhanh #3 – Làm vic vi th hin, c s d liu và c u hình 53 Ch ng 5 – Các công c DB2 55 5.1 Trung tâm iu khin 56 5.2 Nhp lnh trc ti p 59 5.3 Trình tr giúp SQL 61 5.4 Nút “Show SQL” 63 Bài tp nhanh #4: S dng k"ch bn vi c s d liu EXPRESS 64 5.5 To k"ch bn 65 5.5.1 Các k"ch bn SQL 65 5.5.2 Các k"ch bn vi h iu hành 66 Bài tp nhanh #5 – To mt k"ch bn cài $t cho c s d liu EXPRESS 67 5.6 Trung tâm tác v (Task Center) 70 5.6.1 C s d liu Tools Catalog 70 5.7 Nht ký 71 5.8 Giám sát tình trng (health) 73 5.8.1 Trung tâm tình trng 73 Phn II – Hc DB2: Qu n tr C s d liu 77 Ch ng 6 – Kin trúc ca DB2 77 6.1 Mô hình quy trình x lý c a DB2 77 6.2 Mô hình b nh c a DB2 79 6.3 Mô hình lu tr c a DB2 80 6.3.1 Trang và phm vi 80 6.3.2 Vùng nh m 80 6.3.3 Các không gian bng 83 Ch ng 7 – Kt ni máy khách DB2 87 7.1 Th mc DB2 87 7.2 Tr giúp c u hình 88 7.2.1 Nhng cài $t bt buc trên máy ch 88 7.2.2 Nhng cài $t cn thi t trên máy khách 90 7.2.3 To lý l"ch cho máy khách và máy ch 93 Bài tp nhanh #6 – S dng Tr giúp thi t lp c u hình 97 Ch ng 8 – Làm vic vi các i t ng d liu 99 8.1 S 99 8.2 Bng 99 8.2.1 Kiu d liu 100 8.2.2 Ct khoá chính (Identity columns) 102 8.2.3 Các i tng tun t (Sequence object) 103 8.2.4. Các bng danh sách h thng 103 8.2.5. Khai báo các bng tm thi 104 Bài tp nhanh #7 – Khi to mt bng mi 105 8.3 Các khung nhìn (Views) 107 8.4 Các ch( mc (Index) 107 8.4.1 Tr giúp thi t k (Design Advisor) 108 8.5 Tính toàn v)n tham chi u 109 Ch ng 9 – Tin ích di chuyn d liu 111 9.1 Công c EXPORT (xu t) 112
- Nhp môn H qun tr c s d liu DB2 5 9.2 Công c IMPORT (nhp) 113 9.3. LOAD (np) 113 9.4 Công c db2move 115 9.5 Công c db2look 115 Bài tp nhanh #8 – Trích xu t DDL t& c s d liu EXPRESS 118 Ch ng 10 – B o mt c s d liu 121 10.1 '"nh danh 122 10.2 Quyn hn 123 10.3 Quyn qun tr" c s d liu DBADM 125 10.4 Nhóm PUBLIC 126 10.5 Lnh GRANT và REVOKE 126 10.6 Kim tra vic c p quyn và quyn 126 10.7 Xem xét quyn trên nhóm 128 Bài tp nhanh #9 – Cho phép và h y b* (phân quyn) quyn ngi s dng 129 Ch ng 11 – Sao l u và khôi phc 131 11.1 Nht ký c s d liu 131 11.2 Các kiu nht ký 132 11.3 Các kiu ghi nht ký 132 11.3.1 Ghi tun t quay vòng 132 11.3.2 Nht ký lu tr 133 11.4 Nht ký c s d liu t& Trung tâm iu khin 133 11.5 Các tham s c a nht ký 134 11.6 Sao lu c s d liu 135 Bài tp nhanh #10 – Lp l"ch sao lu 137 11.7 Khôi phc c s d liu 139 11.7.1 Các kiu khôi phc d liu 139 11.7.2 Khôi phc c s d liu 139 11.8 Các hot ng khác vi BACKUP và RESTORE 140 Ch ng 12 – Nhim v b o trì 141 12.1 REORG, RUNSTATS, REBIND 141 12.1.1 Lnh REORG 141 12.1.2 Lnh RUNSTATS 142 12.1.3 BIND/REBIND 142 12.1.4 Các công vic duy trì t& Trung tâm iu khin 143 12.2 Các la chn bo trì 145 Bài tp nhanh #11 – C u hình vic bo trì t ng 147 Ch ng 13 – Truy cp ng thi và khóa 149 13.1 Các giao d"ch 149 13.2 Truy cp ng thi 150 13.3 Các v n khi không kim tra truy cp ng thi 151 13.3.1 M t d liu cp nht 151 13.3.2 'c vi không cam k t 152 13.3.3 'c không l$p li 152 13.3.4 'c th&a 153 13.4 Các mc cô lp 154 13.4.1 'c vi không cam k t 154 13.4.2 +n "nh con tr* 154 13.4.3 'c ,n "nh 155 13.4.4 'c l$p li 155 13.4.5 So sánh các mc cô lp d liu 155
- 6 Nhp môn H qun tr c s d liu DB2 13.4.6 '$t mc cô lp 156 13.5 Khóa leo thang 157 13.6 Kim soát khóa 158 13.7 Ch khóa 158 13.8 V n khóa ph thuc và phát hin 159 13.9 Truy cp ng thi và thc tin khóa tt nh t 160 PHN 3: HC DB2 – PHÁT TRIN NG DNG 161 Ch ng 14 – Các th tc SQL PL 163 14.1 IBM Data Studio 164 14.1.2 To mt th tc lu trong Data Studio 165 14.2 Mt s khái nim v th tc SQL PL: 169 14.2.1 C u trúc c a th tc 169 14.2.2 Nhng thuc tính tùy chn c a th tc 169 14.2.3 Các loi tham s 169 14.2.4 Chú thích trong th tc SQL PL 170 14.2.5 Câu lnh ghép 170 14.2.6 Khai báo bi n 171 14.2.7 Câu lnh gán 171 14.3 Các con tr* (cursor) 171 14.4 'iu khin lung 172 14.5 Gi th tc 172 14.6 Li và x lý iu kin 174 14.7 SQL ng 175 Ch ng 15 – Hàm ni tuyn, hàm ng i dùng nh ngha, các hàm x ký các s! kin b"y (Inline SQL PL, UDF, Triggers) 177 15.1 Hàm ni tuy n SQL 177 15.2 B%y s kin (Triggers) 178 15.2.1 Các loi b%y s kin 178 Bài tp nhanh #12 – Khi to mt b%y b-ng Trung tâm iu khin. 181 15.3 Hàm ngi dùng "nh ngh.a (UDF) 183 15.3.1 Hàm vô hng 183 15.3.2 Hàm bng 184 Bài tp nhanh #13 – Khi to UDF s dng IBM Data Studio 186 Ch ng 16 – SQL/XML và XQuery 189 16.1 S dng XML vi các c s d liu 190 16.2 C s d liu XML 190 16.2.1 C s d liu h tr XML 190 16.2.2 C s d liu thun XML 191 16.3 XML trong DB2 191 16.3.1 /u im c a công ngh pureXML 192 16.3.2 Khái nim c bn v XPath 194 16.3.3 '"nh ngh.a XQuery 197 16.3.4 Chèn các tài liu XML 198 16.3.5 Truy v n d liu XML 201 16.3.6 Ni (join) vi SQL/XML 206 16.3.7 Ni (Join) vi XQuery 207 16.3.8 Các lnh cp nht và xóa 207 16.3.9 Ch( mc XML 208 Bài tp nhanh #14 – SQL/XML và XQuery 210 Ch ng 17 – Phát trin vi Java, PHP và Ruby 211
- Nhp môn H qun tr c s d liu DB2 7 17.1 Phát trin ng dng b-ng Java 211 17.1.1 Trình iu khin JDBC kiu 2 (type 2) 211 17.1.2 Trình iu khin JDBC kiu 4 212 17.2 Phát trin ng dng b-ng PHP 213 17.2.1 La chn k t ni DB2 cho PHP 213 17.2.2 0ng dng công ngh Zend Core dành cho IBM 214 17.3 Phát trin ng dng Ruby trên nn Rails 216 17.3.1 B công c phát trin DB2 trên nn Rails 216 A.1 Thêm thông tin v mã các li 217 A.2 SQLCODE and SQLSTATE 218 A.3 Nht ký khai báo qun tr" DB2 218 A.4 db2diag.log 219 A.5 Theo v t CLI 219 A.6 Khuy t im và s a li trong DB2 219 Các trang web 221 Sách 222
- 8 Nhp môn H qun tr c s d liu DB2 V# cun sách này Thông cáo và Nhãn hiu hàng hóa Copyright IBM Corporation 2007, 2008 All right Reserved. IBM Canada 8200 Warden Avenue Markham, ON L6G 1C7 Canada Không c phép sao chép hay mô phng tài liu này hoc mt phn ca tài liu này di bt c hình thc hay thông qua bt c phng tin nào hoc 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 quy n nêu trên. IBM không có bo m hoc 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ù h p 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 nng 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 t ng chu s thay i mà không cn thông báo. IBM bo lu quy n 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 tr ng h p i u 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 vn kin 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 nng tng thích hoc các kh#ng nh có liên quan các sn ph"m không phi ca IBM. $i vi các vn th%c m%c 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. 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 ý r&ng IBM có ý nh phát trin các sn ph"m m'i quc gia mà IBM có c s hot ng. IBM, biu t ng IBM, AIX, DB2, DB2 Connect, DB2 Universal Database, i5/OS, Infomix, pureXML, Tivoli, WebSphere, và z/OS là nhãn hiu hàng hóa ã ng ký ca tp 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 tp 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. UNIX là nhãn hiu ng ký ca The Open Group ti M(, các nc khác, hoc c hai.
- Nhp môn H qun tr c s d liu DB2 9 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), ng i phát trin ng dng, nhà t vn, kin trúc phn m m, giám c sn ph"m, giáo viên và sinh viên. C$u 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 tr ng, kin trúc, kt ni t, xa, các i t ng d liu, chuyn d liu (nhp và xut d liu), an toàn, sao lu và khôi phc, truy cp ng th i và khóa ca DB2, và các công vic bo trì thông th ng. Phn III, H'c DB2: Phát trin ng dng, bao gm th tc, hàm do ng i dùng nh ngha, các b-y s kin, SQL/XML, XQuery, phát trin ng dng b&ng Java, PHP và Ruby. Ph lc có các thông tin cn thit v sa l.i. Bài tp ây là bài tp nhanh, có hu ht các chng, tt c các tp cn thit thc hin bài tp này có th tìm thy tp nén expressc_book_quicklabs.zip 9.5 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 c0ng c s dng làm bài ging ca chng trình “DB2 vi $i h'c” (DB2 on Campus), và rt sát vi bng video các trình bày có th thy trang web www.channelDB2.com/oncampus . Cun sách này c0ng giúp bn chu"n b cho bài kim tra ca chng trình “DB2 on Campus”, bài kim tra này cung cp chng trình y ca nó vi 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. Chú ý: $ bit thêm thông tin v chng trình “DB2 on Campus”, xem video a ch! Mt quyn sách do cng ng làm và giành cho cng ng $i ng0 làm DB2 Express-C ã có sáng kin làm quyn sách này cung cp min phí cho cng ng. 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! db2x@ca.ibm.com vi tiêu “DB2 Express-C book changes.”
- 10 Nhp môn H qun tr c s d liu DB2 Tác gi và nhng ng i óng góp Nhng ng i sau ây ã cung cp ni dung và có các óng góp có ý ngha cho cun sách này Tên %n v Ch&c danh Tài liu óng góp Ngày Raul F. Chong IBM G$ chng trình Bn tho tt c các Tháng 2 – “DB2 vi $i h'c” chng ca ln xut 2008 bn 1 và 2 Ian Hakes IBM Cng ng DB2 Xem li và sa cha Tháng 2 – Express-C ca ln xut bn 1 và 2008 2 Rav Ahuja IBM G$ sn ph"m DB2 Xem li, cp nht và Tháng 2 – trình bày cun sách 2008
- Nhp môn H qun tr c s d liu DB2 11 Li c m 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, ng i ã 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( thut v phát trin DB2 - Katherine Boyachok vi thit k bìa - Susan Visser giúp * xut bn cun sách này
- 12 Nhp môn H qun tr c s d liu DB2 Li c m n b n ting Vit $ có c bn dch ting Vit này, rt nhi u các bn sinh viên ã tình nguyn tham gia dch và hiu ính. Chúng ta t hào r&ng ây úng là mt quyn sách do cng ng và vì cng ng. Vì trình và th i gian hn ch, dù có th còn nhi u khim khuyt, nhng rt mong các bn ón nhn nó nhit tình và óng góp ý kin cho bn dch c hoàn thin hn. Hy v'ng r&ng các bn sinh viên s/ tip tc chuyn n cng ng nhng n ph"m mi, vi cht l ng ch%c ch%n tt hn. Nguyn Khiêm Chng trình H. tr giáo dc $i h'c IBM Vit Nam Danh sách sinh viên tham gia dch và hiu ính: H và tên Tr ng Ch&c danh Dch t' mc Bùi Thanh Sn $H Bách Khoa Hà Ni Sinh viên Hà Tun Trung $H Bách Khoa Hà Ni Sinh viên $. Bá Lâm $H Bách khoa Hà Ni Sinh viên Nguyn Minh Tun $H Bách khoa Hà Ni Sinh viên Chng 1 n BT#1 Nguyn Thành Trung $H Bách khoa Hà Ni Sinh viên Lê Anh $c $H Bách Khoa Hà Ni Sinh viên Nguyn Th Hng Hà $H Bách Khoa Hà Ni Sinh viên Trn Vn Tn $H Bách khoa Hà Ni Sinh viên Nguyn $%c Ng'c Minh Giang $H Vn Lang Sinh viên Nguyn Phng Nam $H Vn Lang Sinh viên Chng 4 n 6.4.1 Nguyn Hoàng Minh $H Vn Lang Giáo Viên $. Linh $H Vn Lang Sinh viên Nguyn Th Kim Phng $H Công ngh Thông tin Giáo Viên Mc 4.7 n 5.2 V0 Th Lan Chi $H Công ngh Thông tin Sinh viên Nguyn Hi Phong $H Công ngh Thông tin Sinh viên H'c vin Công ngh Bu Châu Uyên Minh chính Vin thông TPHCM Sinh viên Chng 6 n 6.3.2 $ng Chin Công Coltech Hà Ni Sinh viên Mc 6.3.3 n 6.3.3 $ng Trn V0 BlogicSystem VN Sinh viên Chng 7 n 7.1.3 $H Khoa h'c T nhiên, $. Tun Anh Tp HCM Sinh viên BT #4 $H Khoa h'c T nhiên, Hà Thúy H&ng Tp HCM Sinh viên Chng 8 n 8.2.3 Hoàng Minh Hi n Coltech Hà Ni Sinh viên Mc 8.2.4 n BT #5 H'c Vin công ngh Hu)nh Hu Hip BCVT Sinh viên Mc 8.3 n 8.5 $H Khoa Hoc Tu Nhien, Hu)nh Minh Tân Tp HCM Sinh viên Chng 9 n 9.3 $H Khoa h'c T nhiên, Lê Bá Tr'ng Tp HCM Sinh viên Mc 9.4 n 9.5 Lê Hu)nh Công Tho $H CNTT, Tp HCM Sinh viên BT #6 Lê Nguyn Thúy An $H Công ngh Thông tin Sinh viên Chng 10 n 10.2 Lê Thành Huy $H Cn Th Sinh viên Mc 10.3 n 10.7 Ngô Phi Thành $H Duytan, $à N+ng Sinh viên BT #7
- Nhp môn H qun tr c s d liu DB2 13 H và tên Tr ng Công vic Dch t' mc $H Khoa h'c T nhiên, Tp Nguyn Anh Khoa HCM Sinh viên Chng 11 n 11.4 Nguyn Chin Th%ng $HBK $à N+mg Sinh viên Mc 11.5 n 11.6 Nguyn $ình Lê Hng $H KHTN Sinh viên BT #8 n 11.8 Nguyn Hoàng Minh Quc Sinh viên Chng 12 n 12.1.4 $H S phm K( thut, Tp. Nguyn Hùng Thông HCM Sinh viên Mc 12.2 n BT #9 $H Khoa h'c T nhiên, Tp Nguyn Hu Th' HCM Sinh viên Chng 13 n 13.4.5 Nguyn Lng Sn $i h'c Duy Tân, $à N+ng Sinh viên Mc 13.4.6 n 13.9 $H Khoa h'c T nhiên, Tp Nguyn Minh Châu HCM Sinh viên Phn III n 14.1.2 Nguyn Ng'c Sn Sinh viên Mc 14.2 n 14.4 $H S phm K( thut, Tp. Nguyn Ng'c Trí HCM Sinh viên Mc 14.5 n 14.7 Nguyn Th Phúc $H Duy Tân $à N+ng Sinh viên Chng 15 n 15.2 Nguyn Th Diu H&ng $H Khoa h'c Hu Sinh viên BT #10 $. Th Huy n Trang $HSP $à N+ng Sinh viên Mc 15.3 n BT #11 $H Khoa h'c T nhiên, Tp Nguyn Trung Hiu HCM Sinh viên Chng 16 n 16.3.1 Nguyn Vn Nam $H Khoa h'c Hu Sinh viên Mc 16.3.2 n 16.3.3 $H S phm K( thut, Tp. Nguyn Xuân Ngha HCM Sinh viên Mc 16.3.4 $H Khoa h'c T nhiên, Tp Nguyn Xuân Tr ng HCM Sinh viên Mc 16.3.5 n 16.3.5 Phm Th Minh Hi n $H Bách khoa $à N+ng Sinh viên Mc 16.3.6 n BT #12 Phm V( Tun Sinh viên Chng 17 n 17.2.1 Trung tâm Công ngh Quách Tiêu Thun Phn m m - $H Cn Th Sinh viên Mc 17.2.2 n 17.3.1 Thái Quang Hòa $H Khoa h'c Hu Sinh viên Appendix A Thái Tuy n $i h'c Nông Lâm tp. HCM Sinh viên Resource Trn Anh Huy $i h'c Duy Tân, $à N+ng Sinh viên Hiu ính Trn Th Thùy Trinh $H Bách Khoa $à N+ng Sinh viên Hiu ính Trn Vng Trung Sinh viên Hiu ính $inh Tun Vit $H Bách Khoa Hà Ni Sinh viên Hiu ính
- 14 Nhp môn H qun tr c s d liu DB2 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 ngun ca s phát trin c s d liu. Là ng i i tiên phong trong k( thut 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 b&ng 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 vn 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 b%t buc phi mt chi phí! Mc dù còn có các sn ph"m min phí hay các phn m m ngun m khác, DB2 Express-C trao cho bn sc mnh duy nht v t trên tt c các la ch'n cùng loi. Có rt nhi u sáng to công ngh hin din trong DB2 Express-C. Mt s trong chúng nh&m 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 n n 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. $i u 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 lung d liu XML là rt nhi u. 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 l ng d liu lu tr trong c s d liu hay s l ng 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 ng i mi b%t 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 c0ng nh phát trin ng dng DB2. K( nng và s hiu bit nhn c t, cun sách này có liên quan rt nhi u 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ã ngun m, IBM chúng tôi v-n rt tin tng vào s h. tr và c v0 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 min phí cho cng ng. Tôi mong các bn cp nht, 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 vy nhng ng i khác s/ có l i t, s hiu bit ca bn. Arvind Krishna Phó ch tch, C s d liu Ban Qun tr thông tin, Nhóm phn m m IBM
- Nhp môn H qun tr c s d liu DB2 15 1 Phn I – Tng quan và Cài t Ch ng 1 - DB2 Express-C là gì? DB2 Express-C là mt sn ph"m thuc dòng IBM DB2 – phn m m 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 min phí, không hn ch và d s dng. Ch C trong DB2 Express-C là vit t%t ca t, Community (cng ng). Ngha là cng ng nhng ng i s dng DB2 Express-C kt h p li h. tr l-n nhau c trc tuyn và không trc tuyn. Cng ng DB2 Express-C bao gm 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 m m c s d liu chu"n m xây dng các ng dng c lp, dng khách-ch, dng n n web hoc các ng dng ln. • ISVs – các nhà cung cp phn m m c lp, các nhà cho thuê phn cng, c s h tng hay nhng ng i 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'. • Ng i c vn, qun tr d liu, và kin trúc s công ngh thông tin, nhng ng i cn mt máy ch d liu mnh t h'c tp, phát trin k( nng, ánh giá hoc th nghim. • Các công ty mi thành lp, v,a và nh cn mt máy ch d liu tin cy cho công vic và ng dng ca h'. • Nhng ng i yêu thích c s d liu, say mê tìm hiu công ngh mun có mt máy ch d liu d 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 tp, 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 n n 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 mt b x lý 2 lõi vi 2GB b nh cho bn min phí bn quy n và ti a cho b x lý 4 lõi, b nh 4GB cho bn có bn quy n thu phí12 tháng. Nó 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 c0ng bao gm 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 h(n! Các t tng ct lõi ca DB2 Express-C gm: • T! do phát trin: Nu bn là ng i 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.
- 16 Nhp môn H qun tr c s d liu DB2 • T! do trin khai: Nu bn ang làm vic trong lnh 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 c0ng có th dùng DB2 Express-C. DB2 Express-C min phí ngay c khi c óng gói vào trong ng dng ca bn, c phân phi m.i 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ý này c0ng hoàn toàn min phí. • Không gii h(n: 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 i u khon s dng. C0ng không có gii hn nào v s l ng kt ni hay s ng i s dng trên m.i máy ch. Chú ý: $ bit thêm v DB2 Express-C và vai trò ca nó trong th gii thông tin theo yêu cu và Web 2.0, m i xem video a ch!: 1.2 H) tr k* thut Nu bn có bt k) th%c m%c k( thut nào v DB2 Express-C, bn có th a câu hi ca bn lên din àn ca DB2 Express-C. Din àn này c i u hành bi mt i DB2 Express-C, nhng chính cng ng s/ là nhng ng i gii áp trên c s t nguyn. IBM c0ng cho phép ng i dùng mua bn quy n theo nm vi giá thp (còn c g'i là Bn quy n 12 tháng hay Bn quy n th i hn c nh FTL (Fixed Term License)). Vic mua này s/ cho phép ng i dùng c h. tr k( thut 24×7 c0ng nh cp nht phn m m. Vi khon phí thp h&ng 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 quy n l i v h. tr và bo trì phn m m cho máy ch DB2 Express-C, bn c0ng có thêm hai tính nng na là: tính s+n sàng phc hi 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 thun tin ng i s dng có th la ch'n các tính nng cn thit vi giá c h p 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
- Nhp môn H qun tr c s d liu DB2 17 Nh trên hình 1.1, n bn DB2 Express-C c0ng ging nh n bn DB2 Express ch! thiu i mt s thành phn. DB2 Express-C là hoàn toàn min phí. C0ng nh ã nói trên, ng i dùng luôn c s+n sàng h. tr k( thut t, din àn, hoc có th nhn s h. tr chính thc 24x7 ca IBM nu tr phí 12 tháng. Hình 1.1 c0ng 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. $i u này có ngha 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 gm các chc nng cn thit kt ni vi máy ch DB2. Tuy nhiên, không phi lúc nào c0ng 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 i u khin thích h p. Máy khách DB2 gm nhng loi sau: • IBM Data Server Client: y nht, bao gm các công c h'a, các trình i u khin. • IBM Data Server Runtime Client: Có các chc nng c bn kt ni, c0ng bao gm các trình i u khin. • DB2 Runtime Client Merge Module for Windows (Máy khách DB2 runtime kt h p 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 i u khin s+n có. Hình 1.2 - Các máy khách DB2 và các trình i#u 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 i u khin c th hin. Mc dù tt c các máy khách DB2 u bao gm trình i u khin cn thit, b%t u vi DB2 9 chúng tôi v-n cung cp nhng trình i u khin riêng bit. Các máy khách DB2
- 18 Nhp môn H qun tr c s d liu DB2 và các trình i u khin u min phí và có th c ti v t, trang web DB2 Express-C. Các máy khách và các trình i u khin có th c s dng kt ni n máy ch DB2 trên n n 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™ n&m gia hình 2). Chúng ta s/ tho lun v phn m m DB2 Connect™ trong Chng 2. 1.5 T! do phát trin phn m#m &ng dng DB2 to ra mt môi tr ng 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 tp các giao din lp trình ng dng (API) thông dng cho vic truy nhp c s d liu. Thêm vào ó, m.i sn ph"m DB2 cung cp các b ti n-dch (pre-compiler) cho phép nhà phát trin nhúng các câu lnh SQL tnh 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 h p 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 n n 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 b n và $n b n 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 gm 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 c0ng có th có mt vài ln phát hành, có th bao gm mt vài chc nng mi nhng thông th ng không rõ ràng nói r&ng â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 th i gian v,a qua, IBM th ng a ra mt ln phát hành mi ca DB2 m.i nm mt ln, tuy nhiên nhng phiên bn mi th ng c a ra cách nhau t, 2-3 nm. Ln phát hành mi nht n th i im hin ti, V9.5 (trc ây c g'i là DB2 “Viper 2”) và tr thành phiên bn chính thc (GA) vào tháng 10 nm 2007. M.i ln phát hành c0ng có th cha nhi u mc ch!nh sa, th ng cha nhng phn vá l.i tc là tng ng vi các chng trình sa l.i (fix pack), và rt ít khi cha nhng tính nng mi. Ti th i im này, phiên bn, phát hành, ch!nh sa (Version-Release-Modification/ V-R-M) ca DB2 là 9.5.0 tng ng vi phiên bn 9.5 cùng vi b chng trình sa l.i 0. Mt khác, các n bn là nhng la ch'n hoc nhóm các gói tính nng trong m.i phiên bn. Nh ã cp, mt n bn là mt gói nhng chc nng khác nhau vi giá thành và
- Nhp môn H qun tr c s d liu DB2 19 bn quy n xác nh. DB2 phiên bn 9.5 (c0ng c bit ti vi tên DB2 9.5) có nhi u n bn; ví d: DB2 express-C 9.5, DB2 Express 9.5, DB2 Workgroup 9.5, và DB2 Enterprise 9.5 (xem hình 1.1) 1.7 Chuyn sang $n b n 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 tr ng h p này xy ra, rt d 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 quy n 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 i u hành vi máy c0, hãy cài t n bn DB2 mi trên máy mi, sao lu d liu trên máy c0 và khôi phc li nó trên máy mi. Bn c0ng có th lu các cu hình trên máy c0 (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 tr ng DB2. • Trong bt kì tr ng h p nào, ng dng ca bn u không phi sa cha s dng DB2. 1.8 B o trì DB2 Express-C Nh ã nói trc ây, có hai la ch'n h. tr cho DB2 Express –C: 1. Mua mt bn quy n 12 tháng. $i u này s/ cung cp cho bn h. tr 24x7 t, b phn h. tr k thut ca IBM, ng th i còn cho bn kh nng cài t các cp nht ca DB2 (còn c g'i là các chng trình sa l.i fixpack). 2. S dng din àn cng ng DB2 Express-C trc tuyn. Cách này hoàn toàn min phí, tuy nhiên bn s/ không có c s h. tr chính thc nào t, IBM. $ng th i, vi cách này, IBM không cam kt cung cp nhng chc nng mi và nhng bn vá l.i nh th i gian ã nh. $nh ngha v mt chng trình sa l.i, c nói n trong Chng 2, c0ng s/ không có ý ngha ây, thay vì vy mt bn cài t mi ca DB2 Express-C s/ c c0ng cp trên trang web cho các ng i 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 c0 bn ang dùng. 1.9 Mt s phn m#m mi+n phí có liên quan Tt c các phn m m có th c ti t, trang ti phn m m ca DB2 Express-C (www.ibm.com/db2/express/download.html) u là phn m m min 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 m m hu dng có th c ti và s dng min phí nh: • IBM Data Studio • DB2 9 Embedded Application Server • DB2 9.5 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 gm: • Starter toolkit for DB2 on Rails • Web 2.0 Starter Toolkits for DB2
- 20 Nhp môn H qun tr c s d liu DB2 1.9.1 IBM Data Studio (b công c phát trin) IBM Data Studio là b công c da trên Eclipse cho phép bn to ra, sa cha, g* ri, trin khai và qun lý d liu, c s d liu và các ng dng c s d liu thông qua toàn b vòng i qun lý d liu. IBM Data Studio thay th cho công c DB2 Developer Workbench 9.1 trc ây. IBM Data Studio giúp bn phát trin các hàm ng i dùng, th tc lu (stored procedures), XQuery, lnh SQL, và tích h p trình g* ri (debugger). Hn na, Data Studio cho phép bn làm vic vi s mô hình d liu vt lý (Physical Data Modelling diagrams) hiu toàn b các quan h gia các bng. Nó c0ng giúp ta phát trin và a d liu ra nh dch v Web (Web service) mà không cn lp trình. Chúng ta s/ tho lun v Data Studio trong chng 14, Các th tc lu tr SQL PL. 1.9.2 DB2 9 Embedded Application Server (máy ch nhúng) DB2 Embedded Application Server cho phép bn chy các ng dng Web c h. tr vi DB2 phiên bn 9.5 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.5 bao gm: • Các công c Web DB2 dành cho ng i qun tr c s d liu n n web. • DB2WebServices, 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.5 Net Search Extender (m rng tìm kim) Vi DB2 9.5 Net Search Extender bn có th thc thi nhanh và chi tit các tìm kim ni dung vn bn (full-text), bao gm bt c tài liu XML nào c lu tr b"m sinh trong DB 9.5 1.9.4 B công c b,t u Rails cho DB2 B công c b%t u Rail cho DB2 là mt tp h p các sn ph"m và công ngh c óng gói tin l i cho phép to ra nhanh chóng mt môi tr ng xây dng các ng dng Web, DB2 s dng công ngh Ruby trên n n Rails. Tt c các phn m m c yêu cu bao gm: DB2 Express-C, trình i u 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 tp khác. Chúng ta s/ tho lun Ruby trên n n Rails Chng 17, S phát trin trong Java, PHP và Ruby. 1.9.5 B công c b,t u Web 2.0 dành cho DB2 B công c b%t u Web 2.0 dành cho DB2 là mt cách d dàng b%t u vi DB2, PHP và Dojo. Nó giúp cho bn trin khai các yêu cu phn m m, cung cp cho bn các bài hng d-n và các bn ng dng trình din (demo). Hai trong s các ng dng trình din 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 bt ca Ajax và kh nng m rng.
- Nhp môn H qun tr c s d liu DB2 21 2 Ch ng 2 – Các tính nng liên quan và các s n phm 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. Nó c0ng mô t các tính nng n&m trong các n bn ca DB2, trong mt s tr ng h p phi tr thêm phí. Các chc nng ca n bn DB2 Express-C min phí: • Chc nng lõi ca DB2 • Trung tâm i u khin (Control Center), Data Studio và các công c qun tr • pureXML • S dng tài nguyên ti 2GB b nh và 2 b x lý • Chy vi h i u hành Linux, Windows và Solaris (x86) Nhng tính nng không có trong n bn DB2 Express-C min phí, nhng chúng s/ có trong n bn có phí bn quy n 12 tháng • B chng trình sa l.i (Fix packs) • Tính s+n sàng cao (High Availability ) • Di trú d liu (SQL thun nht) • S dng tài nguyên ti 4GB b nh và b x lý 4 lõi (trên 2 ) Bng sau ây lit kê các tính nng ca sn ph"m theo các n bn DB2 khác nhau. Các tính nng bn có th mua riêng c lit kê theo tên vi các n bn DB2 tng ng. Ch&c nng Expess-C vi -n b n DB2 -n b n DB2 -n b n DB2 b n quy#n Express Workgroup Enterprise Server Server Di trú d liu Có Có Có Có SQL thun nht Net Search Có Có Có Có Extender Spatial Có Có Có Có Extender Công ngh Có Tính nng Tính nng Tính nng pureXML™ pureXML pureXML pureXML S+n sàng cao Có Tính nng s+n Có Có và khôi phc sàng cao sau s c Tivoli® System Có Tính nng s+n Có Có Automation sàng cao
- 22 Nhp môn H qun tr c s d liu DB2 Ch&c nng Expess-C vi -n b n DB2 -n b n DB2 -n b n DB2 b n quy#n Express Workgroup Enterprise Server Server Dch v sao Không Tính nng s+n Có Có chép tiên tin sàng cao T chc li trc Không Tính nng s+n Có Có tuyn sàng cao Tp h p d liu Không Tính nng Tp Tính nng Tp Tính nng Tp thun nht h p d liu h p d liu h p d liu thun nht thun nht thun nht MQT Không Không Tính nng ti Có u truy vn MDC Không Không Tính nng ti Có u truy vn Truy vn song Không Không Tính nng ti Có song u truy vn B tp trung kt Không Không Không Có ni Bng phân tán Không Không Không Có DB2 Governor Không Không Không Có Nén: mc hàng Không Không Không Ti u lu tr Nén: sao lu Không Không Không Ti u lu tr Kim tra truy Không Không Không $i u khin truy cp theo nhãn cp tiên tin (LBAC) Geodetic Không Không Không Qun lý d liu Extender a lý Kim tra câu Không Không Không Ti u hiu truy vn nng Qun lý ti ca Không Không Không Ti u hiu DB2 nng Chuyên gia Không Không Không Ti u hiu hiu nng nng Q Replicate Không Không Không Di trú h p nht h p nht Phân tán c s Không Không Không Không d liu B ng 2.1 - -n b n DB2 phiên b n 9.5: h) tr các tính nng Các tính nng có mt trong các n bn DB2 khác là: Tính nng ca n bn DB2 Expess có thu phí: • pureXML • S+n sàng cao • Tp h p d liu thun nht Tính nng ca n bn DB2 Workgroup min phí • S+n sàng cao • Chy trên các h i u hành Linux, Windows, AIX, Solaris và HP-UX Tính nng ca n bn DB2 Workgroup có thu min phí • pureXML
- Nhp môn H qun tr c s d liu DB2 23 • Ti u câu truy vn (MQT, MDC, truy vn song song) • Tp h p d liu thun nht Các tính nng ca n bn DB2 Enterpirse min phí: • Phân tán bng • Truy vn theo bng thc (MQT) • X lý bó nhi u chi u (Multi-dimensional Clustering – MDC) • S+n sàng cao và khôi phc sau s c (HADR), Tivoli System Automation • B tp trung kt ni Các tính nng ca n bn DB2 Enterpirse có phí: • Tính nng phân tán bng • Tính nng ti u hóa lu tr d liu (k c nén) • $i u khin truy nhp tiên tin (an toàn mc cao và c chia nh tt) • Ti u hiu nng thc thi (kim soát ti, chuyên gia hiu nng, kim tra truy vn, ) • Qun lý d liu a lý (phân tích v trí a lý) • Tp h p d liu thun nht (truy cp bng t, xa nh là bng ni ti) Các sn ph"m có phí có liên quan ti DB2: • DB2 Connect • DB2 Warehouse • WebSphere® Federation Server • WebSphere Replication Server 2.1 Các tính nng bao hàm trong ng ký s dng DB2 Express-C Phn này im qua các chng trình sa l.i DB2, s tái to/di trú HADR và SQL. 2.1.1 Các ch ng trình s a l)i Mt chng trình sa l.i DB2 là mt tp các sa l.i c áp dng cho mt sn ph"m DB2 ã c cài t, nh&m 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 quy n, các chng trình sa l.i có th c ti xung và cài t min phí. Chúng th ng c a ra ba tháng mt ln. $ ti chng trình sa l.i mi nht, xem trang h. tr k( thut 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 cy 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 tr ng HADR thông th ng bao gm 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 cp 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 nht 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, th ng c to ra b&ng 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 nht ký d liu c nhn 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 nht 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.
- 24 Nhp môn H qun tr c s d liu DB2 Mt gii pháp HADR h. tr DB2 y cung cp cho bn: 1 Kh nng phc hi 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 ng%t quãng i vi dch v 1 Kh nng thay th h thng t, xa, cung cp kh nng phc hi y cho a im b s c 1 Qun tr d 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 Chú ý: $ xem HADR hot ng ra sao, hãy vào thm a ch!: 2.1.3 Kh nng tái t(o d liu (di trú d liu) Tính nng này cho phép tái to d liu gia máy ch ngun 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. Hình 2.1 – Khôi phc SQL Trong hình 2.1 có hai máy ch, mt máy ch ngun và mt máy ch ích. Trên máy ch ngun, mt chng trình “chp” ghi nhn 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 tht. Kh nng tái to d liu hu dng cho rt nhi u mc ích cn n d liu c tái lp, bao gm gim ti dung l ng truy n, 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ó
- Nhp môn H qun tr c s d liu DB2 25 th tái to d liu gia DB2 Express-C và các máy ch DB2 khác, bao gm 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 nng không có trong b n 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 nhi u phân vùng khác nhau, t trên nhi u máy tính. DPF da trên kin trúc không chia s2 (share-nothing architecture). M.i 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 tr ng 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 tp trung kt ni là tính nng cho phép h. tr mt l ng ln ng i dùng kt ni ti mt th i im. Trc ây, m.i kt ni c s d liu cn n mt tác t (agent) c s d liu. B tp trung kt ni gii thiu khái nim tác t lô-gic, cho phép mt tác t x lý nhi u kt ni. Các tác t c bàn n k( hn trong chng 6, kin trúc DB2. 2.2.3 B m rng không gian a lý B m rng không gian a lý ca DB2 tn 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 d 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 thp 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 /v nh b m rng không gian ca DB2 (DB2 Geodetic 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 v$n B kim soát truy vn ca DB2 là mt h thng qun lý truy vn mnh, có th i u khin lung các truy vn ti c s d liu DB2 ca bn. Nó cho phép bn i u ch!nh li khi l ng 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 s n phm có tr phí liên quan n DB2. 2.3.1 DB2 Connect DB2 Connect là mt phn m m 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 chi u ng c 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.
- 26 Nhp môn H qun tr c s d liu DB2 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 h p thông tin), WebSphere Federation Server cho phép s liên kt h p nht các c s d liu, i u này ngha là bn có th chy các truy vn c s d liu trên nhi u i t ng 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: 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
- Nhp môn H qun tr c s d liu DB2 27 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 h p nht ã c xây dng s+n trong DB2 Express-C. $i u này ngha là WebSphere Federation Server không cn phi có, 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 thành phn trong h' IBM). 2.3.3 WebSphere Replication Server $ c bit trc ây là WebSphere Infomation Integrator (h. tr tích h p 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ó c0ng bao gm 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.
- 28 Nhp môn H qun tr c s d liu DB2
- Nhp môn H qun tr c s d liu DB2 29 3 Ch ng 3 - Cài t DB2 $ cài t n bn DB2 Express-C cho Linux hay Windows, hãy m bo r&ng các h thng ca bn tha mãn các i u kin trc khi cài t. 3.1 Các i#u kin tr c khi cài t 4 khía cnh phiên bn h i u hành, DB2 Express-C có th c s dng trên Linux, Solaris (x64) hay Windows 2003, 2000, XP, Vista. Kin trúc b x lý c yêu cu là 32- bit, 64-bit và PowerPC (Linux). Nu bn cn chy DB2 trên mt n n 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 i u kin ca h i u hành trc khi cài t cho tt c các n bn DB2 c0ng c miêu t trong tài liu a ch! này Trong khía cnh v các tài nguyên phn cng, DB2 Express-C có th cài trên h thng vi bt k) s l ng CPU và b nh nào, tuy nhiên, nó ch! s dng 2 b x lý và 2GB b nh i vi bn min phí bn quy n, và 4 b x lý vi 4GB b nh cho bn có mua 12 tháng bn quy n phn m m và h. tr . Các h thng này có th là các h thng vt lý hay các h thng o c to ra bi s phân tán hoc vic chy các phn m m 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 i u kin ca phn cng trc khi cài t DB2 Express-C, xin xem trên trang web DB2 Express-C 3.2 Quy#n cài t h i#u hành $ cài t DB2 Express-C trên Linux hay Windows, bn phi là mt ng i s dng h i u hành có quy n. Vi Linux: bn cn phi là root (superuser) cài t DB2 Express-C. Bn có th cài t DB2 Express-C nh mt ng i dùng không phi là root, tuy nhiên bn s/ b hn ch mt s vic có th làm c vi sn ph"m. Ví d, nu là ng i s dng không phi là root bn không th to nhi u th hin (instances) hn s mc nh khi cài t. Vi Windows, tài khon ng i 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 ng i dùng không thuc nhóm Qun tr có th c s dng, vi i u kin là mt thành viên thuc nhóm Qun tr Windows u tiên cu hình các thit lp nâng quy n Windows cho phép mt tài khon ng i dùng không thuc nhóm Qun tr có th thc thi vic cài t. Vi các tài khon mi n (domain) Windows, xác thc nh danh (ID) ca ng i dùng trên máy ch DB2, ID ca ng i tin hành cài t phi thuc nhóm Qun tr ti mi n
- 30 Nhp môn H qun tr c s d liu DB2 (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 ng i dùng c0ng phi có quy n “Truy cp máy tính này qua mng” Chú ý: Xem video v cài t DB2 Express-C ti ng d-n 3.3 Cài t theo h ng d"n t'ng b c Có rt nhi u cách tin hành cài t DB2 Express-C, nhng n gin nht là s dng cách cài t theo hng d-n t,ng bc da trên giao din h'a ca DB2. Sau khi ti và gii nén DB2 Express-C, bn có th tin hành cài t nh sau : • Windows: chy tp setup.exe trong th mc EXP/image. • Linux: chy lnh db2setup trong th mc exp/disk1. Vic cài t DB2 Express-C theo hng d-n cài t t,ng bc rt n gin. Thông th ng, bn ch! vic s dng các thit lp mc nh, vì vy, tt c các vic cn làm là chp nhn i u khon s dng, nhn liên tc nút “Next” ri nhn “Finish”. Quá trình cài t s/ kt thúc sau vài phút và bn có th b%t u s dng DB2. Trên hình 3.1 là ca s b%t u cài t DB2 (DB2 Setup Launchpad), ch'n “Install a Product”, sau ó ch'n “Install New” cài t mt bn sao mi ca DB2 lên h thng. Hình 3.1 – B,t u cài t DB2 (DB2 Setup Launchpad)
- Nhp môn H qun tr c s d liu DB2 31 Sau khi chp nhn i u khon s dng, thông th ng bn nên ch'n kiu cài t “Typical” (mc nh) nh trên hình 3.2. Hình 3.2 – Các kiu cài t Trong hình 3.3, bn có các la ch'n cài t sn ph"m, to mt tp biên bn (response file), hoc c hai. Các tp biên bn s/ c tho lun trong mc 3.4, Cài t hàng lot (Silent Install). S dng tùy ch'n mc nh (Cài t IBM DB2 Express Edition trên máy tính này và lu các thit lp ra tp biên bn) là .
- 32 Nhp môn H qun tr c s d liu DB2 Hình 3.3 – L!a chn cài t Trong vài màn hình tip theo, hãy ch'n giá tr mc nh cho n khi bn gp màn hình nh trong hình 3.4. Trong màn hình này bn có th nhp vào mt ng i dùng ã có làm vic vi bn cài t th hin DB2 này (instance) c0ng nh các dch v khác. Ng i dùng này phi n&m trong danh sách Qun tr (Local Administrator) ca Windows. Nu nh ID ca ng i dùng bn nhp vào không tn ti, mt ng i dùng mi s/ c thêm vào nhóm Qun tr. Bn có th trng “domain” nu nh ng i dùng bn nhp vào không thuc vào mt mi n nào ó. ID ng i dùng mc nh c to ra trong windows là db2admin, trong Linux là db2inst1.
- Nhp môn H qun tr c s d liu DB2 33 Hình 3.4 - Nhp thông tin ng i dùng cho b n DB2 m c nh. Cui cùng trong hình 3.5, cài t theo hng d-n t,ng bc s/ hin th mt danh sách tng kt nhng phn nào s/ c cài t c0ng nh mt vài thông tin, thit lp do bn nhp vào. Khi bn nhn “Finish”, quá trình cài t DB2 vào h thng ca bn b%t u. Hình 3.5 - Danh sách tóm t,t nhng phn s/ c cài
- 34 Nhp môn H qun tr c s d liu DB2 3.4 Cài t hàng lo(t (Silent Install) Trong nhi u tr ng h p bn cn phi cài t máy khách DB2 trên nhi u máy tính khác nhau. Hoc máy ch d liu DB2 là mt phn trong ng dng bn xây dng và bn mun quá trình cài t DB2 là mt phn ca quá trình cài t chung toàn b ng dng ó. Khi ó, cài t hàng lot là phng pháp phù h p cho bn. DB2 h. tr cài t hàng lot nh tp biên bn (response file) cha các thông tin cn thit cho quá trình cài t. Di ây là mt trích on ca mt tp biên bn m-u. Tp biên bn m-u: PROD=UDB_EXPRESS_EDITION LIC_AGREEMENT=ACCEPT FILE=C:\Program Files\IBM\SQLLIB\ INSTALL_TYPE=TYPICAL LANG=EN INSTANCE=DB2 DB2.NAME=DB2 DEFAULT_INSTANCE=DB2 DB2.SVCENAME=db2c_DB2 DB2.DB2COMM=TCPIP Các phng pháp có th dùng to ra tp biên bn: Cài t DB2 Express-C trc mt ln, s dng phng pháp cài t theo hng d-n t,ng bc. Mt trong các la ch'n u tiên khi bn cài t theo phng pháp này cho phép bn ánh du yêu cu DB2 lu li các thông s bn nhp vào trong quá trình cài t vào mt tp biên bn. Khi kt thúc quá trình cài t tp biên bn s/ c lu vào th mc và tên tp do bn nhp vào. Vì tp này là mt tp vn bn cho nên sau ó bn có th sa li nó tùy ý. Bn có th xem li Hình 3.3 v phng pháp này. Ch!nh sa tp biên bn m-u c óng gói kèm theo DB2. Tp m-u này (có phn m rng là .rsp) n&m trong th mc: db2/platform/samples/directory Trong Windows, bn c0ng có th dùng lnh to tp biên bn: db2rspgn -d Sau khi bn ã có tp biên bn, trong Windows bn dùng lnh: setup -u $i vi Linux, bn dùng lnh: db2setup -r
- Nhp môn H qun tr c s d liu DB2 35 Bài tp nhanh #1: Cài t DB2 Express-C và t(o ra c s d liu m"u Mc ích Trc khi bn có th b%t u nghiên cu các tính nng và công c có trong DB2 Express- C, bn phi cài nó trên h thng ca mình. Bài thc hành này s/ hng bn t,ng bc cách cài t DB2 Express-C trên Windows. $i vi h i u hành Linux, các bc c0ng rt ging nh vy. Quy trình 1. Ly v nh ca DB2 Express-C. $ có th cài t DB2, bn có th ti b cài di dng tp .zip ti a ch! Gii nén các tp vào mt th mc do bn t tên. 2. $nh v th mc chính v th mc cha các tp ã gii nén 3. Kích hot tin trình cài t. $ kích hot tin trình cài t, bn nhn úp vào tp setup.exe. Trên Linux, thc hin lnh db2setup t, th mc gc. Sau ó t, ca s Windows hin ra bn nhn vào tùy ch'n Install Product phía bên trái ca ca s. 4. Chy cài t DB2 theo t,ng bc (setup wizard). Sau khi bn ch'n Install Product bc 3, mt thành phn tr giúp cài t g'i là “cài t t,ng bc” s/ chy kim tra cu hình phn cng ca h thng tin hành chu"n b cài t DB2 Express-C, c0ng nh kim tra xem bn ã cài DB2 trc ó hay cha. Sau khi chng trình ã kim tra xong bn nhn vào nút Next tip tc cài t 5. Chp nhn các i u khon ràng buc, bn hãy 'c k( các i u khon trong giy phép s dng và la ch'n “I Accept ” và nhn nút Next tip tc tin trình cài t. 6. La ch'n kiu cài t. Trong bài thc hành này bn hãy ch'n la kiu cài t là Typical (bn s/ thy r&ng ây là kiu cài t mc nh). Hai kiu cài t khác là Compact và Custom. Kiu Compact là kiu cài t c bn còn kiu Custom cho phép bn thc hin mt s tùy tr'n trong quá trình cài t. Nhn nút Next tip tc. 7. La ch'n th mc cài t. Bn ch'n th mc cài t DB2, chú ý n dung l ng ca cng. Trong ví d này bn ch'n th mc mc nh cài t DB2 lên h thng ca bn nh sau: 0 cài t: C: Th mc cài t: C:\Program Files\IBM\SQLLIB Nhn nút Next tip tc. 8. Nhp vào thông tin ca ng i s dng. Mt khi DB2 Express-C ã c cài t, nhng tin trình DB2 s/ c chy di t cách là các dch v ca h thng. Nhng dch v này òi hi phi c ng nhp b&ng mt tài khon ca h thng có th thc hin. Trong môi tr ng Windows bn s dng tài khon mc nh c ngh là db2admin, nu tài khon này cha tn ti, DB2 s/ to ra cho bn. Chú ý bn phi t mt kh"u (password) cho tài khon. Bn c0ng có th s dng mt tài khon s+n có trong h thng thay vì nh DB2 to ra mt tài khon mi cho bn nhng phi ghi nh r&ng có th chy các dch v DB2 tài khon này phi có quy n qun tr (admin). Trên Linux s dng tài khon mc nh db2inst1 cho ng i ch ca th hin (instance), tài khon db2fenc1 cho ng i dùng trung lp và dasusr1 cho ng i qun tr máy ch DB2. Nhn nút Next tip tc.
- 36 Nhp môn H qun tr c s d liu DB2 9. Cu hình th hin DB2 (instance). Mt th hin DB2 có th c coi nh là mt “kho cha cho c s d liu”. Mt th hin phi tn ti trc khi bt kì mt c s d liu nào c to ra và c “ t vào bên trong kho”. Trong quá trình cài t môi tr ng Windows, mt th hin có tên là DB2 c t ng c sinh ra, trong khi trong môi tr ng Linux tên ca th hin mc nh này là db2inst1. Chúng ta s/ gii thích chi tit các i t ng này trong các chng tip theo ca cun sách. Mc nh, th hin DB2 c cu hình l%ng nghe kt ni TCP/IP trên cng kt ni 50000. C hai giao thc kt ni và cng kt ni u có th c cài t li khi bn nhn vào các nút Protocols và Startup, theo th t. Tuy nhiên, trong ví d này chúng ta s/ s dng cu hình mc nh ã c cài t s+n và không thay i bt c cu hình thuc v giao thc kt ni hay cng kt ni nào c. Nhn nút Next tip tc. 10. B%t u cài t. $ b%t u cài t bn nhn vào nút Install, tt c các cu hình và các tp cn thit s/ c cài t vào máy ca bn mt cách t ng. 11. First Steps. Sau khi quá trình cài t kt thúc, mt công c h. tr cài t khác c g'i là First Steps s/ c chy và hin th trên màn hình. First Step c0ng có th c khi chy b&ng tay vi câu lnh db2fs trong ca s h i u hành DOS. 12. C s d liu m-u SAMPLE là c s d liu dùng cho mc ích kim tra. Nó c to ra ngay sau khi bn cài t DB2. Kim tra c s d liu ã tn ti b&ng công c “Trung tâm i u khin” (Control Center), $ m công c này, t, Start Menu ca Windows ch'n Start -> Programs -> IBM DB2 -> DB2COPY1 (Default) -> General Administration Tools -> Control Center, ta c0ng có th khi ng Trung tâm i u khin b&ng lnh db2cc. 13. Nu c s d liu SAMPLE ã hin th trong Trung tâm i u khin, bn chuyn n mc s 16. Nu nó cha xut hin, thc hin lnh làm mi (refresh) t, bng lnh View ca Trung tâm i u khin m bo r&ng các thông tin mi nht c hin th. Nu c s d liu SAMPLE v-n không xut hin, có th nó cha c to. Bn có th to nó b&ng tay t, First Steps, ch'n bng lnh “Database Creation”, và theo trình t c hng d-n to c s d liu SAMPLE. Bn phi m bo r&ng tùy ch'n XML and SQL objects and data phi c la ch'n, và nhn nút OK. La ch'n sau cùng này s/ to mt c s d liu UNICODE, nó cn thit cho phiên bn 9 h. tr thun XML, còn i vi phiên bn 9.5 thì không cn. 14. Sau khi bn nhn OK mt ca s s/ c hin ra thông báo c s d liu m-u ang c to ra cho bn. Tin trình này có th mt mt vài phút. Khi to xong, nhn nút OK và óng ca s First Steps li.
- Nhp môn H qun tr c s d liu DB2 37 15. Quay li Trung tâm i u khin (Control Center) và kim tra r&ng mt c s d liu tên là SAMPLE ã c to ra trong khung ca s Object Tree (cây i t ng). Bn có th phi làm mi li Trung tâm i u khin nhn bit c s thay i này. 16. Khi ng li máy tính. Mc dù bc này là không b%t buc trong các tài liu hng d-n cài t DB2, nhng chúng tôi ngh bn nên khi ng li h thng m bo r&ng tt c các tin trình c b%t u mt cách hoàn ho và gii phóng các tài nguyên ca h thng ã b chim dng trong quá trình cài t DB2. $ây là mt Tùy ch'n.
- 38 Nhp môn H qun tr c s d liu DB2
- Nhp môn H qun tr c s d liu DB2 39 4 Ch ng 4 - Môi tr ng ca DB2 Trong chng này chúng tôi s/ gii thiu v môi tr ng DB2. Hình 4.1, cho ta cái nhìn tng quát v DB2, và hình e-líp mu là các phn ta s/ nghiên cu trong chng này. Phía bên trái là các lnh DB2 khác nhau, SQL, SQL/XML và các lnh XQuery có th c dùng tng tác vi máy ch d liu DB2. Phn gia lit kê tên ca các công c khác nhau có th dùng tng tác vi máy ch d liu DB2. Phía bên phi trong hình v/ là môi tr ng DB2 c bn bao gm mt th hin (instance) DB2, mt c s d liu và các tp cu hình tng ng. Hình 4.1 - B&c tranh tng th v# DB2: Môi tr ng DB2 $ mô t môi tr ng DB2, hãy mô t dn dn t,ng phn t thành phn. Hình 4.2 cho thy hình t ng v máy ch d liu DB2 sau khi cài t DB2 Express-C 9.5
- 40 Nhp môn H qun tr c s d liu DB2 Chú ý: Xem video v môi tr ng ca DB2 ti các a ch! Hình 4.2 – Biu di+n máy ch d liu DB2 sau khi cài t DB2 Express-C 9.5 $ây là mt phn ca quá trình cài t trong môi tr ng Windows, to ra mt th hin mc nh g'i là DB2 (hay “db2inst1” trên môi tr ng Linux). $i u này c mô t b&ng mt hp màu xanh trong hình 4.3. Mt th hin n gin là mt môi tr ng c lp trong ó có th chy các ng dng và to ra các c s d liu. Bn có th to nhi u th hin trên cùng mt máy ch d liu và s dng chúng cho các mc ích khác nhau. Ví d, mt th hin có th c dùng lu tr c s d liu cho sn ph"m, th hin khác c dùng kim tra môi tr ng c s d liu, và mt cái khác na dùng cho môi tr ng phát trin. Tt c các th hin này là c lp vi nhau; ngha là, các thao tác thc hin trên mt th hin s/ không làm nh hng ti các th hin còn li. Hình 4.3 – Th hin m c nh DB2 c t(o ra. $ to mt th hin DB2 mi, s dng câu lnh bd2icrt , ch. c thay th b&ng bt c tên nào gm 8 kí t. Ví d, to ra th hin myinst, ta s dng câu lnh: bd2icrt myinst. Hình 4.4 cho thy mt th hin mi tên myinst nh mt hp màu xanh riêng bit
- Nhp môn H qun tr c s d liu DB2 41 Hình 4.4 – Mt máy ch DB2 vi hai th hin. Chú ý r&ng m.i th hin có mt a ch! cng (port) duy nht. $i u này giúp phân bit gia các th hin khi mà bn mun kt ni ti mt c s d liu trong mt th hin nht nh t, mt máy khách xa. Nu bn s dng ca s dòng lnh DB2 (DB2 Command Window), bn có th làm bt c th hin nào ca DB2 tr thành mt th hin ang hot ng b&ng cách s dng mt lnh h i u hành trên môi tr ng Windows: set db2instance = myinst Trong ví d này, nu bn to mt c s d liu t, Ca s dòng lnh (Command Windows), nó s/ c to trong th hin myinst. $ lit kê các th hin, gõ lnh: db2ilist Trên Linux, mt th hin phi g%n li n vi mt ng i dùng trên Linux; do ó, chuyn i gia các th hin, bn ch! cn chuyn i ng i dùng (vi câu lnh su). Bng 4.1 mô t vài lnh hu ích trên th hin Câu lnh Mô t db2start Khi ng th hin hin ti db2stop Ng,ng th hin hin ti db2icrt To mt th hin mi db2idrop Loi b mt th hin db2ilist Lit kê các th hin bn có trong h thng db2 get instance Lit kê các th hin hot ng hin ti B ng 4.1 – Các lnh DB2 hu dng m&c th hin. Vài câu lnh trên có th c thc hin thay th b&ng/thông qua trung tâm i u khin. Ví d, trong ca s trung tâm i u khin, nu bn m rng th mc Instances và nhn chut phi vào th hin mong mun, bn có th ch'n Start c0ng ging nh s dng lnh db2start t, ca s dòng lnh ca DB2, hay Stop, c0ng nh s dng lnh db2stop nh trong hình 4.5
- 42 Nhp môn H qun tr c s d liu DB2 Hinh 4.5 – Các lnh trên th hin trong c a s Control Center $ to mt c s d liu trong mt th hin hot ng, thc hin lnh này t, ca s dòng lnh DB2: db2 create database mydb1 $ lit kê tt c các c s d liu c to, chy lnh: db2 litst db directory Bên trong bt kì th hin nào, bn có th to nhi u c s d liu. Mt c s d liu là mt tp h p ca các i t ng nh là các bng, các khung nhìn, ch! mc và nhi u th khác. Các c s d liu là các ch th c lp, và do vy, không chia s2 các i t ng vi các c s d liu khác. Hình 4.6 mô t mt cách hình t ng c s d liu “MYDB1” c to ra bên trong th hin “DB2”.
- Nhp môn H qun tr c s d liu DB2 43 Hình 4.6 – C s d liu “MYDB1” c t(o trong th hin “DB2”. Bng 4.2 Mt s lnh bn có th s dng lp c s d liu. Lnh/ Câu lnh SQL Mô t db2 create database To mt c s d liu mi db2 drop database Loi b mt c s d liu db2 connect to Kt ni ti c s d liu db2 create table/create view/create Câu lnh SQL to ra bng biu, index khung nhìn, và ch! mc tng ng B ng 4.2 – Các lnh/câu lnh SQL trên c s d liu. Nu ta mun to mt c s d liu khác c0ng có trùng tên (MYDB1) nhng trong th hin “myinst”, thc hin các lnh sau ây trên ca s dòng lnh ca DB2 db2 list db directory set db2instance=myinst db2 create database mydb1 set db2instance=db2 Hình 4.7 mô t c s d liu mi “MYDB1” c to trong th hin “myinst”. Hình 4.7 – C s d liu “MYDB1” trong khung nhìn “myInst”. Khi mt c s d liu c to, mt vài i t ng c0ng c to ra theo mt cách mc nh: không gian bng, bng, vùng m d liu và các tp tin nht ký (log file). To các i t ng này s/ mt mt ít th i gian, ó là lý do ti sao lnh create database yêu cu vài phút x lý. Hình 4.8 mô t ba không gian bng mc nh c to. Không gian bng s/ c tho lun chi tit hn trong Chng 6, Kin trúc ca DB2; nhng hin ti, hãy c coi không gian bng nh là các lp logic gia các bng logic, và tài nguyên h thng nh là các a và b nh.
- 44 Nhp môn H qun tr c s d liu DB2 Hình 4.8 – Không gian b ng c t(o m c nh khi mt CSDL c t(o ra. Không gian bng SYSCATSPACE cha các bng danh mc (Catalog). Bng danh mc này c0ng c bit n trong các h thng qun lý c s d liu quan h khác nh là t, in d liu (data dictionary). V c bn, bng này cha thông tin h thng mà bn không c sa i c0ng nh xóa i; nu không c s d liu ca bn s/ hot ng không chính xác. Không gian bng TEMPSPACE1 c DB2 s dng khi mà cn thêm không gian cho x lý mt s thao tác nh là s%p xp. Không gian bng USERSPACE1 thông th ng c dùng lu tr các bng c s d liu ng i dùng khi mt bng c to ra mà không có không gian bng riêng bit lu tr nó. Bn c0ng có th to cho riêng mình các không gian bng khi s dng câu lnh CREATE TABLESPACE. Hình 4.9 mô t cách to không gian bng MYTBLS1 trong c s d liu MYDB1 ca th hin DB2. Khi bn to ra mt không gian bng, bn c0ng ch! nh các a và vùng m d liu s dng. Do ó, nu bn có mt bng “nóng”, ó là mt bng c s dng th ng xuyên, bn có th dùng nhng a nhanh nht và phn ln b nh thông qua vic n nh các c tính này cho không gian bng. Trong hình 4.9, ta thy có hai i t ng khác c mc nh to ra: mt vùng m d liu IBMDEFAULTBP, và các tp nht ký. Vùng m d liu v c bn là mt vùng nh c s dng cho c s d liu. Bn có th to mt hay nhi u vùng m, nhng luôn luôn phi có mt vùng m vi kích c* mt trang nh ngang b&ng kích thc trang nh ca không gian bng có s+n. Trang nh và kích thc trang nh s/ c tho lun chi tit hn vào Chng 6, Kin trúc ca DB2. Các tp nht ký (log) dùng phc hi. Khi bn làm vic trên mt c s d liu, các thông tin không ch! c lu tr trên các a dành cho c s d liu ó, mà còn có c các tp nht ký lu tr tt c thao tác x lý trên d liu y. C coi các tp nht ký nh các tp lu tm mà trên ó lnh “autosave” c thi hành. Các tp nht ký s/ c nói k hn Chng 11: Sao lu và phc hi.
- Nhp môn H qun tr c s d liu DB2 45 Hình 4.9 – Vùng m d liu và các tp nht ký. Phn trc, chúng ta ã trao i r&ng các th hin là các môi tr ng c lp, và do ó, mt c s d liu trùng tên có th c to trong các th hin khác nhau. C0ng ging nh các th hin, các c s d liu c0ng là các ch th c lp; do ó, các i t ng trong mt mt c s d liu này không có liên h nào vi các i t ng trong mt mt c s d liu khác. Vic to mt không gian bng cùng tên “mytbls1” trong mt c s d liu MYDB1 và mt c s d liu SAMPLE trong th hin DB2 c mô t nh trong hình 4.10. $i u này là h p l bi vì các c s d liu là các n v riêng bit. Lu ý r&ng hình 4.10 không mô t các i t ng mc nh khác ca c s d liu SAMPLE do gii hn không gian trong hình v/. Hình 4.10 – Không gian b ng có cùng tên trong các c s d liu khác nhau. Mt khi bn to ra mt không gian bng, bn c0ng có th to các i t ng trong không gian bng nh bng biu, khung nhìn và ch! mc. $i u này c mô phng nh trong Hình 4.11.
- 46 Nhp môn H qun tr c s d liu DB2 Hình 4.11 – B ng, khung nhìn và ch1 mc c t(o trong vùng b ng.
- Nhp môn H qun tr c s d liu DB2 47 Bài tp nhanh #2 - T(o mt CSDL mi Mc ích Trong bài tp nhanh này, bn s/ to ra mt CSDL mi s dng trình hng d-n to CSDL trong Trung tâm i u khin. Th tc thc hin: 1. T, ca s cây i t ng ca Trung tâm i u khin, nhp phi chut vào mc All Databases, ch'n tip mc Create Database, và ch'n danh sách With Automatic Maintenance. B%t u chy Create Database Wizard. 2. $t tên cho CSDL và v trí lu tp trong trang Name ca trình hng d-n. S dng các giá tr di ây: • Tên CSDL: EXPRESS • 5 a mc nh (ca Windows): C: • $ ng d-n mc nh (ca Linux): /home/db2inst1 • Bí danh: Tr ng h p này mc nh là EXPRESS nu trng. • Ghi chú: Tr ng h p này có th tùy ch'n, bên trái có th trng. Sau ó nhp chut vào nút Next tip tc trang k ca trình hng d-n. 3. Trong trang Specify where to , không thay i bt k) cái gì, và nhp Next. 4. Trong trang Select your maintenance , ly giá tr mc nh (Yes, I can specify an offiline ), và nhp Next. 5. Ch! nh khe th i gian bo trì trong trang Timing. Ch! rõ 2 hoc hn 4 gi mt tun khi DB2 có th thc hin t ng duy trì các công vic, gi vic hot ng bình th ng ca CSDL. Bây gi , cu hình khe th i gian b%t u lúc 1 gi sáng t, th hai ti th nm, kéo dài 6 ting. Nhp vào nút Next. 6. Cu hình thông ip trên trang Mail Server ca trình hng d-n. DB2 có th t ng gi mt th in t hay mt trang nu có mt s c hay mt i u kin bt th ng c phát hin thy. Nu bn mun cài t li i u này, hãy ch! ra mt máy ch SMTP có s+n nào ó DB2 dùng trong vic gi th in t. Vi bài tp này, chúng ta không có mt máy ch SMTP nào, vì th cho phép trng phn này và nhp nút Next. 7. Xem li các tùy ch'n ã ch'n trong trang Summary trong trình hng d-n. Nhp vào nút Finish b%t u tin trình to ra CSDL. CSDL c to ra th ng phi mt mt vài phút, trong th i gian này ch! th báo tin trình ang thc hin s/ hin ra. 4.1 C$u hình DB2 Ta có th cu hình các tham s ca DB2 b&ng cách s dng công c Configuration Advisor – công c tr giúp cu hình. $ khi ng công c tr giúp cu hình t, trung tâm i u khin, nhn chut phi lên mt c s d liu và ch'n “Configuration Advisor”. Da trên cách tr l i ca bn v mt s câu hi liên quan n tài nguyên h thng, khi l ng công vic, công c h. tr cu hình s/ cung cp mt danh sách các tham s ca DB2 nên thay i ng vi các giá tr phù h p. Nu bn mun bit chi tit hn v cu hình trên DB2, hãy 'c tip; nu không, s dng công c tr giúp cu hình c0ng giúp bn hoàn thành tt công vic trên DB2.
- 48 Nhp môn H qun tr c s d liu DB2 Mt máy ch DB2 có th cu hình trên 4 cp : - Các bin môi tr ng. - Tp cu hình qun tr c s d liu (dbm cfg). - Tp cu hình c s d liu (db cfg). - $ng kí lý lch DB2. $i u này c mô t trong Hình 4.12. Trong hình, hãy chú ý v trí ca m.i chic hp. Ví d, các bin môi tr ng c thit lp cp h i u hành ca máy ch, trong khi các tham s tp cu hình qun lý c s d liu c thit lp lp th hin . Tham s cu hình c s d liu c qun lý lp c s d liu, và ng ký lý lch (profile DB2) c thit lp hoc h i u hành hoc lp th hin. Hình 4.12 – C$u hình DB2 4.1.1 Các bin môi tr ng Các bin môi tr ng là các bin c thit lp h i u hành. Mt bin môi tr ng chính là DB2INSTANCE. Bin này cho bit th hin ang hot ng mà bn ang làm vic, và các lnh DB2 bn s/ áp dng n. Ví d, thit lp th hin hot ng là “myinst” trên Windows, bn có th chy lnh h i u hành sau: set db2instance = myinst 4.1.2 Tp c$u hình qu n tr c s d liu (dbm cfg) Tp cu hình qun tr c s d liu (dbm cfg) bao gm các tham s nh hng ti th hin và tt c c s d liu cha trong ó. Tp cu hình qun tr c s d liu có th c xem xét hay sa i b&ng cách s dng dòng lnh, hoc thông qua Trung tâm i u khin ca DB2. $ làm vic vi DBM CFG t, Trung tâm i u khin, la ch'n i t ng th hin t, nhánh th hin ca trung tâm i u khin, nhn chut phi cho trình n bt lên và la ch'n Configuration Parameters. Công vic này c mô t trong Hình 4.13.
- Nhp môn H qun tr c s d liu DB2 49 Hình 4.13 – C$u hình dbm t' Trung tâm i#u khin. Sau khi ch'n Configuration Parameters, mt màn hình s/ hin th lên nh trong Hình 4.14 vi danh sách các tham s dbm cfg. Hình 4.14 – Danh sách dbm cfg. Phn ln tham s là ng, ngha là các thay i s/ có hiu lc ngay lp tc; tuy nhiên, thay i mt s tham s yêu cu phi khi ng li th hin có hiu lc. T, công c dòng lnh, i u này có th thc hin b&ng các lnh db2stop và db2start. Trc khi mt th hin ng,ng, tt c các ng dng phi c ng%t kt ni. Nu bn mun ng,ng mt th hin ngay lp tc, bn có th dùng lnh db2stop force.
- 50 Nhp môn H qun tr c s d liu DB2 Mt th hin c0ng có th ng,ng b&ng cách nhn chut lên i t ng th hin và la ch'n Stop hay Start thông qua Trung tâm i u khin. Bng 4.3 Mô t mt s lnh hu dng qun tr công c dbm cfg t, dòng lnh. Lnh Mô t db2 get dbm cfg Thu thp thông tin v dbm cfg db2 update dbm cfg Cp nhp giá tr ca tham s dbm using cfg. B ng 4.3 – Các lnh i#u khin dbm cfg. 4.1.3 Tp c$u hình c s d liu (db cfg) Tp cu hình c s d liu (db cfg) bao gm các tham s tác ng n t,ng c s d liu. Tp cu hình c s d liu có th xem xét hay sa i b&ng dòng lnh, hoc thông qua Trung tâm i u khin ca DB2. $ làm vic vi DB CFG t, Trung tâm i u khin, ch'n i t ng c s d liu t, th mc c s d liu ca màn hình Trung tâm i u khin, nhn chut phi cho trình n bt lên và la ch'n Configuration Parameters. Vic này c mô t nh trong Hình 4.15. Hình 4.15 – C$u hình db cfg t' Trung tâm i#u khin. Sau khi ch'n Configuration Parameters, mt màn hình s/ hin th lên nh trong Hình 4.16 vi danh sách các tham s db cfg.
- Nhp môn H qun tr c s d liu DB2 51 Hình 4.16 – C$u hình c s d liu db cfg. Bng 4.4 Mô t mt s lnh hu hiu qun lý db cfg b&ng dòng lnh. Lnh Mô t get db cfg for Thu thp thông tin v db cfg ca c s d liu mong mun. update db cfg for Cp nhp giá tr cho mt tham s using ca db cfg. B ng 4.4 – Lnh i#u khin db cfg. 4.1.4 %ng ký lý lch DB2 (profile). Các bin ng ký lý lch DB2 bao gm các tham s có th trên mt n n c th và có th thit lp thành toàn cc (nh hng ti tt c th hin), hay t,ng lp th hin (nh hng riêng t,ng th hin). Bng 4.5 Mô t mt s lnh hu hiu iu khin các bin ng ký lý lch DB2. Lnh Mô t db2set –all Lit kê tt c các bin ng ký lý lch DB2 hin ti c thit lp. db2set –lr Lit kê tt c bin ng ký lý lch DB2. db2set = Thit lp mt giá tr cho mt tham s. B ng 4.5 – Các lnh i#u khin ng ký lí lch DB2. Bng 4.6 Mt s bin ng ký DB2 hay c dùng nht.
- 52 Nhp môn H qun tr c s d liu DB2 Bin ng ký Mô t DB2COMM Ch! nh nhng qun tr giao tip s/ khi ng khi b%t u công c qun tr c s d liu. DB2_EXTSECURITY Trên Windows, ngn chn nhng ng i cha c nh danh kt ni ti DB2 b&ng cách khóa tp tin h thng DB2. DB2_COPY_NAME Lu tr tên ca bn sao DB2 hin ti ang dùng. $ chuyn sang mt bn sao DB2 ã cài khác, chy lnh installpath\bin\db2envars.bat. Bin này không th dùng cho mc ích này. B ng 4.6 – Các bin ng ký DB2 hay c dùng. Ví d, cho phép giao tip s dng giao thc TCP/IP, thit lp bin ng ký DB2COMM thành TCPIP nh di: db2set db2comm = tcpip 4.2 Máy ch qu n tr DB2 Máy ch qun tr DB2 (DAS) là mt tin trình n n chy trên máy ch DB2 cho phép các máy khách t, xa có th qun tr máy ch DB2 thông qua công c giao din h'a. 4 ây ch! có mt DAS trên m.i máy tính nh trên Hình 4.16. Hình 4.16 – Máy ch qu n tr DB2 (DAS).
- Nhp môn H qun tr c s d liu DB2 53 Bài tp nhanh #3 – Làm vic vi th hin, c s d liu và c$u hình Mc ích Trong bài tp nhanh này, bn s/ to mt th hin mi, c s d liu, và tham s cu hình trên máy ch DB2 chy trên Windows. Bn có th thc hin b&ng Trung tâm i u khin hoc b&ng dòng lnh. Chúng tôi hng ãn cách làm b&ng dòng lnh. Th tc 1. T, ca s dòng lnh, to mt th hin có tên là newinst db2icrt newinst 2. Trên th hin v,a to newinst, to mt c s d liu newdb vi các giá tr mc nh set db2instance=newinst db2start db2 create database newdb 3. Lit kê tt c các th hin trên máy ch ca bn db2ilist 4. Chuyn qua th hin DB2 and phi ch%c ch%n là ã chuyn tht s set db2instance=db2 db2 get instance 5. $i tham s FEDERATED ca dbm cfg thành giá tr YES (t, giá tr NO) và kim tra thay i ã c thc hin. db2 update dbm cfg using FEDERATED YES db2 force applications all db2 terminate db2stop db2start db2 get dbm cfg 6. Kt ni ti c s d liu SAMPLE vi cp tên/mt kh"u nh khi bn truy nhp vào h i u hành db2 connect to sample user using 7. Xem li s các ng dng ang chy trên th hin hin th i db2 list applications show detail 8. M mt ca s lnh khác ca DB2 và kt ni ln na vi c s d liu SAMPLE không ch! ra tên/mt kh"u. Sau ó xem li xem bn có bao nhiêu kt ni. db2 connect to sample db2 list applications 9. T%t mt ca s dòng lnh DB2 db2 force application 10. B th hin newinst db2idrop newinst 11. B và to li DAS, và khi ng nó. db2admin stop
- 54 Nhp môn H qun tr c s d liu DB2 db2admin drop db2admin create db2admin start 12. $t bin DB2COMM ca DB2 Registry thành tcpip và npipe trong th hin ca bn db2set db2comm=tcpip,npipe db2stop db2start 13. Không t bin DB2COMM db2set db2comm= db2stop db2start 14. Kim tra giá tr hin th i ca tham s LOGSECOND ca db cfg, và thay giá tr ca nó b&ng 5 và kim tra li giá tr mi db2 connect to sample db2 get db cfg db2 update db cfg using LOGSECOND 5 db2 get db cfg
- Nhp môn H qun tr c s d liu DB2 55 5 Ch ng 5 – Các công c DB2 Trong chng này chúng ta s/ xem xét mt s công c ca DB2. Trong chng này, chúng ta s/ tp trung vào hình e-líp ca hình 5.1. Hình 5.1 - B&c tranh tng th DB2: Công c ca DB2 Chú ý: Xem video gii thiu các công c ca DB2 ti ng d-n Hình 5.2 lit kê tt c các công c DB2 s+n có trong IBM DB2 Start Menu. Hu ht các công c này ging nhau trên c Linux và Windows.
- 56 Nhp môn H qun tr c s d liu DB2 Hình 5.2 - Các công c DB2 trên IBM DB2 Start Menu Bng 5.1 cung cp mt danh sách các lnh t%t g'i mt s các công c DB2 ph bin nht trong c môi tr ng Linux và Windows. Tên công c Lnh Command Editor Ca s nhp lnh db2ce Command Line processor B x lý dòng lnh db2 Command Window Ca s lnh (Ch! dành cho db2cmd môi tr ng Windows) Control Center Trung tâm i u khin db2cc Task Center Trung tâm tác v db2tc Health Center Trung tâm tình trng db2hc Configuration Assistant Tr giúp cu hình db2ca First Steps Bc khi u db2fs B ng 5.1 - Các lnh t,t cho mt s công c DB2 5.1 Trung tâm i#u khin Công c chính ca DB2 dùng trong vic qun tr c s d liu là Trung tâm i u khin có giao din nh trong hình 5.3
- Nhp môn H qun tr c s d liu DB2 57 Hình 5.3 - Trung tâm i#u khin ca DB2 Trung tâm i u khin là mt công c qun lý tp trung cho phép bn: • Xem xét h thng ca bn, các bn cài t DB2, các c s d liu và các i t ng trong c s d liu; • To, sa và qun lý c s d liu và các i t ng c s d liu; • Khi ng các công c h'a khác ca DB2 Khung bên trái cung cp mt cây phân cp trc quan phn ánh cu trúc ca các i t ng c s d liu trong h thng ca bn, vi các “th mc” (folder) i din cho bng (Tables), khung nhìn (Views) Khi bn nhn úp chut vào mt th mc (ví d th mc Tables, nh trong hình 5.3), khung trên cùng bên phi s/ lit kê tt c các i t ng liên quan, trong tr ng h p này là tt các bng liên quan n c s d liu SAMPLE. Nu bn ch'n mt bng nào ó khung trên bên phi, thì khung phía di bên phi s/ cung cp các thông tin chi tit hn v bng ó. Nhn chut phi vào các th mc/ i t ng khác nhau trong Cây i t ng (Object tree) s/ hin lên mt bng ch'n thích h p vi th mc/ i t ng ó. Ví d, nhn phi chut lên mt cài t DB2 và ch'n “Configure parameters” cho phép bn xem và cp nht tp cu hình cho chng trình qun tr c s d liu. Tng t, nu bn nhn chut phi vào mt c s d liu và ch'n “Configure parameters”, bn có th xem và cp nht tp cu hình cho c s d liu ó. Môi tr ng DB2 và các thông s cu hình ã c nh%c ti chng 4, Môi tr ng DB2. Ln u tiên khi ng Trung tâm i u khin, bn c hi và la ch'n cách trung tâm i u khin s/ hin th nh th nào. 6ng vi m.i cách hin th, các i t ng c s d liu s/ c th hin th theo kiu tng ng. Hình 5.4 là hp thoi dùng la ch'n cách hin th ca Trung tâm i u khin.
- 58 Nhp môn H qun tr c s d liu DB2 Hình 5.4 - Hp tho(i chn cách hin th Trung tâm i#u khin Cách hin th c bn (basic) cung cp các chc nng nòng ct ca DB2. Cách hin th nâng cao (advanced) th hin nhi u la ch'n và chc nng hn. Cách hin th tùy ch'n (custom) cho phép bn tùy bin các hình thc th hin các chc nng, các la ch'n và các i t ng theo bn mun. $ bt li hp thoi này, bn ch'n “Customize Control Center” t, bng ch'n Tools nh trong hình 5.5 Hình 5.5 - Tùy bin Trung tâm i#u khin
- Nhp môn H qun tr c s d liu DB2 59 Khi ng Trung tâm i#u khin Có nhi u cách khi ng Trung tâm i u khin: • S dng t, lnh Start ca Windows • Chy lnh db2cc t, du nh%c lnh • Nhn vào biu t ng Trung tâm i u khin trên bt k) thanh công c nào ca công c giao din h'a DB2. • T, biu t ng DB2 trên khay h thng ca Windows nh trong hình 5.6 (Nhn phi chut vào biu t ng DB2 màu xanh và ch'n Trung tâm i u khin) Hình 5.6 - Khi ng Trung tâm i#u khin DB2 t' khay h thng ca Windows 5.2 Nhp lnh tr!c tip S dng ca s nhp lnh ca DB2 (Command Center), bn có th thc thi các lnh DB2, SQL và các câu lnh XQuery, phân tích k hoch thc hin ca mt câu lnh, xem hay sa kt qu ca câu truy vn. Hình 5.7 là hình nh ca Ca s nhp lnh cùng vi mô t ng%n g'n các thành phn ca nó. $ang ch'n Ca s Quay tr l i Trung nhp lnh tâm i u khin Thêm mt kt ni vi c s d Vùng nhp lnh liu C s d liu ang kt ni Vùng kt qu Ký t c dùng xác nh kt thúc c a câu lnh Hình 5.7 - C a s nhp lnh ca DB2 Trong vùng nhp lnh (input area), bn có th nhp nhi u câu lnh cùng lúc, nhng cn m bo các câu lnh kt thúc vi ký t kt thúc do bn ch'n. Khi bn bm nút thc hin (xem hình 5.8), các câu lnh s/ c thc hin ln l t. Nu nh bn ánh du mt câu lnh nào ó thì ch! mình câu lnh này s/ c thc hin. Mt kt ni ti c s d liu cn phi c thit lp trc khi thc hin bt k) câu lnh SQL nào, tuy nhiên bn c0ng có th chèn câu lnh thc hin kt ni vào on lnh ca mình.
- 60 Nhp môn H qun tr c s d liu DB2 Thc hin câu lnh Thc hin câu lnh và sinh Sinh ra mt k hoch truy cp mà (Có th dù ng t h p phím ra mt k hoch truy cp không thc hin câu lnh t%t Ctrl+En ter) (S/ nói k( hn phn sau) (S/ nói k( hn phn sau) Hình 5.8 - C a s nhp lnh – Th2 Lnh Khi ng C a s nhp lnh Bn có th khi ng ca s nhp lnh b&ng mt s cách: 1 T, Menu Start ca Windows: Start -> Programs -> IBM DB2 -> DB2COPY1 (default) -> Command Line Tools -> Command Editor 1 T, mt ca s nhp lnh (ca windows hoc linux), gõ db2ce 1 T, menu Tools ca Trung tâm i u khin 1 Nhúng trong Trung tâm i u khin: - Nhn phi chut vào biu t ng c s d liu SAMPLE trong khung hin th các i t ng ca Trung tâm i u khin sau ó ch'n menu Query. - Bt k) khi nào mt i t ng mà bn có th truy vn, c ch'n (c s d liu, bng ), bn có th khi ng Ca s nhp lnh b&ng cách nhn vào ng d-n Query trong khung thông tin chi tit v i t ng ca Trung tâm i u khin (khung di bên tay phi). 1 T, Trung tâm i u khin, nhn ch'n biu t ng Ca s nhp lnh trên thanh công c ca Trung tâm i u khin nh trong hình 5.9 Hình 5.9 - Biu t ng C a s nhp lnh trong Trung tâm i#u khin Thêm mt kt ni ti c s d liu $ thêm mt kt ni ti mt c s d liu nhn vào nút Add (xem hình 5.7). Mt hp thoi nh trong hình 5.10 s/ xut hin.
- Nhp môn H qun tr c s d liu DB2 61 La ch'n mt c s d liu trong h thng Ch'n ô này nu bn mun s dng ID và mt kh"u ca ID và mt ng i dùng kh"u ca mt ang ng ng i dùng nhp vào h ca h i u i u hành. hành. Hình 5.10 - Thêm mt kt ni c s d liu 5.3 Trình tr giúp SQL Nu bn không quen thuc vi ngôn ng SQL và thích s dng mt trình h. tr hoc hng d-n t ng sinh mã SQL, lúc này trình tr giúp “SQL Assist Wizard” là mt công c s+n có t, trình son tho dòng lnh (Command Editor) s/ giúp bn gii quyt. Nh hình 5.11 bên di, bn có th triu g'i nó t, Command Editor b&ng vic nhp chut vào biu t ng sau vi ký hiu SQL (ni lên trong hình vi vòng tròn ).
- 62 Nhp môn H qun tr c s d liu DB2 Hình 5.11 – Gi trình tr giúp SQL Assist Wizard. Hình 5.12 trình bày v trình tr giúp SQL Assist Wizard. Nó cho phép s dng song hành ng th i c hai ch . $u tiên ch! ra kiu ca câu lnh SQL bn h. tr vi (SELECT, INSERT, UPDATE, DELETE). Tùy theo câu lnh bn ch'n, các tùy ch'n khác nhau s/ c hin th ra. 4 phn cui cùng ca ca s bn s/ nhìn thy câu lnh SQL c xây dng nên ging nh bn ch'n nhng la ch'n khác trong trình hng d-n.
- Nhp môn H qun tr c s d liu DB2 63 Hình 5.12 – Trình tr giúp SQL Assist Wizard 5.4 Nút “Show SQL” Hu ht các công c tr giúp h'a (GUI) và các trình hng d-n trong DB2 cho phép bn xem li câu lnh hin th i hoc câu lnh SQL ã c thc thi ra kt qu b&ng vic s dng công c hay trình hng d-n thc hin mt công vic. $ xem phn này, nhp chut vào nút Show SQL trong công c bn ang làm vic, nh hình 5.13 và hình 5.14. Hình 5.13 – Nút “Show SQL” Hình 5.14 – %u ra ca mt phn trình bày v# nút “Show SQL” Kh nng hin th li nhng câu lnh SQL và nhng dòng lnh là rt có ích trong vic h'c cú pháp SQL, rút g'n và tái s dng nhng lnh và nhng dòng lnh trong mt tp s dng v sau này. Bn c0ng có th xây dng các kch bn b&ng vic dùng li nhng lnh và nhng dòng lnh ã c to ra này.
- 64 Nhp môn H qun tr c s d liu DB2 Bài tp nhanh #4: S dng kch b n vi c s d liu EXPRESS Mc ich: Trong bài tp nhanh này, ta s/ làm quen vi c s d liu EXPRESS b&ng dòng lnh và hai kch bn có s+n. Th tc: 1. Trong bài tp nhanh #2 chúng ta ã to c s d liu EXPRESS; bây gi ta s/ s dng nó vi mt s bng và d liu. $ thun tin, có hai kch bn, tên là quicklab4.db2 và quicklab4.dat ã c to ra làm vic ó cho chúng ta. Kch bn quicklab4.db2 cha các lnh to bng do ó nó c thc hin trc. Tp quicklab4.dat cha các câu lnh chèn d liu vào bng. C hai tp này n&m trong tp nn quicklabs.zip i kèm theo sách này. $ thc hin kch bn, hãy m ca s to dòng lnh. Ch%c ch%n r&ng c s d liu mi v,a to s/ c ch'n trong danh sách kéo-th ca thanh công c. Nu chúng không xut hin trong danh sách, thêm mt kt ni n chúng b&ng nút Add 2. Nhn Select -> Open trên ca s to dòng lnh và chuyn n th mc có lu tr hai kch bn. Ch'n tp quicklab4.db2 và nhn nút OK. Ni dung ca tp s/ xut hin trong vùng nhp lnh (input) ca ca s to dòng lnh. Nhn nút Run thc hin kch bn. Kim tra không có l.i khi thc hin. 3. Lp li mc 2 vi tp quicklab.dat CSDL mi mà ta v,a to này là mt ví d n gin cho mt ca hàng sách trên Internet. Bng BOOKS cha tt c thông tin v nhng cun sách c lu tr. Bng CUSTOMERS cha thông tin v m.i khách hàng ca ca hàng. Cui cùng bng SALES cha d liu v vic bán hàng. Bt k) lúc nào khách hàng t mua mt cun sách, mt bn ghi c to ra trong bng SALES. S di ây trình bày thit k và quan h gia các bng.
- Nhp môn H qun tr c s d liu DB2 65 5.5 T(o kch b n Nó rt hu ích cho phép to ra nhng tp kch bn, nhng tp thc thi nhng lnh DB2 hoc nhng câu lnh SQL lp li nhi u ln. Ví d, mt ng i qun tr (DBA) có th mun chy mt kch bn a ra hàng ngày kim tra s hàng ca nhng bng quan tr'ng. Có hai dng kch bn thông th ng: 1. Các kch bn SQL. 2. Các kch bn (v) h i u hành. 5.5.1 Các kch b n SQL Các kch bn SQL bao gm các câu lnh truy vn và các lnh CSDL. Các kch bn này là mi quan h n gin hiu và là n n c lp. Tuy nhiên, các bin hay các tham s không c h. tr . Cho ví d, các lnh di ây c lu li trong tp có tên script1.db2. CONNECT TO EXPRESS; CREATE TABLE user1.mytable ( col1 INTEGER NOT NULL, col2 VARCHAR(40), col3 DECIMAL(9,2)); SELECT * FROM user1.mytable FETCH FIRST 10 ROWS ONLY; COMMIT; Tp script1.db2 Trong phn kch bn trên, tt c các câu lnh là các câu lnh SQL, và m.i câu lnh c cách nhau bi mt du phân cách và trong tr ng h p này là du chm ph"y. Tên tp không nht thit s dng uôi m rng là “db2”. Bt k) phn m rng nào c0ng dùng c. Th!c thi các kch b n SQL: Mt kch bn SQL có th c thc thi b&ng nhi u cách khác nhau có th t, ca s lnh hoc DB2 Command Window trên Windows, hoc thông qua Linux shell. $ chy kch bn t, DB2 Command Window hoc Linux shell, bn có th dùng các lnh di ây: db2 -t -v -f script1.db2 -z script1.log hoc, db2 –tvf script1.db2 –z script1.log Trong câu lnh này: -t Ch! ra các câu lnh dùng du kt thúc mc nh (du chm ph"y). -v Ch “l%m l i”, db2 hin th các lnh khi thc hin. -f Ch! ra r&ng tên tp sau c này là tp kch bn. -z Ch! ra r&ng theo sau thông báo tên tp s/ c s dng hin giá tr u ra cho vic phân tích sau này ( ây là mt la ch'n, nhng nên làm). Khi c hiu –t c dùng và không có du phân cách dòng nào c ch! rõ, du chm ph"y s/ c ch'n. Có mt s hoàn cnh mà ta cn n mt du phân cách khác. Ví d mt kch bn cha mã SQL PL cn dùng mt du phân cách câu lnh khác vi ký t mc nh (du chm ph"y), bi vì nhng du chm ph"y này ã c dùng bên trong các nh ngha i t ng SQL PL phân cách các câu lnh thuc v th tc.
- 66 Nhp môn H qun tr c s d liu DB2 Ví d, trong tp kch bn di ây có tên “functions.db2”, nó cha ngôn ng nh ngha d liu DDL to mt hàm, mt du chm ph"y là cn thit cui ca cú pháp SELECT bên trong hàm. Vi câu lnh CREATE FUNCTION du phân cách chúng ta phi s dng mt du chm than (!). Nu chúng ta li dùng mt du chm ph"y vào vic ngn cách câu lnh, khi chy s/ xy ra xung t t, kch bn, kt qu là có mt l.i trong thông báo t, DB2. CREATE FUNCTION f1() SELECT ; END! Tp functions.db2 $ cho DB2 bit r&ng mt ký t du phân cách khác c dùng, s dng c hiu –d, tip sau là ký t phân cách mong mun (du !) nh trình bày di ây: db2 –td! –v –f functions.db2 –z functions.log $ có các mô t v các c hiu khác b&ng cách chy câu lnh di ây trong Command Window hoc Linux shell: db2 list command option 5.5.2 Các kch b n vi h i#u hành Các kch bn vi h i u hành cung cp linh hot và tính nng mnh m/ hn, nh cho ta kh nng thêm vào nhng on mã lp trình có tính lô-gíc. Nhng on kch bn này ph thuc vào h i u hành n n, tuy nhiên chúng có h. tr các tham s và các bin. Di ây là ví d ca mt kch bn trong h i u hành Windows. set DBPATH=c; set DBNAME=PRODEXPR set MEMORY=25 db2 CREATE DATABASE %DBNAME% ON %DBPATH% AUTOCONFIGURE USING MEM_PERCENT %MEMORY% APPLY DB AND DBM db2 CONNECT TO %DBNAME% USER %1 USING %2 del schema.log triggers.log app_objects.log db2 set schema user1 db2 –t –v –f schema.db2 –z schema.log db2 –td@ -v –f triggers.db2 –z triggers.log db2 –td@ -v –f functions.db2 –z functions.log Tp create_database.bat $ thc hin kch bn vi h i u hành này t, dòng lnh, bn gõ lnh sau trong Windows: create_database.bat db2admin ibmdb2 Trong Windows s dng phn m rng “bat” nói cho h i u hành bit r&ng ây là mt tp tin thc thi x lý theo lô. Trong Linux, bn cn thay i kiu trên tp tin ch! nh r&ng tp tin này là mt tp tin thc thi b&ng cách s dng lnh nh chmod +x. Sau ó, bn có th chy tp tin này vi cách thc ging nh phn trên.
- Nhp môn H qun tr c s d liu DB2 67 Bài tp nhanh #5 – T(o mt kch b n cài t cho c s d liu EXPRESS Mc tiêu Các kch bn là mt c ch mnh m/ trong vic thc hin nhng công vic có tính cht lp i lp li nh tp h p thng kê cho c s d liu, sao lu, và trin khai c s d liu. Các kch bn h i u hành có l i im ca vic h. tr các tham s kch bn, i u này giúp cho chúng linh hot hn. Trong bài tp nhanh này, bn s/ to ra mt kch bn h i u hành trin khai c s d liu EXPRESS là EXPRESS2. Các kch bn này s/ g'i kch bn vi SQL ã c to ra trc ó cho các i t ng c s d liu. Nh&m mc ích tit kim không gian, bài tp nhanh này ch! hin th nhng kch bn và câu lnh dành riêng cho n n Windows. Nu bn mun làm vic trên Linux, hãy m bo r&ng bn thc hin nhng thay i phù h p vi nhng s hng d-n sau ây. Th tc 1. M mt chng trình son tho vn bn, nh Notepad hay Wordpad và nhp vào thông tin c hin th di ây. 2. Lu li tp tin kch bn trong mt th mc và t tên cho tp tin này là create_database.bat. Trong hp thoi ca s Save As, m bm r&ng bn ã ch'n mc tùy ch'n MS-DOS Format (trong Wordpad). Nu bn lu tp tin này di mt nh dng khác, Wordpad có th s/ to thêm mt s ký t "n và vic này có th gây ra nhng vn trong khi quá trình thc thi ca kch bn. Thêm vào ó, hãy t du ngoc kép bao ly tên ca tp tin m bo r&ng Windows không t ng thêm phn m rng .TXT cho tp tin nh hình v/ di ây.
- 68 Nhp môn H qun tr c s d liu DB2 3. $ chy kch bn tng tác vi DB2, bn phi có mt môi tr ng dòng lnh DB2. $ m ca s lnh DB2, hãy vào Start -> Program Files -> IBM DB2 -> DB2COPY1 (default) -> Command Line Tools -> Command Window. Cách khác, bn có th s dng Start -> Run, gõ vào db2cmd và n enter nh hình v/ di ây 4. Sau ó chy kch bn, nhp vào các lnh sau: cd C:\express create_database.bat db2admin ibmdb2
- Nhp môn H qun tr c s d liu DB2 69 5. Bn hãy dành chút th i gian làm quen vi kch bn mà bn v,a to xong. Bn có hiu nhng gì ang xy ra ti t,ng dòng không? 6. Hãy c g%ng tr l i nhng câu hi sau ây: a. Kt ni c s d liu c thit lp âu? b. Các ký hiu %1 và %2 ngha là gì? c. Dòng lnh sau ây dùng làm gì? Nó c s dng khi nào? Cho mc ích gì? SET DBPATH=C: d. Dòng lnh sau ây c dùng làm gì? del schema.log, triggers.log, app_objects.log e. $i u gì s/ xy ra khi kch bn c g'i mà li không có bt c tham s nào? f. Ti sao nhng kch bn SQL c g'i li không cha các câu lnh CONNECT TO? Chúng kt ni n c s d liu nh th nào?
- 70 Nhp môn H qun tr c s d liu DB2 5.6 Trung tâm tác v (Task Center) Công c Trung tâm tác v vi giao din h'a ng i dùng cho phép bn to ra nhng tác v: là mt tp h p nhng hot ng nh chy các lnh DB2, các lnh ca h i u hành, hay nhng kch bn. Các hành ng phía sau có th c thc hin ngay c khi tác v trc tht bi hay thành công. Ví d, nu mt tác v bao gm công vic sao lu mt c s d liu quan tr'ng vào lúc 3h sáng c thc hin thành công, mt email s/ c gi n cho DBA cung cp thông tin này. Mt khác, nu tác v sao lu tht bi thì Trung tâm tác v s/ ánh du trang (page) cho ng i qun tr bit. Hình 5.15 minh ho Trung tâm Tác v Hình 5.15 – Trung tâm Tác v 5.6.1 C s d liu Tools Catalog Tt c các thông tin chi tit v các tác v ca bn và lch thc hin tác v ó c lu tr trong mt c s d liu DB2 riêng bit g'i là c s d liu Tools Catalog. C s d liu này phi c tn ti s+n có th lên lch cho các tác v. $ to mt c s d liu Tools Catalog bn có th s dng lnh này: CREATE TOOLS CATALOG systools CREATE NEW DATABASE toolsdb Trong ví d trên, systools là tên s (schema name) ca tt c các bng trong c s d liu, và tên ca c s d liu là toolsdb. Chúng ta s/ nói nhi u hn v các s (schemas) trong chng 8 - Làm vic vi các i t ng c s d liu. Khi ng Trung tâm Tác v Bn có th khi ng Trung tâm Tác v t, Trung tâm $i u khin b&ng cách nhn vào Tools -> Task Center nh minh h'a trong hình 5.16. Mt cách khác, bn có th b%t u công c này t, menu Start ca Windows: Start -> Programs ->IBM DB -> DB2COPY1 -> General Administration Tools -> Task Center
- Nhp môn H qun tr c s d liu DB2 71 Hình 5.16 – Khi ng Trung tâm Tác v Lên lch vi Trung tâm Tác v Bt c loi kch bn nào c0ng có th c lên lch b&ng cách s dng Trung tâm Tác v (kch bn ó có th c hay không c to thông qua mt công c ca DB2 có giao din h'a ng i dùng). Các tác v c chy ti th i im ã lên lch t, h thng ni mà bn ã to c s d liu Tools Catalog. Chúng tôi khuyn khích bn t mình khám phá Trung tâm Tác v. Vic to mt tác v khá n gin. 5.7 Nht ký Công c Nht ký có giao din h'a ca DB2 cung cp cho ng i qun tr c s d liu mt nht ký v các hot ng trên biu m-u trc tuyn (online form). Hình 5.17 mô t v Nht ký trong DB2 và bng 5.2 mô t nhng thông tin mà bn có th thu c t, Nht ký.
- 72 Nhp môn H qun tr c s d liu DB2 Hình 5.17 – Nht ký Kiu thông tin Mô t Lch s tác v Tt c các công vic c lên lch ã c thc hin và (Task History) tình trng hot ng ca chúng Lch s ca c s d liu Bn ghi nh v các tác ng lên c s d liu (sao lu, (Database History) phc hi, t chc li (REORG), v.v ) Thông ip Nht ký ca các thông ip c phn hi t, các công c ca DB2. $i u này rt hu ích nu bn mun triu hi và i chiu các thông ip l.i c0, hoc nu bn óng hp thoi quá nhanh hay do trc trc. Bn ghi các thông báo Lu tr thông ip cp h thng. Các l.i nghiêm tr'ng c ghi li ây B ng 5.2 – Các thông tin c mô t trong Nht ký. Khi ch(y Nht ký Bn có th khi ng Nht ký t, Trung tâm i u khin b&ng cách bm chut vào Tools -> Journal, nh c mô t trong Hình 4.18. B&ng cách khác, bn có th chy công c này t, trình n Start ca Windows: Start -> Programs -> IBM DB2-> DB2COPY1 -> General Administration Tools -> Journal.