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 "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:
- nhap_mon_he_quan_tri_co_so_du_lieu_db2.pdf
Nội dung text: Nhập môn Hệ quản trị cơ sở dữ liệu DB2
- NHP MÓN DB2 Express-C Mt cun sách ca cng ng dành cho cng ng Li nói Ču: DR. ARVIND KRISHNA KHÓNG CH$ L .D' LI(U
- Nhp môn H qun tr c s d liu DB2 1 Xut bn ln u (tháng 11 nm 2007) Tài liu này s dng cho IBM DB2 Express-C phiên bn 9.1 v i h i u hành Linux, UNIX và Windows Bn quy n thuc công ty IBM
- Nhp môn H qun tr c s d liu DB2 2 Mc Lc Thông cáo và Nhãn hiu hàng hóa 7 Ai nên c cun sách này? 8 Cu trúc ca quyn sách này nh th nào? 8 M t quyn sách do c ng ng làm và giành cho c ng ng 8 Tác gi và nh ng ngi óng góp 8 Li cm n 9 Li cm n bn ti ng Vit 10 Li nói u 12 Phn I – Tng quan và Cài t 13 Chng 1 - DB2 Express-C là gì? 13 1.1 T do phát trin, trin khai và phân phi không có gii hn! 13 1.2 H tr k thut 14 1.3 Các máy ch DB2 14 1.4 Máy khách DB2 15 1.5 T do phát trin phn mm ng dng 16 1.6 Phiên bn và n bn DB2 (version and edition) 16 1.7 Chuyn sang n bn DB2 khác 17 1.8 Bo trì DB2 Express-C 17 1.9 M t s phn mm min phí liên quan 17 1.9.1 DB2 Developer Workbench (công c phát trin) 17 1.9.2 DB2 9 Embedded Application Server (máy ch nhúng) 18 1.9.3 DB2 9 Net Search Extender (m r ng tìm ki m trên mng) 18 1.9.4 B công c bt u Rails cho DB2 18 1.9.5 B công c bt u Web 2.0 dành cho DB2 18 Chng 2 – Các tính nng liên quan và các sn ph m 19 2.1 Các tính nng bao hàm trong ng ký s dng DB2 Express-C 20 2.1.1 Các chng trình sa li 20 2.1.2 Tính s n sàng cao và khôi phc sau s c (HADR) 20 2.1.3 Kh nng tái to d liu (di trú d liu) 20 2.2 Các tính nng không có trong bn DB2 Express-C 21 2.2.1 Phân vùng c s d liu 21 2.2.2 B tp trung k t ni 21 2.2.3 B m r ng không gian !a lý 22 2.2.4 B kim soát truy vn 22 2.3 Các sn ph"m có tr phí liên quan n DB2 22 2.3.1 DB2 Connect 22 2.3.2 WebSphere Federation Server 22 2.3.3 WebSphere Replication Server 23 Chng 3 - Cài t DB2 24 3.1 Các iu kin trc khi cài #t 24 3.2 Quyn cài #t h iu hành 24 3.3 Cài #t theo hng d$n t%ng bc 25 3.4 Cài #t hàng lot (Silent Install) 28 Bài tp nhanh #1: Cài #t DB2 Express-C và to ra c s d liu m$u 30 Chng 4 - Các công c DB2 32 4.1 Trung tâm iu khin (Control Center) 33 4.2 Nhp lnh trc ti p 36 4.3. Trình tr giúp SQL 38 4.4 Trình bày nút Show SQL 40
- Nhp môn H qun tr c s d liu DB2 3 Bài tp nhanh #2 - To m t CSDL mi vi Trung tâm iu khin 40 4.5 To k!ch bn 42 4.5.1 Các k!ch bn SQL 42 4.5.2 Các k!ch bn vi h iu hành 44 Bài tp nhanh #3 – To m t k!ch bn cài #t cho c s d liu EXPRESS 45 4.6 Trung tâm tác v (Task Center) 48 4.6.1 C s d liu Tools Catalog 48 4.7 Nht ký 49 4.8 Giám sát tình trng (health) 51 4.8.1 Trung tâm tình trng 51 Chng 5 - Môi trng ca DB2 54 5.1 Cu hình DB2 62 5.1.1 Các bi n môi trng 63 5.1.2 Tp cu hình qun tr! c s d liu (dbm cfg) 63 5.1.3 Tp cu hình c s d liu (db cfg) 65 5.1.4 &ng ký lý l!ch DB2 (profile) 66 5.2 Máy ch qun tr! DB2 67 Phn II – H c DB2: Qun tr C s d liu 68 Chng 6 - Kin trúc ca DB2 68 6.1 Mô hình x lý ca DB2 68 6.2 Mô hình b nh ca DB2 69 6.3 Mô hình lu tr ca DB2 70 6.3.1 Trang và phm vi 70 6.3.2 Vùng nh m 70 6.3.3 Các không gian bng 73 Chng 7 – Kt ni máy khách DB2 77 7.1 Tr giúp cu hình 77 7.1.1 Nh ng cài #t bt bu c trên máy ch 77 7.1.2 Nh ng cài #t cn thi t trên máy khách 79 7.1.3 To lý l!ch cho máy khách và máy ch 82 Bài tp nhanh #4 – S dng Tr giúp thi t lp cu hình 86 Chng 8 - Làm vic vi các i tng d liu 88 8.1 S 88 8.2 Bng 88 8.2.1 Kiu d liu 89 8.2.2 C t khoá chính (Identity columns) 91 8.2.3 Các tng tun t (Sequence object) 92 8.2.4. Các bng danh sách h thng 92 8.2.5. Khai báo các bng tm thi 93 Bài tp nhanh #5 - Khi to m t bng mi 94 8.3 Các khung nhìn (Views) 96 8.4 Các ch' mc (Index) 96 8.4.1 Tr giúp thi t k (Design Advisor) 97 8.5 Tính toàn v(n tham chi u 98 Chng 9 – Công c di chuyn d liu 100 9.1 Công c EXPORT (xut) 101 9.2 Công c IMPORT (nhp) 102 9.3. LOAD (np) 102 9.4 Công c db2move 104 9.5 Công c db2look 104
- Nhp môn H qun tr c s d liu DB2 4 Bài tp nhanh #6 - Trích xut DDL t% c s d liu EXPRESS 107 Chng 10 – Bo mt c s d liu 110 10.1 &!nh danh 111 10.2 Quyn hn 112 10.3 Quyn qun tr! c s d liu DBADM 114 10.4 Nhóm PUBLIC 115 10.5 Lnh GRANT và REVOKE 115 10.6 Kim tra vic cp quyn và quyn 115 10.7 Xem xét quyn trên nhóm 117 Bài tp nhanh # 7: Cho phép và hy b) (phân quyn) quyn ngi s dng 118 Chng 11 – Sao lu và khôi ph c 121 11.1 Nht ký c s d liu 121 11.2 Các kiu nht ký 122 11.3 Các kiu ghi nht ký 122 11.3.1 Ghi tun t quay vòng 122 11.3.2 Nht ký lu tr 123 11.4 Nht ký c s d liu t% Trung tâm iu khin 123 11.5 Các tham s ca nht ký 124 11.6 Sao lu c s d liu 125 Bài tp nhanh #8 - Lp l!ch sao lu 127 11.7 Khôi phc c s d liu 129 11.7.1 Các kiu khôi phc d liu 129 11.7.2 Khôi phc c s d liu 129 11.8 Các hot ng khác vi BACKUP và RESTORE 130 Chng 12 - Nhim v bo trì 131 12.1 REORG, RUNSTATS, REBIND 131 12.1.1 Lnh REORG 131 12.1.2 Lnh RUNSTATS 132 12.1.3 BIND/REBIND 132 12.1.4 Các công vic duy trì t% Trung tâm iu khin 133 12.2 Các la chn bo trì 135 Bài tp nhanh #9 – Cu hình vic bo trì t ng 137 Chng 13 – Truy cp ng thi và khóa 139 13.1 Các giao d!ch 139 13.2 Truy cp ng thi 140 13.3 Các vn khi không kim tra truy cp ng thi 141 13.3.1 Mt d liu cp nht 141 13.3.2 &c vi không cam k t 142 13.3.3 &c không l#p li 142 13.3.4 &c th%a 143 13.4 Các mc cô lp 144 13.4.1 &c vi không cam k t 144 13.4.2 *n !nh con tr) 144 13.4.3 &c +n !nh 145 13.4.4 &c l#p li 145 13.4.5 So sánh các mc cô lp d liu 145 13.4.6 t mc cô lp 146 13.5 Khóa leo thang 147 13.6 Kim soát khóa 148 13.7 Ch khóa 148
- Nhp môn H qun tr c s d liu DB2 5 13.8 Vn khóa ph thu c và phát hin 149 13.9 Truy cp ng thi và thc tin khóa tt nht 150 PHN 3: HC DB2 – PHÁT TRIN NG DNG 152 Chng 14 – Các th t c SQL PL 153 14.1 DB2 Developer Workbench 154 14.1.2 To m t th tc lu trong DWB 154 14.2 M t s khái nim v th tc SQL PL 158 14.2.1 Cu trúc ca th tc 158 14.2.2 Nh ng thu c tính tùy chn ca th tc 158 14.2.3 Các loi tham s 159 14.2.4 Chú thích trong th tc SQL PL 159 14.2.5 Câu lnh ghép 160 14.2.6 Khai báo bi n 160 14.2.7 Câu lnh gán 160 14.3 Các con tr) (cursor) 161 14.4 &iu khin lung 161 14.5 Gi th tc 162 14.6 Li và x lý iu kin 163 14.7 SQL ng 165 Chng 15 – Hàm ni tuyn, hàm ngi dùng nh ngha, các hàm x ký các s! kin b"y (Inline SQL PL, UDF, Triggers) 166 15.1 Hàm n i tuy n SQL 166 15.2 B$y s kin (Triggers) 167 15.2.1 Các loi b$y s kin 167 Bài tp nhanh #10 - Khi to m t b$y b,ng Trung tâm iu khin 170 15.3 Hàm ngi dùng !nh ngh-a (UDF) 172 15.3.1 Hàm vô hng 172 15.3.2 Hàm bng 173 Bài tp nhanh #11 - Khi to UDF s dng DB2 Developer Wordbench 175 Chng 16 – SQL/XML và XQuery 176 16.1 S dng XML vi các c s d liu 176 16.2 C s d liu XML 177 16.2.1 c s d liu h tr XML 177 16.2.2 C s d liu thun XML 178 16.3 XML trong DB2 178 16.3.1 .u im ca công ngh pureXML trong DB2 9 179 16.3.2 Khái nim c bn v XPath 181 16.3.3 &!nh ngh-a XQuery 184 16.3.4 Chèn các tài liu XML 185 16.3.5 Truy vn d liu XML 188 16.3.6 Ni (join) vi SQL/XML 193 16.3.7 Ni (Join) vi XQuery 194 16.3.8 Các lnh cp nht và xóa 194 16.3.9 Ch' mc XML 195 Bài tp nhanh #12 – SQL/XML và XQuery 197 Chng 17 – Phát trin vi Java, PHP và Ruby 198 17.1 Phát trin ng dng b,ng Java 198 17.1.1 Trình iu khin JDBC kiu 2 (type 2) 198 17.1.2 Trình iu khin JDBC kiu 4 199 17.2 Phát trin ng dng b,ng PHP 200
- Nhp môn H qun tr c s d liu DB2 6 17.2.1 La chn k t ni DB2 cho PHP 200 17.2.2 /ng dng công ngh Zend Core dành cho IBM 201 17.3 Phát trin ng dng Ruby trên nn Rails 203 17.3.1 B công c phát trin DB2 trên nn Rails 203 A.1 Thêm thông tin v mã các li 204 A.2 SQLCODE and SQLSTATE 205 A.3 Nht ký khai báo qun tr! DB2 205 A.4 db2diag.log 206 A.5 Theo v t CLI 206 A.6 Khc phc và sa li trong DB2 206 Các trang web 207 Sách 208
- Nhp môn H qun tr c s d liu DB2 7 V cun sách này Thông cáo và Nhãn hiu hàng hóa Copyright IBM Corporation 2007 All right Reserved. IBM Canada 8200 Warden Avenue Markham, ON L6G 1C7 Canada Không c sao chép hoc s dng d i bt k dng thc nào hoc dch sang ngôn ng khác toàn b hoc bt c phn nào ca tài liu này mà không c s cho phép tr c ca ngi gi bn quy n trên. IBM không m bo hay i din cho nhng ni dung c nêu ra ây và không chu trách nhim v tính thng mi hoc tính h p lý cho bt kì mc ích nào. IBM cho rng mình không có trách nhim v i bt k li nào trong tài liu này. Thông tin trong tài liu này có th thay i mà không cn báo tr c. IBM giành quy n c thay i và không bt buc phi thông báo cho bt c ai v s thay i này. IBM không cam kt nhng thông tin trong tài liu này là m i nht. Các thông tin trong tài liu này liên quan n sn ph m không phi ca IBM ã có c qua các nhà cung cp sn ph m ó. IBM không kim tra các sn ph m ó và không kh!ng nh v tính chính xác khi thc hin, tính tng thích hoc bt k thc mc nào liên quan n sn ph m không phi ca IBM. Các câu h"i v kh nng ca các sn ph m không phi ca IBM cn c gi cho các nhà cung cp sn ph m ó. IBM, biu t ng IBM, DB2, DB2 Connect, DB2 Universal Database, i5/OS, pureXML, WebSphere, và z/OS là nhãn hiu hàng hóa ã ng ký ca t#p oàn IBM ti M$, các n c 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 n c khác, hoc c hai. Microsoft và Windows là nh%n hiu hàng hóa ca t#p oàn Microsoft ti M$, các n c khác, hoc c hai. Linux là nhãn hiu ng ký ca Linus Torvalds ti M$, các n c khác, hoc c hai. Tên ca công ty khác, sn ph m, hoc dch v có th là nhãn hiu ng ký ca h&. Trích d%n các sn ph m và dch v ca IBM trong tài liu này không có ngh'a là IBM a chúng n tt c các quc gia mà IBM có hot ng.
- Nhp môn H qun tr c s d liu DB2 8 Ai nên c cun sách này? Quyn sách này giành cho bt k ai ang làm vic hoc mun làm vic v i 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 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ì, gi i thiu h& sn ph m DB2 và các chc nng, giúp ( cài t và to m i 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 v i môi trng, kin trúc, kt ni t* xa, các i t ng d liu, chuyn d liu (nh#p và xut d liu), an toàn, sao lu và khôi phc, truy c#p +ng thi và khóa ca DB2, và các công vic bo trì thông thng. Phn III, H&c DB2: Phát trin ng dng, bao g+m th tc, hàm do ngi dùng nh ngh'a, các b%y s kin, SQL/XML, XQuery, phát trin ng dng bng Java, PHP và Ruby. Ph lc có các thông tin cn thit v sa li. Bài t#p ây là bài t#p nhanh, có hu ht các chng, tt c các tp cn thit thc hin bài t#p này có th tìm thy tp nén expressc_book_quicklabs.zip i kèm theo sách này, hoc s, tìm thy trang web ca IBM DB2 Express-C, a ch- www.ibm.com/db2/express Tài liu ca cun sách c.ng c s dng làm bài ging ca chng trình “DB2 v i /i h&c” (DB2 on Campus). Cun sách này c.ng giúp bn chu n b cho bài kim tra ca chng trình “DB2 v i /i h&c”, chng trình y ca nó bài h&c v i 16 gi trên l p. Bn có th xem thêm thông tin v chng trình này trang DB2 Express-C, a ch- www.ibm.com/db2/express/students.html. Mt quyn sách do cng ng làm và giành cho cng ng /i ng. làm DB2 Express-C ã có sáng kin làm quyn sách này cung cp mi0n phí cho cng +ng. Vit và ch-nh lý mt cun sách là vic làm khó khn. Mc ích ca chúng tôi là ni dung cun sách s, c duy trì và m rng bng vic tham gia ca cng +ng DB2 Express-C. Nu bn mun óng góp ý kin, óng góp nhng ni dung m i 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 v i tiêu “DB2 Express-C book changes.” Tác gi và nhng ngi óng góp Nhng ngi sau ây ã cung cp ni dung và có các óng góp có ý ngh'a cho cun sách này Tên /n v Chc danh Tài liu óng góp Ngày Raul F. Chong IBM G/ chng trình Bn tho tt c các Tháng 5 – “DB2 v i /i h&c” chng 2007 Ian Hakes IBM Cng +ng DB2 Xem li và sa cha Tháng 5, 6 Express-C – 2007 Rav Ahuja IBM G/ sn ph m DB2 Xem li, c#p nh#t và Tháng 7-10 trình bày cun sách - 2007
- Nhp môn H qun tr c s d liu DB2 9 Li cm n Chúng tôi chân thành cm n các cá nhân sau ây v i s tr giúp - Ted Wasserman, Clara Liu và Paul Yip phòng thí nghim IBM Toronto, ngi ã phát trin ng dng trong khuôn kh cun sách này - Don Chamberlin và Cindy Saracco v i các bài báo ca h& v XQuery ng trên developerWorks, và Matthía Nicola v i bài trình bày v pureXML. - Kevin Czap và Grant Hutchingson v i các tài liu k$ thu#t v phát trin DB2 - Katherine Boyachok v i thit k bìa - Susan Visser giúp ( xut bn cun sách này
- Nhp môn H qun tr c s d liu DB2 10 Li cm n bn ti ng Vit / có c bn dch ting Vit này, rt nhi u các bn sinh viên ã tham gia dch và hiu ính. Chúng ta t hào rng ây úng là mt quyn sách do cng +ng và vì cng +ng. Vì trình và thi gian hn ch, dù có th còn nhi u khim khuyt, nhng rt mong các bn ón nh#n nó nhit tình và óng góp ý kin cho bn dch hoàn thin hn. Hy v&ng rng các bn sinh viên s, tip tc chuyn n cng +ng nhng n ph m m i, v i cht l ng chc chn tt hn. Danh sách sinh viên tham gia dch và hiu ính: H và tên Trng 1 Bùi Thanh Sn /H Bách Khoa Hà Ni 2 Châu Uyên Minh H&c vin Công ngh Bu chính Vi0n thông TPHCM 3 /ng Chin Công Coltech Hà Ni 4 / Bá Lâm /H Bách khoa Hà Ni 5 / Tun Anh 6 / Tun Anh /H Khoa h&c T nhiên, Tp HCM 7 Hà Thúy Hng /H Khoa h&c T nhiên, Tp HCM 8 Hà Tun Trung /H Bách Khoa Hà Ni 9 Hà Tun Trung 10 Hoàng Minh Hi n Trung Ði H&c Công Ngh, VNU Hà Ni 11 Hunh Hu Hip H&c Vin công ngh BCVT 12 Hunh Minh Tân /H Khoa H&c Tu Nhien, Tp HCM 13 Lê Anh /c /H Bách Khoa Hà Ni 14 Lê Bá Tr&ng /H Khoa h&c T nhiên, Tp HCM 15 Lê Hunh Công Tho /H Công ngh Thông tin, Tp HCM 16 Lê Nguy0n Thúy An /H Công ngh Thông tin, Tp HCM 17 Lê Thành Huy /H Cn Th 18 Ngô Phi Thành /i h&c Duy Tân, /à N)ng 19 Nguy0n Anh Khoa /H Khoa h&c T nhiên, Tp HCM 20 Nguy0n Chin Thng /HBK /à N)mg 21 Nguy0n Hi Phong /H Bách Khoa Hà Ni 22 Nguy0n Hoàng Minh Quc 23 Nguy0n Hùng Thông /H S phm K$ thu#t, Tp. HCM 24 Nguy0n Hu Th& /H Khoa h&c T nhiên, Tp HCM 25 Nguy0n Lng Sn /i h&c Duy Tân, /à N)ng 26 Nguy0n Minh Châu /H Khoa h&c T nhiên, Tp HCM 27 Nguy0n Minh Tun /H Bách khoa Hà Ni 28 Nguy0n Minh Tun 29 Nguy0n Ng&c Duy 30 Nguy0n Ng&c Trí /H S phm K$ thu#t, Tp. HCM 31 Nguy0n Thành Trung /H Bách khoa Hà Ni 32 Nguy0n Th Phúc /i h&c Duy Tân, /à N)ng 33 Nguy0n Th Diu Hng /H Khoa h&c Hu 34 Nguy0n Th H+ng Hà /H Bách Khoa Hà Ni 35 Nguy0n Th Kim Phng /H Công ngh Thông tin, Tp HCM 36 V. Th Lan Chi /H Công ngh Thông tin, Tp HCM 37 Nguy0n Trang 38 Nguy0n Trung Hiu /H Khoa h&c T nhiên, Tp HCM 39 Nguy0n Vn Nam /H Khoa h&c Hu 40 Nguy0n Vn Nam /H Khoa h&c Hu
- Nhp môn H qun tr c s d liu DB2 11 41 Nguy0n Xuân Trng /H Khoa h&c T nhiên, Tp HCM 42 Phm Ng&c Huy /i h&c Công ngh-/i h&c quc gia Hà ni 43 Phm Th Minh Hi n /H Bách khoa /à N)ng 44 Phm V$ Tun 45 Quách Tiêu Thu#n Trung tâm Công ngh Phn m m - /H Cn Th 46 Thái Quang Hòa /H Khoa h&c Hu 47 Thái Tuy n /i h&c Nông Lâm tp. HCM 48 Trn Anh Huy /i h&c Duy Tân, /à N)ng 49 Trn Th Thúy Trinh /H Bách Khoa /à N)ng 50 Trn Vn Tn /H Bách khoa Hà Ni 51 Trn Vn Tn 52 Trn Vng Trung 53 Tun Vit
- Nhp môn H qun tr c s d liu DB2 12 Li nói u Sáng to là s t phá ca các tin b công ngh. Ti IBM, sáng to ã tr thành ci ngu+n ca s phát trin c s d liu. Là ngi i tiên phong trong k$ thu#t qun tr d liu trong nhng nm 60 và 70, chúng tôi tip tc a ra nhng sáng to công ngh v qun tr thông tin, biu hin bng hàng nghìn ng ký phát minh v qun tr d liu ca nhng nhà công ngh ca IBM. Kt qu là, mt s các t chc l n nht hành tinh ngày nay ã tin tng vào các sn ph m ca IBM nh DB2 v#n hành các gii pháp có nhu cu cao nht, qun tr nhng d liu ti quan tr&ng ca h&. Tuy nhiên DB2 không ch- dành cho các doanh nghip l n. V i vic a ra bn DB2 Express-C, công ngh ni ting DB2 ã s)n sàng cho các doanh nghip v*a và nh" - và không bt buc phi mt chi phí! Mc dù còn có các sn ph m mi0n phí hay các phn m m ngu+n 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 nhm vào kh nng tiên tin m i, mt s khác li h ng t i 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 d i dng b m sinh. /i u này làm cho DB2 tr nên rt lý tng cho các xu h ng m i ca ng dng SOA và Web 2.0 trong ó các lu+ng d liu XML là rt nhi u. Không ging v i h qun tr c s d liu ca các hãng thng mi khác, DB2 Express-C không gi i 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 ngi m i bt u s dng DB2 Express-C, nó s, giúp bn hiu các khái nim ca DB2 và cho phép bn phát trin k$ nng qun tr c.ng nh phát trin ng dng DB2. K$ nng và s hiu bit nh#n c t* cun sách này có liên quan rt 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ã ngu+n m , IBM chúng tôi v%n rt tin tng vào s h tr và c v. t* cng +ng. Tôi vui m*ng c thy cun sách này do các thành viên ca cng +ng DB2 Express-C phát trin và phát hành mi0n phí cho cng +ng. Tôi mong các bn c#p nh#t, làm giàu thêm kin thc ca cun sách v i hiu bit, kinh nghim ca các bn, và giúp dch cun sách này sang các ngôn ng khác, nh v#y nhng ngi khác s, có 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 13 1 Phn I – Tng quan và Cài t Chng 1 - DB2 Express-C là gì? DB2 Express-C là mt sn ph m thuc dòng IBM DB2 – phn 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 mi0n phí, không hn ch và d0 s dng. Ch C trong DB2 Express-C là vit tt ca Community (Cng +ng). Ngh'a là cng +ng nhng ngi s dng DB2 Express-C kt h p li h tr l%n nhau c trc tuyn và không trc tuyn. Cng +ng DB2 Express-C bao g+m các cá nhân và các công ty thit k, phát trin, trin khai, hay s dng các gii pháp c s d liu nh: • Các nhà phát trin ng dng có nhu cu v mt phn m m c s d liu chu n m xây dng các ng dng c l#p, dng khách-ch, dng n n web hoc các ng dng l n. • ISVs – các nhà cung cp phn m m c l#p, các nhà cho thuê phn cng, c s h tng hay nhng ngi cung cp gii pháp, mun óng gói mt máy ch d liu v i y tính nng nh là mt phn trong các gii pháp ca h&. • Ngi c vn, qun tr d liu, và kin trúc s công ngh thông tin, nhng ngi cn mt máy ch d liu mnh t h&c t#p, phát trin k$ nng, ánh giá hoc th nghim. • Các công ty m i thành l#p, v*a và nh" cn mt máy ch d liu tin c#y cho công vic và ng dng ca h&. • Nhng ngi yêu thích c s d liu, say mê tìm hiu công ngh mun có mt máy ch d liu d0 s dng xây dng ng dng Web 2.0 hay các ng dng th h sau. • Sinh viên, giáo viên hay nhng h&c gi mun có mt máy ch d liu linh hot ging dy, h&c t#p, nghiên cu. DB2 Express-C có y các tính nng c bn nh các n bn DB2 thng mi trên 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 2 b x lý, b nh 4GB, và không yêu cu bt k mt b nh chuyên dng hay các cài t h thng nào khác. DB2 Express-C c.ng bao g+m pureXML, pureXML là mt công ngh c trng ca DB2 dùng lu tr và x lý các vn bn XML b m sinh. 1.1 T do phát trin, trin khai và phân phi không có gii hn! Các t tng ct lõi ca DB2 Express-C g+m: • T do phát trin: Nu bn là ngi phát trin ng dng và cn mt c s d liu cho ng dng ca mình, bn có th s dng DB2 Express-C.
- Nhp môn H qun tr c s d liu DB2 14 • T do trin khai: Nu bn ang làm vic trong l'nh vc sn xut và cn mt c s d liu lu tr các thông tin quan tr&ng, bn có th dùng DB2 Express-C. • T do phân phi: Nu bn ang phát trin mt ng dng hay mt công c cn óng gói v i mt máy ch d liu, bn c.ng có th dùng DB2 Express-C. DB2 Express-C mi0n phí ngay c khi c óng gói vào trong ng dng ca bn, c phân phi mi khi bn bán ng dng ca mình. Bn ch- cn ng ký v i IBM tái phân phi DB2 Express-C. Tt nhiên vic ng ký c.ng hoàn toàn mi0n phí. • Không gii hn: Trong khi các i th cnh tranh a ra các gi i hn v kích th c c s d liu, nhng DB2 Express-C thì không t gi i 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. C.ng không có gi i hn nào v s l ng kt ni hay s ngi s dng trên mi máy ch. 1.2 H tr k thut Nu bn có bt k thc mc k$ thu#t nào v DB2 Express-C, bn có th ng câu h"i ca bn lên di0n àn ca DB2 Express-C. Di0n àn này c i u hành bi mt i DB2 Express-C, nhng chính cng +ng s, là nhng ngi gii áp trên c s t nguyn. IBM c.ng cho phép ngi dùng mua bn quy n theo nm v i giá thp (còn c g&i là Bn quy n 12 tháng hay Bn quy n thi hn c nh FTL (Fixed Term License)). Vic mua này s, cho phép ngi dùng c h tr k$ thu#t 24×7 c.ng nh c#p nh#t phn m m. V i khon phí thp hng nm ($2,995 trên mt máy ch mt nm M$ - có th thay i các n c 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 c.ng có thêm hai tính nng na là: tính s)n sàng phc h+i sau khi gp s c (HARD - High Availability Disaster Recovery) và di trú d liu truy vn (SQL replication - tái to li d liu v i các máy ch DB2 khác). 1.3 Các máy ch DB2 Tt c các n bn máy ch DB2 u có chung các thành phn lõi; Các n bn này c óng gói thu#n tin ngi s dng có th la ch&n các tính nng cn thit v i 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 Nh trên hình 1.1, n bn DB2 Express-C c.ng ging nh n bn DB2 Express ch- thiu i mt s thành phn. DB2 Express-C là hoàn toàn mi0n phí. C.ng nh ã nói trên, ngi dùng luôn c s)n sàng h tr k$ thu#t t* di0n àn, hoc có th nh#n s h tr chính thc 24x7 ca IBM nu tr phí 12 tháng.
- Nhp môn H qun tr c s d liu DB2 15 Hình 1.1 c.ng cho thy kh nng nâng cp t* DB2 Express-C lên bt kì n bn máy ch DB2 nào khác, vì tt c các máy ch DB2 u có chung thành phn lõi. /i u này có ngh'a là tt c các ng dng c phát trin trên mt n bn v%n s, hot ng trên các n bn khác mà không cn phi ch-nh sa. Và bt kì k$ nng nào bn h&c c t* mt n bn u áp dng c cho các n bn khác. 1.4 Máy khách DB2 Mt máy khách DB2 bao g+m các chc nng cn thit kt ni v i máy ch DB2. Tuy nhiên, không phi lúc nào c.ng cn cài t mt máy khách DB2. Ví d, mt ng dng JDBC (Java DataBase Connectivity) kiu 4 có th ni th!ng t i máy ch DB2, ch- cn có trình i u khin thích h p. Máy khách DB2 g+m nhng loi sau: • Máy khách DB2: y nht, bao g+m các công c + h&a, các trình i u khin. • Máy khách DB2 runtime client: Có các chc nng c bn kt ni, c.ng bao g+m các trình i u khin. • 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 iu khin Trên phn bên trái ca hình 1.2, tt c các máy khách DB2 và trình i u khin c th hin. Mc dù tt c các máy khách DB2 u bao g+m trình i u khin cn thit, trong 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 và các trình i u khin u mi0n phí và có th c ti v t* trang web DB2 Express-C. Các máy khách và các trình 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 nm gia hình 2). Chúng ta s, tho lu#n v phn m m DB2 Connect trong Chng 2.
- Nhp môn H qun tr c s d liu DB2 16 1.5 T do phát trin phn mm ng dng DB2 to ra mt môi trng phát trin ng dng da trên các chu n và trong sut i v i h& sn ph m DB2. Vic s dng SQL chu n trong các dòng sn ph m DB2 s, cung cp mt t#p các giao din l#p trình ng dng (API) thông dng cho vic truy nh#p c s d liu. Thêm vào ó, mi sn ph m DB2 cung cp các b ti n-dch (pre-compiler) cho phép nhà phát trin nhúng các câu lnh SQL t'nh và ng trong các chng trình ng dng kh chuyn. DB2 còn có mt s)n công c qun lý .NET có th tích h p v i các công c Microsoft® Visual Studio. Các ngôn ng và các chu n có th c s dng v i 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 bn và n bn DB2 (version and edition) Nu bn m i làm quen v i 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 m i ca DB2. Mt phiên bn bao g+m các tính nng m i và a nhng ci tin áng k vào sn ph m. Hin ti, phiên bn DB2 8 và DB2 9 c h tr chính thc bi IBM. Mt phiên bn c.ng có th có mt vài ln phát hành, có th bao g+m mt vài chc nng m i nhng thông thng không rõ ràng nói rng ây là mt phiên bn m i. Ví d 8.1 và 8.2 là các ln phát hành v i phiên bn DB2 8. Trong thi gian v*a qua, IBM thng a ra mt ln phát hành m i ca DB2 mi nm mt ln, tuy nhiên nhng phiên bn m i thng c a ra cách nhau t* 2-3 nm. Ln phát hành m i nht n thi im hin ti, V9.1 (tr c ây c g&i là DB2 “Viper”) tr thành phiên bn chính thc vào mùa hè nm 2006. Khi cun sách này c vit (tháng 9/2007), ln phát hành tip theo (có tên là DB2 “Viper 2”) ã có phiên bn beta. Mi ln phát hành c.ng có th cha nhi u mc ch-nh sa, thng cha nhng phn vá li tc là tng ng v i các chng trình sa li (fixpack), và rt ít khi cha nhng tính nng m i. Ti thi im này, phiên bn, phát hành, ch-nh sa (Version- Release-Modification/ V-R-M) ca DB2 là 9.1.2 tng ng v i phiên bn 9.1 cùng v i b chng trình sa li 2. Trên mt ni dung khác, các n bn là nhng la ch&n hoc nhóm các gói tính nng trong mi phiên bn. Nh ã c#p, mt n bn là mt gói nhng chc nng khác nhau v i giá thành và bn quy n xác nh. DB2 phiên bn 9 (c.ng c bit t i v i tên DB2 9) có nhi u n bn; ví d: DB2 express-C 9, DB2 Express 9, DB2 Workgroup 9, và DB2 Enterprise 9 (xem hình 1.1)
- Nhp môn H qun tr c s d liu DB2 17 1.7 Chuyn sang n bn DB2 khác Khi c s d liu ca bn cn m rng, có th bn s, cn nâng cp n bn DB2 h tr cu hình phn cng l n hn. Nu trng h p này xy ra, rt d0 dàng nâng cp lên mt n bn khác ca DB2: • Nu bn nâng cp lên mt n bn DB2 khác trên cùng mt máy, cài t n bn DB2 m i è lên DB2 Express-C, cùng v i 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 tr c khi nâng cp). • Nu bn nâng cp DB2 trên mt máy m i, l n hn và s dng chung mt h i u hành v i máy c., hãy cài t n bn DB2 m i trên máy m i, sao lu d liu trên máy c. và khôi phc li nó trên máy m i. Bn c.ng có th lu các cu hình trên máy c. (dbm cfg) và cài t cu hình này trên máy m i. Các lnh sao lu và khôi phc s, c nói rõ hn trong Chng 11 Sao lu và Khôi phc, dbm cfg s, c nói rõ hn trong Chng 5, Môi trng DB2. • Trong bt kì trng h p nào, ng dng ca bn u không phi sa cha s dng DB2. 1.8 Bo trì DB2 Express-C Nh ã nói tr c â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 ph#n h tr k' thu#t ca IBM, +ng thi còn cho bn kh nng cài t các c#p nh#t ca DB2 (còn c g&i là các chng trình sa li fixpack). 2. S dng di0n àn cng +ng DB2 Express-C trc tuyn. Cách này hoàn toàn mi0n phí, tuy nhiên bn s, không có c s h tr chính thc nào t* IBM. /+ng thi, v i cách này, IBM không cam kt cung cp nhng chc nng m i và nhng bn vá li nh thi gian ã nh. /nh ngh'a v mt chng trình sa li, c nói n trong Chng 2, c.ng s, không có ý ngh'a ây, thay vì v#y mt bn cài t m i ca DB2 Express-C s, c c.ng cp trên trang web cho các ngi dùng ti v . Khi IBM a ra bt kì s ch-nh sa m i nào trong DB2, bn có th tìm thy bn cài t m i này và thay th cho bn DB2 c. bn ang dùng. 1.9 Mt s phn mm min phí liên quan Tt c các phn 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 mi0n phí. Bên cnh nhng bn DB2 Express-C (cho Linux và Windows, c kin trúc 32 và 64 bit), còn có nhng phn m m hu dng có th c ti và s dng mi0n phí nh: • DB2 Developer Workbench • DB2 9 Embedded Application Server • DB2 9 Net Search Extender Ngoài ra bn có th ti v b công c khi u da trên DB2 Express-C t* trang web IBM Alphaworks (www.alphaworks.ibm.com/datamgmt). B công c này bao g+m: • Starter toolkit for DB2 on Rails • Web 2.0 Starter Toolkits for DB2 1.9.1 DB2 Developer Workbench (công c phát trin) DB2 Developer Workbench (DBW) là mt môi trng phát trin tích h p mnh (IDE) cho phép bn to ra, sa cha, g( ri, trin khai và kim tra các th tc c lu tr SQL PL và Java, c.ng nh các hàm do ngi dùng nh ngh'a (User defined function UDFs), các ng dng SQLJ, khi to và thc thi các câu lnh SQL và các truy vn XML. Công
- Nhp môn H qun tr c s d liu DB2 18 c này da trên Eclipse IDE và thay th IBM Development Center ca các phiên bn DB2 tr c ây. Chúng ta s, tho lu#n DBW trong chng 14, Các th tc lu tr SQL PL. 1.9.2 DB2 9 Embedded Application Server (máy ch nhúng) Embedded Application Server cho phép bn chy các ng dng Web c h tr v i DB2 phiên bn 9.1 mà không yêu cu bn phi mua thêm mt máy ch ng dng riêng bit. Các ng dng Web c h tr v i DB2 phiên bn 9.1 bao g+m: • Các công c Web DB2 dành cho ngi qun tr c s d liu n n web. • DB2WebServer, mt ng dng t ng trin khai các dch v web .NET t* Microsoft Visual Studio n DB2 Embedded Application Server 1.9.3 DB2 9 Net Search Extender (m rng tìm ki m trên mng) V i DB2 9 Net Search Extender bn có th thc thi nhanh và chi tit các tìm kim ni dung vn bn (full-text), bao g+m bt c tài liu XML nào c lu tr b m sinh trong DB 9.1 1.9.4 B công c bt u Rails cho DB2 B công c bt u Rail cho DB2 là mt t#p các sn ph m và công ngh c óng gói tin l i cho phép to ra nhanh chóng mt môi trng xây dng các ng dng Web DB2 s dng công ngh Ruby trên n n Rails. Tt c các phn m m c yêu cu bao g+m: DB2 Express-C, trình i u khin DB2 cho Ruby, b thích nghi (adapter) DB2 v i Rails, bên cnh ó là các h ng d%n, ví d, và nhng tài liu h&c t#p khác. Chúng ta s, tho lu#n Ruby trên n n Rails Chng 17, S phát trin trong Java, PHP và Ruby. 1.9.5 B công c bt u Web 2.0 dành cho DB2 B công c bt u Web 2.0 dành cho DB2 là mt cách d0 dàng bt u v i 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 h ng d%n và các bn ng dng trình di0n (demo). Hai trong s các ng dng trình di0n là Atom Feed Control Panel, nó khi to các Atom ly t* các bng DB2, và Web Services Control Panel to ra các bao ph dch v Web REST xung quanh các bng DB2 ca bn. C hai ng dng u da trên Dojo h tr y kh nng ni b#t ca Ajax và kh nng m rng.
- Nhp môn H qun tr c s d liu DB2 19 2 Chng 2 – Các tính n ng liên quan và các sn ph!m Chng này mô t các tính nng ca DB2 i kèm trong vic mua giy phép s dng 12 tháng ca DB2 Express-C. Ngoài ra còn mt s tính nng khác không có trong DB2 Express-C, nhng là mt phn ca nhng n bn DB2 khác, trong trng h p có tr thêm phí. Nhng tính nng có trong DB2 Express-C có bn quy n 12 tháng • B chng trình sa li (Fixpacks) • Tính s)n sàng cao và Khôi phc sau s c (High Availability and Disaster Recovery- HADR ) • Di trú d liu (SQL h p nht) Nhng tính nng không có mt trong DB2 Express-C nhng có mt trong các n bn DB2 khác là: Các tính nng ca n bn DB2 Enterpirse có phí: • Tính nng phân tán c s d liu (DPF) • Tính nng ti u hóa lu tr d liu (k c nén) • /i u khin truy nh#p mc cao (an toàn mc cao và c chia nh" tt) • Ti u s thc thi (kim soát các truy vn, chuyên nghip trong thc thi) • Qun lý d liu o c • S liên kt h p nht d liu DB2 DB2 Enterprise c.ng bao g+m nhng tính nng c thêm vào mi0n phí nh • Phân tán bng (phm vi) • Các bng truy vn c c th hóa (Materializated Query Tables MQT) • K$ thu#t bó a chi u (Multi-dimensional Clustering - MDC) • Tính s)n sàng cao và kh nng phc h+i sau s c (HADR) • B t#p trung kt ni (Connection Concenstrator) Các tính nng ca n bn DB2 Workgroup và Express có phí • Tính s)n sàng cao • Qun lý công vic (B t#p trung kt ni, b kim soát truy vn) • Ti u hiu nng (MQT, MDC, truy vn song song) • S liên kt h p nht d liu DB2 Các sn ph m có phí có liên quan t i DB2: • DB2 Connect • WebSphere® Federation Server - Máy ch nhóm WebSphere • WebSphere Replication Server - Máy ch di trú WebSphere
- Nhp môn H qun tr c s d liu DB2 20 2.1 Các tính n ng bao hàm trong ng ký s" dng DB2 Express-C Phn này im qua các chng trình sa li DB2, s di trú HADR và SQL. 2.1.1 Các chng trình s"a li Mt chng trình sa li DB2 là mt t#p các sa li c áp dng cho mt sn ph m DB2 ã c cài t, nhm mc tiêu sa các vn khác nhau c báo cáo sau khi sn ph m c phát hành. V i mt ng ký s dng có bn quy n, các chng trình sa li có th c ti xung và cài t mi0n phí. Chúng thng c a ra ba tháng mt ln. / ti chng trình sa li m i nht, xem trang h tr k$ thu#t ca DB2 ti a ch- 2.1.2 Tính s#n sàng cao và khôi phc sau s c (HADR) Tính s)n sàng cao và khôi phc sau s c là tin c#y ca d liu, nó cung cp mt gii pháp s)n sàng và khôi phc sau s c cho s suy sp toàn phn hoc mt phn. Mt môi trng HADR thông thng bao g+m hai máy ch d liu, máy ch chính và ph (có th c t ti nhng ni khác nhau). Máy ch chính là ni c s d liu gc c lu tr và truy c#p bi các trình ng dng ti máy khách. Trong khi các giao dch c tin hành trên c s d liu chính, các bn ghi nh#t ký d liu c chuyn t ng n máy ch th cp (máy ch ph) thông qua h thng mng. Máy ch th cp có mt bn sao ca c s d liu chính, thng c to ra bng cách sao lu c s d liu chính và khôi phc nó ti h thng th cp. Khi các bn ghi nh#t ký d liu c nh#n v , chúng c thc thi li và áp dng cho c s d liu th hai.Thông qua vic thc hin li các bn ghi nh#t ký này, c s d liu th hai c +ng b hóa v i c s d liu chính và có th thay th c s d liu chính nu có s c xy ra. Mt gii pháp HADR h tr DB2 y cung cp cho bn: 1 Kh nng phc h+i cc nhanh, trong sut tuyt i v i khách hàng và các ng dng ti máy trm 1 Giao dch y t*ng thành phn nh" tránh mt mát d liu 1 Kh nng nng cp h thng hoc nâng cp ng dng mà không gây ngt quãng i v i dch v 1 Kh nng thay th h thng t* xa, cung cp kh! nng phc h+i y cho a im b s c 1 Qun tr d0 dàng v i 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 v i hiu nng tng th ca h thng 2.1.3 Kh n ng tái to d liu (di trú d liu) Tính nng này cho phép tái to d liu gia máy ch ngu+n ni các thay i d liu c ghi li, và mt máy ch ích ni các thay i d liu c áp dng. Hình 2.1 cung cp tng quan v cách tái to d liu.
- Nhp môn H qun tr c s d liu DB2 21 Hình 2.1 – Khôi phc SQL Trong hình 2.1 có hai máy ch, mt máy ch ngu+n và mt máy ch ích. Trên máy ch ngu+n, mt chng trình “chp” ghi nh#n li các thay i i v i c s d liu. Trên máy ch ích, mt chng trình “áp dng” thc hin các thay i cho c s d liu nh th#t. Kh nng tái to d liu hu dng cho rt nhi u mc ích cn n d liu c tái l#p, bao g+m 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ó th tái to d liu gia DB2 Express-C và các máy ch DB2 khác, bao g+m c nhng máy s dng các h thng khác nh Linux, UNIX, z/OS và i5/OS. 2.2 Các tính n ng không có trong bn DB2 Express-C Phn này miêu t mt vài tính nng có trong các bn DB2 khác mà không trong DB2 Express-C 2.2.1 Phân vùng c s d liu Tính nng phân vùng c s d liu (DPF) ch- có trong n bn DB2 Enterprise v i 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). Mi máy tính, do c thêm vào nhóm phân vùng, mang theo sc mnh x lý d liu v i CPU và b nh ca chúng. DPF c bit hu dng trong môi trng máy ch c s d liu l n 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 k t ni B t#p trung kt ni là tính nng cho phép h tr mt l ng l n ngi dùng kt ni ti mt thi im. Tr c ây, mi kt ni c s d liu cn n mt tác t (agent) c s d liu. B t#p trung kt ni gi i 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.
- Nhp môn H qun tr c s d liu DB2 22 2.2.3 B m rng không gian $a lý B m rng không gian a lý ca DB2 t+n ti nh mt la ch&n có phí cho n bn DB2 Enterprise. Phn m rng này làm vic phát trin cho các ng dng chính ph in t hoc các ng dng có qui trình nghip v yêu cu phân tích các v trí a lý c d0 dàng hn. B m rng không gian a lý ca DB2 có th cu thành mt th gi i a lý o v i bt k t3 l nào. Hu ht các thông tin v trí c thu th#p s dng các h thng toàn cu, nh h thng nh v v tinh toàn cu (GPS), và có th c th hin trong h kinh /v' . Các d liu kinh doanh, nh a ch-, có th c chuyn i thành t&a kinh tuyn/v' tuyn nh b m rng không gian ca DB2 (DB2 Spatial Extender) và các chng trình ng dng doanh nghip làm vic tt hn khi chúng lu tr d liu theo nh dng này, phép chiu tng ng lên bn + c thng nht các ng dng khác nhau: l p 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 lu+ng các truy vn t i 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 sn ph!m 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. Hình 2.2. DB2 Connect 2.3.2 WebSphere Federation Server / c bit n tr c â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 ngh'a 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 d i ây:
- Nhp môn H qun tr c s d liu DB2 23 SELECT * FROM Oracle.Table1 A DB2.Table2 B SQLServer.Table3 C WHERE A.col1 < 100 And B.col5 = 1000 and C.col2 = ’Test’ Hình 2.3 cung cp s gi i thiu v kh nng s dng ca WebSphere Federation Server Hình 2.3 - WebSphere Federation Server /i v i 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 ngh'a là WebSphere Federation Server không cn c òi h"i., ví d khi bn mun chy mt truy vn gia hai c s d liu DB2 khác nhau, hoc gia mt c s d liu DB2 và mt c s d liu Informix® (Infomix là mt phn trong h& IBM). 2.3.3 WebSphere Replication Server / c bit tr c â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ó c.ng bao g+m mt tính nng c bit n là Q-Replication cho s tái to d liu s dng các hàng i thông ip.
- Nhp môn H qun tr c s d liu DB2 24 3 Chng 3 - Cài t DB2 / cài t n bn DB2 Express-C cho Linux hay Windows, m bo rng các h thng ca bn th"a mãn các i u kin tr c khi cài t. 3.1 Các iu kin trc 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 hay Windows 2000, XP, Vista. Kin trúc b x lý c yêu cu là 32 bít, 64 bít và PowerPC (Linux). Nu bn cn chy DB2 trên mt 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 tr c ây trong quyn sách này. Các i u kin ca h i u hành tr c khi cài t cho tt c các n bn DB2 c.ng c miêu t trong tài liu này. Trong khía cnh v các tài nguyên phn cng, DB2 Express-C c ti u hóa cho các h thng lên t i 2 CPU v#t lý và 4GB RAM. Các h thng này có th là các h thng v#t lý hay các h thng o c to ra bi s phân tán hoc vic chy các phn 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 v i 1GB RAM. / có c nhng thông tin m i nht v các i u kin ca phn cng tr c khi cài t DB2 Express-C, hãy xem trên trang web DB2 Express-C. 3.2 Quyn cài t h iu hành / cài t DB2 Express-C trên Linux hay Windows, bn phi là mt ngi s dng h i u hành có quy n. V i Linux: bn cn phi là root (superuser) cài t DB2 Express-C. V i Windows, tài khon ngi s dng phi thuc v nhóm Qun tr trên máy mà bn s, thc hin cài t. Mt cách khác, mt tài khon ngi dùng không thuc nhóm Qun tr có th c s dng, v i i u kin là mt thành viên thuc nhóm Qun tr Windows u tiên cu hình các thit l#p nâng quy n Windows cho phép mt tài khon ngi dùng không thuc nhóm Qun tr có th thc thi cài t. V i các tài khon mi n (domain) Windows, xác thc nh danh (ID) ca ngi dùng trên máy ch DB2, ID ca ngi tin hành cài t phi thuc nhóm Qun tr ti mi n (domain) mà các tài khon này s, c to. Có th s dng tài khon s)n có (built-in) trên h thng tin hành cài t. Tài khon ngi dùng c.ng phi có quy n “Truy c#p máy tính này qua mng”
- Nhp môn H qun tr c s d liu DB2 25 3.3 Cài t theo hng d%n t&ng bc 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 h ng d%n t*ng b c 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 h ng d%n cài t t*ng b c rt n gin. Thông thng, bn ch- vic s dng các thit l#p mc nh, vì v#y, tt c các vic cn làm là chp nh#n i u khon s dng, nhn liên tc nút “Next” r+i nhn “Finish”. Quá trình cài t s, kt thúc sau vài phút và bn có th bt u s dng DB2. Trên hình 3.1 là ca s bt u cài t DB2 (DB2 Setup Launchpad), bn nên ch&n “Install New” cài t mt bn sao m i ca DB2 lên h thng. Hình 3.1 – Bt u cài t DB2 (DB2 Setup Launchpad)
- Nhp môn H qun tr c s d liu DB2 26 Sau khi chp nh#n i u khon s dng, thông thng 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 lu#n 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 l#p ra tp biên bn) là .
- Nhp môn H qun tr c s d liu DB2 27 Hình 3.3 – La ch n 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 nh#p vào mt ngi dùng ã có làm vic v i bn cài t DB2 này (instance) c.ng nh các dch v khác. Ngi dùng này phi nm trong danh sách Qun tr (Local Administrator) ca Windows. Nu nh ID ca ngi dùng bn nh#p vào không t+n ti, mt ngi dùng m i s, c thêm vào nhóm Qun tr. Bn có th trng “domain” nu nh ngi dùng bn nh#p vào không thuc vào mt mi n nào ó. ID ngi 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 28 Hình 3.4 - Nhp thông tin ngi dùng cho bn DB2 mc $nh. Cui cùng trong hình 3.5, cài t theo h ng d%n t*ng b c s, hin th mt danh sách tng kt nhng phn nào s, c cài t c.ng nh mt vài thông tin, thit l#p do bn nh#p vào. Khi bn nhn “Finish”, quá trình cài t DB2 vào h thng ca bn bt u. Hình 3.5 - Danh sách tng k t nhng phn s' c cài 3.4 Cài t hàng lot (Silent Install) Trong nhi u trng 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
- Nhp môn H qun tr c s d liu DB2 29 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. D i â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 = CUSTOM COMP=TCPIP_DB2_LISTENER_SUPPORT COMP=TCPIP_DB2_CLIENT_SUPPORT COMP=DB2_SAMPLE_DATABASE COMP=DB2_SAMPLE_APPLICATIONS COMP=OLE_DB_SUPPORT COMP=ODBC_SUPPORT COMP = JDBC_SUPPORT COMP = IBM_JRE Các phng pháp có th dùng to ra tp biên bn: • Cài t DB2 Express-C tr c mt ln, s dng phng pháp cài t theo h ng d%n t*ng b c. 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 nh#p 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 nh#p 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) nm trong th mc: db2/platform/samples/ directory • Trong Windows, bn c.ng 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 v i Linux, bn dùng lnh: db2setup -r
- Nhp môn H qun tr c s d liu DB2 30 Bài tp nhanh #1: Cài t DB2 Express-C và to ra c s d liu m%u Chú ý: Nu bn ang s dng DB2 Express-C V9.1.2 hoc phiên bn cao hn, nu bn ch&n cài t thông qua ch + h&a c s d liu m%u có th c to ra cho bn mt cách t ng. Mc ích Tr c khi bn có th bt 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, h ng bn t*ng b c cách cài t DB2 Express-C trên Window. Các b c 1. Ly v nh ca DB2 Express-C. / có th cài t DB2, bn có th ti b cài d i 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, sau ó t* ca s windows hin ra bn nhn vào tùy tr&n Install Product phía bên trái ca ca s. 4. Chy cài t DB2 theo t*ng b c (setup wizard). Sau khi bn ch&n Install Product b c 3, mt thành phn tr giúp cài t g&i là “cài t t*ng b c” s, chy kim tra cu hình phn cng ca h thng tin hành chu n b cài t DB2 Express-C, c.ng nh kim tra xem bn ã cài DB2 tr c ó hay cha. Sau khi chng trình ã kim tra xong bn nhn vào nút Next tip tc cài t 5. Chp nh#n 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 rng â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: ( cài t: C: Th mc cài t: C:\Program Files\IBM\SQLLIB Nhn nút Next tip tc. 8. Nh#p vào thông tin ca ngi s dng. Mt khi DB2 Express-C ã c cài t, nhng tin trình DB2 s, c chy d i t cách là các dch v ca h thng. Nhng dch v này òi h"i phi c ng nh#p bng mt tài khon ca h thng có th thc hin. Trong môi trng Window bn s dng tài khon mc nh c ngh là db2admin, nu tài khon này cha t+n ti, DB2 s, to ra cho bn. Chú ý bn phi t m#t kh u (password) cho tài khon. Bn c.ng có th s dng mt tài khon s)n có trong
- Nhp môn H qun tr c s d liu DB2 31 h thng thay vì nh DB2 to ra mt tài khon m i cho bn nhng phi ghi nh rng có th chy các dch v DB2 tài khon này phi có quy n qun tr (admin). Nhn nút Next tip tc. 9. Cu hình DB2 ínstance. Mt ínstance DB2 có th c coi nh là mt “kho cha cho c s d liu”. Mt ínstance này phi t+n ti tr c khi bt kì mt c s d liu nào c to ra và c “t vào bên trong kho”. Trong môi trng Window, mt ínstance c g&i là DB2 t ng c to ra, trong khi trong môi trng Linux tên ca ínstance 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, ínstance DB2 c cu hình lng nghe kt ni TCP/IP trên cng kt ni 5000. C hai giao thc kt ni (TCP, UDP) và cng kt ni u có th c cài t li khi bn nhn vào các nút Protocols và Startup.Tuy nhiên, trong ví d này chúng ta s, s dng s 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. Bt u cài t. / bt 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 c.ng có th c khi chy bng tay v i câu lnh db2fs trong ca s h i u hành DOS. 12. To ra c s d liu M%u. Trong First Steps, la ch&n th2 “Database Creation”, và sau ó theo sau các h ng d%n ca chng trình to ra c s d liu M%u. Chú ý bn phi m bo rng tùy ch&n XML and SQL objects and data phi c la ch&n, và nhn nút OK. 13. Sau khi bn nhn OK mt ca s window sau 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. 14. Xác nh#n c s d liu m%u ã c to ra. Khi vic to c s d liu ã hoàn tt, nhn nút OK và óng công c First Steps. Quay li Trung tâm i u khin (Control Center) và kim tra rng 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 m i li Trung tâm i u khin nh#n bit c s thay i này. 15. Khi ng li máy tính. Mc dù b c này là không bt buc trong các tài liu h ng d%n cài t DB2, nhng chúng tôi ngh bn nên khi ng li h thng m bo rng tt c các tin trình c bt 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.
- Nhp môn H qun tr c s d liu DB2 32 4 Chng 4 - Các công c DB2 Trong chng này chúng tôi s, gi i thiu mt s công c bn có th dùng v i DB2. Trong hình 4.1, phía bên trái là các lnh DB2 khác nhau, SQL, SQL/XML và các câu lnh XQuery có th c dùng tng tác v i máy ch d liu DB2. Phn gia ( c ánh du bng hình elip màu ") lit kê tên ca các công c khác nhau có th tng tác v i máy ch d liu DB2. Phía bên phi trong hình v, là môi trng DB2 c bn bao g+m mt th hin (instance) DB2, mt c s d liu và các tp cu hình tng ng. Hình 4.1 - Bc tranh tng th DB2: Các công c DB2 Hình 4.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.
- Nhp môn H qun tr c s d liu DB2 33 Hình 4.2 - Các công c DB2 trên IBM DB2 Start Menu Bng 4.1 cung cp mt danh sách các lnh tt g&i mt s các công c DB2 ph bin nht trong c môi trng Linux và Windows. Tên công c Lnh Command Editor Ca s nh#p lnh db2ce Command Line processor B x lý dòng lnh db2 Command Window Ca s lnh (Ch- dành cho db2cmd môi trng Windows) Control Center Trung tâm i u khin db2cc Task Center Trung tâm tác v db2tc Health Center Trung tâm sc kh"e/tình trng db2hc Configuration Assistant Tr giúp cu hình db2ca First Steps B c khi u db2fs Bng 4.1 - Các lnh tt cho mt s công c DB2 4.1 Trung tâm iu khin (Control Center) 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 4.3
- Nhp môn H qun tr c s d liu DB2 34 Hình 4.3 - Trung tâm iu khin ca DB2 Trung tâm i u khin là mt công c qun lý t#p 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, v i các “th mc” i din cho bng (Tables), th hin (Views) Khi bn nhn úp vào mt th mc (ví d th mc Tables, nh trong hình 4.3), khung trên cùng bên phi s, lit kê tt c các i t ng liên quan, trong trng 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 d i 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 v i 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à c#p nh#t 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à c#p nh#t tp cu hình cho c s d liu ó. Môi trng DB2 và các thông s cu hình s, c nhc t i k$ hn chng 5, Môi trng DB2. Ln u tiên chy Trung tâm i u khin, bn c h"i và la ch&n cách trung tâm i u khin s, hin th theo cách nào. 5ng v i mi cách hin th, các i t ng c s d liu s, c th hin th theo kiu tng ng. Hình 4.4 là hp thoi dùng la ch&n cách hin th ca Trung tâm i u khin.
- Nhp môn H qun tr c s d liu DB2 35 Hình 4.4 - Hp thoi ch n cách hin th$ Trung tâm iu 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. / b#t li hp thoi này, bn ch&n “Customize Control Center” t* bng ch&n Tools nh trong hình 4.5 Hình 4.5 - Tùy bi n Trung tâm iu khin
- Nhp môn H qun tr c s d liu DB2 36 Khi ng Trung tâm iu khin Có nhi u cách khi ng Trung tâm i u khin: • S dng t* Menu Start ca Windows • Chy lnh db2cc t* du nhc lnh • Nhn úp vào biu t ng Trung tâm i u khin trên bt k thanh công c nào ca các công c giao din + h&a DB2. • T* biu t ng DB2 trên khay h thng ca Windows nh trong hình 4.6 (Nhn phi chut vào biu t ng DB2 và ch&n DB2 Trung tâm i u khin) Hình 4.6 - Khi ng Trung tâm iu khin DB2 t& khay h thng ca Windows 4.2 Nhp lnh trc ti p S dng ca s nh#p 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 4.7 th hin Ca s nh#p lnh cùng v i mô t ngn g&n các thành phn ca nó. Quay tr li Trung /ang ch&n Ca s tâm i u khin nh#p lnh Thêm mt kt ni Vùng nh#p lnh v i c s d li u C s d liu ang kt ni Vùng kt qu Ký t c dùng xác nh kt thúc ca câu lnh Hình 4.7 - C"a s nhp lnh ca DB2 Trong vùng nh#p lnh (input area), bn có th nh#p nhi u câu lnh cùng lúc, nhng cn m bo các câu lnh kt thúc v i ký t kt thúc do bn ch&n. Khi bn bm nút thc hin (xem hình 4.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 t i c s d liu cn phi c thit l#p tr c khi thc hin bt k câu lnh SQL nào, tuy nhiên bn c.ng có th chèn câu lnh thc hin kt ni vào on lnh ca mình.
- Nhp môn H qun tr c s d liu DB2 37 Thc hin câu lnh Thc hin câu lnh và sinh Sinh ra mt k hoch truy c#p mà (Có th dù ng t h p phím ra mt k hoch truy c#p không thc hin câu lnh tt Ctrl+En ter) (S, nói k$ hn phn sau) (S, nói k$ hn phn sau) Hình 4.8 - C"a s nhp lnh – Th) Lnh Khi ng C"a s nhp lnh Bn có th khi ng ca s nh#p lnh bng mt s cách: 1 T* Menu Start ca Windows: Start -> Programs -> IBM DB2 -> Command Line Tools -> Command Editor 1 T* mt ca s nh#p 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 nh#p lnh bng 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 d i bên tay phi). 1 T* Trung tâm i u khin, nhn ch&n biu t ng Ca s nh#p lnh trên thanh công c ca Trung tâm i u khin nh trong hình 4.9 Hình 4.9 - Biu tng C"a s nhp lnh trong Trung tâm iu khin Thêm mt k t ni ti c s d liu / thêm mt kt ni t i mt c s d liu nhn vào nút Add. Mt hp thoi nh trong hình 4.10 s, xut hin.
- Nhp môn H qun tr c s d liu DB2 38 La ch&n mt c s d liu trong h thng Ch&n ô này nu bn mun s dng ID và m#t kh u ca ID và m#t ngi dùng kh u ca mt ang ng ngi dùng nh#p vào h ca h i u i u hành. hành. Hình 4.10 - Thêm mt k t ni c s d liu 4.3. Trình tr giúp SQL Nu bn không quen thuc v i ngôn ng SQL và thích s dng mt trình h tr hoc h ng 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 câu lnh (Command Editor) s, giúp bn gii quyt. Nh hình 4.11 bên d i, bn có th triu g&i nó t* Command Editor bng vic nhp chut vào biu t ng sau v i ký hiu SQL (ni lên trong hình v i vòng tròn ").
- Nhp môn H qun tr c s d liu DB2 39 Hình 4.11 – G i trình tr giúp SQL Assist Wizard. Hình 4.12 trình bày v trình tr giúp SQL Assist Wizard. Nó cho phép s dng song hành +ng thi c hai ch . /u tiên ch- ra kiu ca câu lnh SQL bn h tr v i (SELECT, INSERT, UPDATE, DELETE). Nó còn ph thuc vào 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 làm th nào câu lnh SQL c xây dng nên ging nh bn ch&n nhng la ch&n khác trong trình h ng d%n.
- Nhp môn H qun tr c s d liu DB2 40 Hình 4.12 – Trình tr giúp SQL Assist Wizard 4.4 Trình bày nút Show SQL Hu ht các công c tr giúp + h&a (GUI) và các trình h ng d%n trong DB2 cho phép bn xem li câu lnh hin thi hoc câu lnh SQL ã c thc thi ra kt qu bng vic s dng công c hay trình h ng 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 4.13 và hình 4.14. Hình 4.13 – Trình bày nút Show SQL Hình 4.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 c.ng có th xây dng các kch bn bng vic dùng li nhng lnh và nhng dòng lnh ã c to ra này. Bài tp nhanh #2 - To mt CSDL mi vi Trung tâm iu khin Mc ích Trong bài t#p nhanh này, bn s, to ra mt CSDL m i s dng trình h ng d%n to CSDL trong Trung tâm i u khin. Th tc thc hin: 1. T* ô cây i t ng ca Trung tâm i u khin, nhp phi chut vào th mc All Databases, ch&n danh sách Create Database, và ch&n danh sách
- Nhp môn H qun tr c s d liu DB2 41 With Automatic Maintenance. Bt u chy Creat Database Wizard. 2. /t tên cho CSDL và v trí lu tp trong trang Name ca trình h ng d%n. S dng các giá tr d i ây: • Tên CSDL: EXPRESS • 6 'a mc nh (ca Windows): C: • /ng d%n mc nh (ca Linux): /home/db2inst1 • Bí danh: Trng h p này mc nh là EXPRESS nu bên trái trng. • Ghi chú: Trng h p này có th tùy ch&n, bên trái có th trng. Nhp chut vào CSDL có s)n Enable cho hp ch&n XML, và sau ó nhp chut vào nút Next tip tc trang k ca trình h ng d%n. 3. Trong Specify cn ch- rõ ni lu trang d liu, không thêm bt k s thay i nào, và nhp Next. 4. Trong trang ch&n chin l c bo trì, ly giá tr mc nh (Yes, I can specify an offiline ), và nhp Next. 5. Ch- nh khe thi gian bo trì trong trang Timing. Ch- rõ hai 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 thng ca CSDL. Bây gi, cu hình khe thi gian bt u lúc 1 gi sáng t* th hai t i 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 h ng d%n. DB2 có th t ng gi mt email hay mt trang nu có mt s c hay mt i u kin bt thng 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 email. V i bài t#p 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 h ng d%n. Nhp vào nút Finish bt u quá trình to ra CSDL. CSDL c to ra thng phi mt mt vài phút, trong thi gian này ch- th báo tin trình ang thc hin s, hin ra. 8. Bây gi mt CSDL ã c to, ni trú ngay trong nó là mt vài bng và ít d liu c to ra. / to cho bn s thu#n l i, hai kch bn có tên là quicklab2.db2 và quicklab2.dat ã s)n có giúp bn. Kch bn quicklab2.db2 cha nhng lnh c dùng to các bng và do ó phi c chy u tiên. Kch bn quicklab2.dat cha nhng câu lnh chèn d liu vào các bng. C hai kch bn này có th tìm thy trong tp nén ex-pressc_book_quicklabs.zip i cùng cun sách này. / chy nhng kch bn này, s dng ca s nh#p lnh. a. Hãy chc rng CSDL m i bn ã to c ch&n (bôi en) trong danh sách th xung trong thanh công c Command Editor. Nu CSDL m i không hin lên trong danh sách, s dng nút Add thêm mt kt ni t i nó (xem gn hình 4.10) b. Nhp vào lnh Select -> Open hoc nhn nút m trong Command Editor và chuyn t i th mc ni cha các kch bn ã c lu. /ánh du tp quicklab2.db2 và nhp nút OK. Các ni dung ca tp bây gi c hin th trong vùng u vào d liu ca Command Editor. Ch&n nút Run chy kch bn. Xác
- Nhp môn H qun tr c s d liu DB2 42 nh không có li nào c tìm thy khi chy kch bn này. 9. Lp li b c 8 cho tp quicklab2.dat. CSDL m i 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 mi 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 + d i ây trình bày thit k và quan h gia các bng. 4.5 To k$ch bn 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 ngi 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 thng: 1. Các kch bn SQL. 2. Các kch bn (v") h i u hành. 4.5.1 Các k$ch bn SQL Các kch bn SQL bao g+m 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 l#p. Tuy nhiên, các bin hay các tham s không c h tr . Cho ví d, các lnh d i â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;
- Nhp môn H qun tr c s d liu DB2 43 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à mi câu lnh c cách nhau bi mt du phân cách và trong trng 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 c.ng dùng c. Thc thi các k$ch bn SQL: Mt kch bn SQL có th c thc thi bng 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 d i â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 “lm li”, db2 hin th các lnh khi thc hin. -f Ch- ra rng tên tp sau c này là tp kch bn. -z Ch- ra rng 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à 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 u 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 v i 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 ngh'a i t ng SQL PL phân cách các câu lnh thuc v th tc. Ví d, trong tp kch bn d i ây có tên “functions.db2”, nó cha ngôn ng nh ngh'a 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. V i 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 li trong thông báo t* DB2. CREATE FUNCTION f1() SELECT ; END! Tp functions.db2 / cho DB2 bit rng 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 d i ây: db2 –td! –v –f functions.db2 –z functions.log / có các mô t v các c hiu khác bng cách chy câu lnh d i ây trong Command Window hoc Linux shell: db2 list command option
- Nhp môn H qun tr c s d liu DB2 44 4.5.2 Các k$ch bn vi h iu hành Các kch bn v i 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ã l#p trình có tính logic. 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. D i â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 v i 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 rng ây là mt t#p tin thc thi x lý theo lô. Trong Linux, bn cn thay i kiu trên t#p tin ch- nh rng t#p tin này là mt t#p tin thc thi bng cách s dng lnh nh chmod +x. Sau ó, bn có th chy t#p tin này v i cách thc ging nh phn trên.
- Nhp môn H qun tr c s d liu DB2 45 Bài tp nhanh #3 – To mt k$ch bn 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 t#p 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 t#p nhanh này, bn s, to ra mt kch bn h i u hành trin khai c s d liu EXPRESS. Các kch bn này s, g&i kch bn v i SQL ã c to ra tr c ó cho các i t ng c s d liu. Nhm mc ích tit kim không gian, bài t#p 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 rng bn thc hin nhng thay i phù h p v i nhng s h ng d%n sau ây. Th tc 1. M mt chng trình son tho vn bn, nh Notepad hay Wordpad và nh#p vào thông tin c hin th d i ây. 2. Lu li t#p tin kch bn trong mt th mc và t tên cho t#p tin này là create_database.bat. Trong hp thoi ca s Save As, m bm rng bn ã ch&n mc tùy ch&n MS-DOS Format (trong Wordpad). Nu bn lu t#p tin này d i 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 t#p tin m bo rng Windows không t ng thêm phn m rng .TXT cho t#p tin nh hình v, d i ây.
- Nhp môn H qun tr c s d liu DB2 46 3. / chy kch bn tng tác v i DB2, bn phi có mt môi trng 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, d i ây 4. Sau ó chy kch bn, nh#p 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 47 5. Bn hãy dành chút thi gian làm quen v i 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 gng tr li nhng câu h"i sau ây: a. Kt ni c s d liu c thit l#p âu? b. Các ký hiu %1 và %2 ngh'a 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?
- Nhp môn H qun tr c s d liu DB2 48 4.6 Trung tâm tác v (Task Center) Công c Trung tâm tác v v i giao din + h&a ngi dùng cho phép bn to ra nhng tác v: là mt t#p 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 tr c tht bi hay thành công. Ví d, nu mt tác v bao g+m 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 ngi qun tr bit. Hình 4.15 minh ho Trung tâm Tác v Hình 4.15 – Trung tâm Tác v 4.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 t+n 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 v i 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 (Control Center) bng cách nhn vào Tools -> Task Center nh minh ho trong hình 4.16. Mt cách khác, bn
- Nhp môn H qun tr c s d liu DB2 49 có th bt u công c này t* menu Start ca Windows: Start -> Programs ->IBM DB -> DB2COPY1 -> General Administration Tools -> Task Center Hình 4.16 – Khi ng Trung tâm Tác v Lên l$ch vi Trung tâm Tác v Bt c loi kch bn nào c.ng có th c lên lch bng 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 + ho ngi dùng). Các tác v c chy ti thi 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. 4.7 Nht ký Công c Nh#t ký có giao din + h&a ca DB2 cung cp cho ngi qun tr c s d liu mt nh#t ký v các hot ng trên biu m%u trc tuyn (online form). Hình 4.17 mô t v Nh#t ký trong DB2 và Bng 4.2 mô t nhng thông tin mà bn có th thu c t* Nh#t ký.
- Nhp môn H qun tr c s d liu DB2 50 Hình 4.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 h+i, t chc li (REORG), v.v ) Thông ip Nh#t ký ca các thông ip c phn h+i t* các công c ca DB2. /i u này rt hu ích nu bn mun triu h+i và i chiu các thông ip li c., 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 li nghiêm tr&ng c ghi li ây Bng 4.2 – Các thông tin c mô t trong Nht ký. Khi chy Nht ký Bn có th khi ng Nh#t ký t* Trung tâm i u khin (Control Center) bng cách bm chut vào Tools -> Journal, nh c mô t trong Hình 4.18. Bng 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.
- Nhp môn H qun tr c s d liu DB2 51 Hình 4.18 – Khi ng Nht kí. 4.8 Giám sát tình trng (health) Giám sát tình trng là mt tác nhân mc nh chy bên trong b máy DB2, giám sát tt c các mt ca tình trng c s d liu (b nh , qun lý không gian, các hot ng c t ng hóa ã c nh rõ tr c ). Khi mà mt s tính nng ca DB2 c thc thi bên ngoài các tham s ã thit l#p, s, xut hin ngoi l, ngi qun tr c s d liu s, c lu ý t i. Có 3 kiu cnh báo: 1 Chú ý: Tình trng không bình thng. 1 Cnh báo: Tình trng cha nghiêm tr&ng, không yêu cu s quan tâm ngay l#p tc nhng có th báo hiu h thng không còn trong tình trng ti u. 1 Báo ng: Tình trng nghiêm tr&ng yêu cu có các hành ng can thip ngay l#p tc. Giám sát h thông có th b#t hoc tt s dng tham s cu hình qun lý c s d liu HEALTH_MON. 4.8.1 Trung tâm tình trng Trung tâm tình trng là mt công c + h&a tng tác v i tác nhân Giám sát tình trng. Công c Trung tâm tình trng phân tích cnh báo tình trng trong h thông i v i t*ng th hin (instance), c s d liu, và không gian bng. Hình 4.19 mô t v công c Trung tâm tình trng.
- Nhp môn H qun tr c s d liu DB2 52 Ch&n thi gian làm m i màn hình Hiu ch-nh các thit l#p ch- th tình trng La ch&n kiu thông báo s dng Nhp úp chut vào bt c li cnh báo nào thì các chi tit v thông báo xut hin ây Hình 4.19 – Công c Trung tâm tình trng Khi chy Trung tâm tình trng. Bn có th khi ng Trung tâm tình trng t* Control Center bng cách nhn vào Tools Menu và ch&n Health Center. /i u này c biu di0n qua Hình 4.20. Bn c.ng có th chy công c này t* Start -> Programs -> IBM DB2 -> DB2COPY1 -> Monitoring Tools - > Health Center. Hình 4.20 – Khi chy Trung tâm sc kh+e Thi t lp cnh báo tình trng Môt khi Trung tâm tình trng ca bn ã c khi ng, bn có th thit l#p các khai báo cho li cnh báo (Alert notification) bng cách nhn vào Health Center menu -> Configure -> Alert Notification nh trong Hình 4.21. Cnh báo tình trng cho phép bn nh#p vào danh b v i a ch- email hay s máy nhn tin ca nhng ngi cn phi liên lc nu xut hin cnh báo.
- Nhp môn H qun tr c s d liu DB2 53 Hình 4.21 – Khai báo cnh báo
- Nhp môn H qun tr c s d liu DB2 54 5 Chng 5 - Môi trng ca DB2 Trong chng này, chúng ta s, tho lu#n v Môi trng DB2: các th hin, c s d liu và các file cu hình. Hình 5.1 mô t các vn bao bi e-líp màu " s, c chúng ta tho lu#n trong chng này. Hình 5.1 - Bc tranh tng th v DB2: Môi trng DB2 / mô t môi trng DB2, hãy mô t dn dn t*ng phn t thành phn. Hình 5.2 cho thy hình t ng v máy ch d liu DB2 sau khi cài t DB2 Express-C 9
- Nhp môn H qun tr c s d liu DB2 55 Hình 5.2 – Hình m%u v máy ch d liu DB2 sau khi cài t DB2 Express-C 9 /ây là mt phn ca quá trình cài t trong môi trng Windows, to ra mt th hin mc nh g&i là DB2 (hay “db2inst1” trên môi trng Linux). /i u này c mô t bng mt hp màu xanh trong Hình 5.3. Th hin này n gin là mt môi trng c l#p 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 trng c s d liu, và mt cái khác dùng cho môi trng phát trin. Tt c các th hin này là c l#p v i nhau; ngh'a là, các thao tác thc hin trên mt th hin s, không làm nh hng t i các th hin còn li. Hình 5.3 – Th hin mc $nh DB2 c to ra. / to mt th hin DB2 m i, s dng câu lnh bd2icrt , ch c thay th bi bt c tên nào g+m 8 kí t. Ví d, to ra th hin myinst, ta s dng câu lnh: bd2icrt myinst. Hình 5.4 cho thy mt th hin m i tên myinst nh mt hp màu xanh riêng bit
- Nhp môn H qun tr c s d liu DB2 56 Hình 5.4 – Mt máy ch DB2 vi 2 th hin. Chú ý rng mi th hin có mt a ch- cng (port) riêng. /i u này giúp phân bit gia các th hin khi mà bn mun kt ni t i 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 hot ng bng cách s dng mt lnh h i u hành trên môi trng Windows: set db2instance = myinst Trong ví d này, nu bn to mt c s d liu t* Ca s dòng lnh, nó s, c to trong th hin myinst. / lit kê các th hin, gõ lnh: db2ilist Trên Linux, mt th hin phi gn li n v i mt ngi dùng trên Linux; do ó, chuyn i gia các th hin, bn ch- cn chuyn i ngi dùng (v i câu lnh su). Bng 5.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 m i 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 Bng 5.1 – Các lnh DB2 hu dng trên th hin. Vài câu lnh trên có th thc hin thay th thông qua trung tâm i u khin (Control Center). 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 c.ng ging nh s dng lnh db2start t* ca s dòng lnh ca DB2, hay Stop, c.ng nh s dng lnh db2stop nh trong hình 5.5
- Nhp môn H qun tr c s d liu DB2 57 Hinh 5.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 t#p 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 l#p, và do v#y, không chia s2 các i t ng v i các c s d liu khác. Hình 5.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 58 Hình 5.6 – C s d liu “MYDB1” c to trong th hin “DB2”. Bng 5.2 Mt s lnh bn có th s dng l p c s d liu. Lnh/ Câu lnh SQL Mô t db2 create database To mt c s d liu m i db2 drop database Loi b" mt c s d liu db2 connect to Kt ni t i c s d liu db2 create table / create view / create index Câu lnh SQL to ra bng biu, khung nhìn, và ch- mc tng ng Bng 5.2 – Các lnh/câu lnh SQL trên c s d liu. Nu mun to mt c s d liu khác c.ng 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 5.7 mô t c s d liu m i “MYDB1” c to trong th hin “myinst”.
- Nhp môn H qun tr c s d liu DB2 59 Hình 5.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 c.ng c to ra theo mc nh: không gian bng, bng, vùng m d liu và các t#p tin nh#t ký (log file). To các i t ng này s, mt mt ít thi gian, ó là lý do ti sao lnh create database yêu cu vài phút x lý. Hình 5.8 mô t 3 không gian bng mc nh c to. Không gian bng s, c tho lu#n 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 l p theo logic gia các bng logic (logical table), và nh tài nguyên h thng nh là các 'a và b nh vùng m d liu. Hình 5.8 – Không gian bng c to mc $nh khi mt C s d liu c to ra. Không gian bng SYSCATSPACE cha các bng danh mc (Catalog). Bng danh mc này c.ng 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
- Nhp môn H qun tr c s d liu DB2 60 không c sa i c.ng 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à sp xp. Không gian bng USERSPACE1 thông thng c dùng lu tr các bng c s d liu ngi dùng khi mt bng c to ra mà không có không gian bng riêng bit lu tr nó. Bn c.ng có th to cho riêng mình các không gian bng khi s dng câu lnh CREATE TABLESPACE. Hình 5.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 c.ng 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 thng xuyên, bn có th dùng nhng 'a nhanh nht và phn l n b nh thông qua vic n nh các c tính này cho không gian bng. Trong hình 5.9, ta thy có 2 i t ng khác c mc nh to ra: mt vùng m d liu IBMDEFAULTBP, và các tp nh#t ký. Vùng m d liu v c bn là mt vùng nh c s dng bi 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 v i kích c( mt trang nh ngang bng kích th c trang nh ca không gian bng có s)n. Trang nh và kích th c trang nh s, c tho lu#n chi tit hn vào Chng 6, Kin trúc ca DB2. Các tp nh#t ký (log) dùng phc h+i. 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à trong khi bn ang làm còn có c các tp nh#t ký lu tr tt c thao tác x lý trên d liu y. C coi các tp nh#t ký nh các tp lu tm mà trên ó lnh “autosave” c thi hành. Các tp nh#t ký s, c nói k' hn Chng 11: Sao lu và phc h+i. Hình 5.9 – Vùng m d liu và các tp nht ký. Phn tr c, chúng ta ã trao i rng các th hin là các môi trng c l#p, và do ó, mt c s d liu trùng tên có th c to trong các th hin khác nhau. C.ng ging nh các th hin, các c s d liu c.ng là các ch th c l#p; do ó, các i t ng trong mt mt c s d liu này không có liên h nào v i 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
- Nhp môn H qun tr c s d liu DB2 61 hình 5.10. /i u này là h p l bi vì các c s d liu là riêng bit. Lu ý rng hình 5.10 không mô t các i t ng mc nh khác ca mt c s d liu SAMPLE do gi i hn không gian trong hình v,. Hình 5.10 – Vùng bng 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 c.ng 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ô ph"ng nh trong Hình 5.11.
- Nhp môn H qun tr c s d liu DB2 62 Hình 5.11 – Bng, khung nhìn và ch, mc c to trong vùng bng. 5.1 C u hình DB2 Ta có th cu hình các tham s ca DB2 bng cách s dng công c Configuration Advisor Tool – công c tr giúp cu hình. / kt ni công c tr giúp cu hình thông qua 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 li ca bn v mt s câu h"i 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 v i 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 c.ng giúp bn hoàn thành tt công vic trên DB2. Mt máy ch DB2 có th cu hình trên 4 cp : - Các bin môi trng. - 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 5.12. Trong hình, hãy chú ý v trí ca mi chic hp. Ví d, các bin môi trng c thit l#p 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 l#p l p th hin . Tham s cu hình c s d liu c qun lý l p c s d liu, và ng ký lý lch (profile DB2) c thit l#p hoc h i u hành hoc l p th hin.
- Nhp môn H qun tr c s d liu DB2 63 Hình 5.12 – C u hình DB2. 5.1.1 Các bi n môi trng Các bin môi trng là các bin c thit l#p h i u hành. Mt bin môi trng 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 l#p th hin hot ng là “myinst” trên Windows, bn có th chy lnh h i u hành sau: set db2instance = myinst 5.1.2 Tp c u hình qun tr$ c s d liu (dbm cfg) Tp cu hình qun tr c s d liu (dbm cfg) bao g+m các tham s nh hng t i 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 bng cách s dng dòng lnh, hoc thông qua Trung tâm i u khin ca DB2. / làm vic v i DBM CFG t* Trung tâm i u khin, la ch&n i t ng th hin t* th mc Instance ca trung tâm i u khin, nhn chut phi cho trình n b#t lên và la ch&n Configuration Parameters. Công vic này c mô t trong Hình 5.13.
- Nhp môn H qun tr c s d liu DB2 64 Hình 5.13 – C u hình dbm t& Trung tâm iu khin. Sau khi ch&n Configuration Parameters, mt màn hình s, hin th lên nh trong Hình 5.14 v i danh sách các tham s dbm cfg. Hình 5.14 – Danh sách dbm cfg. Phn l n tham s là ng, ngh'a là các thay i s, có hiu lc ngay l#p 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 thông qua các lnh db2stop và db2start.
- Nhp môn H qun tr c s d liu DB2 65 Tr c khi mt th hin ng*ng, tt c các ng dng phi c ngt kt ni, hay tm d*ng. Nu bn mun ng*ng mt th hin ngay l#p tc, bn có th dùng lnh db2stop force. Mt th hin c.ng có th ng*ng bng cách nhn chut lên i t ng th hin và la ch&n Stop hay Start thông qua Control Center. Bng 5.3 Mô t mt s lnh hu hiu qun tr công c dbm cfg t* dòng lnh. Lnh Mô t db2 get dbm cfg Thu th#p thông tin v dbm cfg db2 update dbm cfg C#p nh#p giá tr ca tham s dbm cfg. using Bng 5.3 – Các lnh iu khin dbm cfg. 5.1.3 Tp c u hình c s d liu (db cfg) Tp cu hình c s d liu (db cfg) bao g+m 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 bng dòng lnh, hay thông qua Trung tâm i u khin ca DB2. / làm vic v i 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 b#t lên và la ch&n Configuration Parameters. Vic này c mô t nh trong Hình 5.15. Hình 5.15 – C u hình db cfg t& Trung tâm iu khin. Sau khi ch&n Configuration Parameters, mt màn hình s, hin th lên nh trong Hình 5.16 v i danh sách các tham s db cfg.
- Nhp môn H qun tr c s d liu DB2 66 Hình 5.16 – C u hình c s d liu. Bng 5.4 Mô t mt s lnh hu hiu qun lý db cfg t* dòng lnh. Lnh Mô t get db cfg for Thu th#p thông tin v db cfg ca c s d liu mong mun. update db cfg for C#p nh#p giá tr cho mt tham s ca db using cfg. Bng 5.4 – Lnh iu khin db cfg. 5.1.4 * ng ký lý l$ch DB2 (profile). Các bin ng ký lý lch DB2 bao g+m các tham s có th trên mt n n c th và có th thit l#p thành toàn cc (nh hng t i tt c th hin), hay t*ng l p th hin (nh hng riêng t*ng th hin). Bng 5.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 l#p. db2set –lr Lit kê tt c bin ng ký lý lch DB2. db2set = Thit l#p mt giá tr cho mt tham s. Bng 5.5 – Các lnh iu khin ng ký lí l$ch DB2. Bng 5.6 Mt s bin ng ký DB2 hay c dùng nht.
- Nhp môn H qun tr c s d liu DB2 67 Bi n ng ký Mô t DB2COMM Ch- nh nhng qun tr giao tip s, khi ng khi bt u công c qun tr c s d liu. DB2_EXTSECURITY Trên Windows, ngn chn nhng ngi cha c nh danh kt ni t i DB2 bng 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 dòng lnh path\bin\db2envars.bat. Bin này không th dùng cho mc ích này. Bng 5.6 – Các bi n ng ký DB2 hay c dùng. Ví d, cho phép giao tip s dng giao thc TCP/IP, thit l#p bin ng ký DB2COMM thành TCPIP nh d i: db2set db2comm = tcpip 5.2 Máy ch qun tr$ DB2 Máy ch qun tr DB2 (DAS) là mt quá 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 + h&a. 4 ây ch- có mt DAS trên mi máy tính nh trên Hình 5.16. Hình 5.16 – Máy ch qun tr$ DB2 (DAS).
- Nhp môn H qun tr c s d liu DB2 68 6 Phn II – H c DB2: Qun tr$ C s d liu Chng 6 - Ki n trúc ca DB2 Trong chng này chúng ta s, tho lu#n nhng nét chính v - Mô hình x lý ca DB2 - Mô hình b nh ca DB2 - Mô hình lu tr ca DB2 6.1 Mô hình x" lý ca DB2 Hình 6.1 mô t mô hình x lý ca DB2. Trong hình, bên trái ng th!ng ng màu xanh t ng trng cho mt máy trm t* xa (remote client machine), và bên phi t ng trng cho máy ch (server machine). Khi mt ng dng trên máy trm kt ni n máy ch bng lnh SQL CONNECT, các b i kt ni (listener) cho giao thc truy n thông s, nh#n c yêu cu này và liên lc v i mt tác nhân kt h p DB2 (DB2 coordinator agent). Tác nhân DB2 có chc nng thc hin các thao tác thay cho DB2. Nu ng dng ó là cc b (chy trên cùng máy ch v i DB2), các b c rt ging nhau, ch- có tác nhân db2ipccm x lý yêu cu thay cho db2tcpcm. Trong vài trng h p, nh khi x lý song song, mt tác nhân db2 có th sinh ra các tác nhân khác (db2agntp). Các tác nhân khác nh db2pfchr, db2loggr, db2dlock c.ng có th c s dng cho nhng mc ích khác nhau. Nhng x lý thông dng nht c mô t trong bng 6.1. Hình 6.1 – Mô hình x" lý ca DB2
- Nhp môn H qun tr c s d liu DB2 69 Tên x" lý Mô t db2sync X lý ca th hin c s d liu (mt x lý cho mt th hin). db2tcpcm Truy n thông/listener TCP/IP. db2agent Tác nhân kt h p thc thi nhng thao tác c s d liu thay cho các ng dng (ít nht mt tin trình trên mt kt ni, ph thuc vào b t#p trung kt ni có c kích hot không). db2agntp Tác nhân con ch ng c sinh ra nu trng INTRA_PARALLEL là YES. S, thc thi các thao tác c s d liu thay cho ng dng. db2agent s, kt h p công vic ca các tác nhân con db2agntp. db2pfchr B &c d liu nh#p/xut bt +ng b (NUM_IOSERVERS). db2pclnr B ghi d liu nh#p/xut bt +ng b (NUM_IOCLEANERS). Bng 6.1- Các x" lý thông dng ca DB2 6.2 Mô hình b nh ca DB2 Mô hình b nh DB2 g+m nhi u vùng nh khác nhau ti mc th hin, mc c s d liu và mc ng dng và tác nhân (hình 6.2).
- Nhp môn H qun tr c s d liu DB2 70 Hình 6.2 – Mô hình b nh ca DB2 Khi bt u mt th hin, vùng nh chia s2 qun lý c s d liu c cp phát. Thng vùng nh này không nhi u. Ln u tiên kt ni n c s d liu, vùng nh toàn cc c s d liu s, c cp phát. Trong khi này, vùng m (buffer pool) là mt trong nhng thành phn quan tr&ng nht, c bit khi cn ci thin vic thc thi truy vn. Kích th c ca vùng m quyt nh l n ca toàn b vùng nh toàn cc c s d liu. Vùng nh riêng tác nhân là vùng nh c s dng cho mi tác nhân DB2. Nu không dùng b t#p trung kt ni thì mi kt ni cn mt tác nhân. Mt tác nhân s dng khong 3–5MB. Nu s dng b t#p trung kt ni, nhi u kt ni có th dùng chung mt tác nhân, gim nhu cu s dng b nh v#t lý. 6.3 Mô hình lu tr ca DB2 Trong mc này chúng ta s, mô t nhng khái nim sau: - Trang và phm vi - Vùng nh m - Không gian bng 6.3.1 Trang và phm vi Trang là n v lu tr nh" nht ca DB2, v i các kích th c 4K, 8K, 16K và 32K. Mt phm vi là mt nhóm các trang. Ti mt thi im nu ch- làm vic v i mt trang thì lãng phí kh nng thc thi, do v#y DB2 làm vic v i các phm vi ti mt thi im. Kích th c ca trang và phm vi c nh ngh'a khi làm vic v i vùng nh m và các không gian bng nh trong phn tip theo. 6.3.2 Vùng nh m Mt vùng nh m là vùng nh thc (real cache) cho d liu bng và ch- mc. Nó ci thin thc thi bng cách gim nh#p/xut tun t trc tip và nâng cp &c ghi không +ng b. Có ngh'a là DB2 oán tr c trang nào s, cn n, &c chúng t* 'a vào vùng m, nên chúng s)n sàng c s dng. Vùng m c cp phát v i các n v nh là các trang 4K, 8K, 16K, và 32K. Nên có ít nht mt vùng m trên mt c s d liu, và ít nht mt vùng m phù h p cho mt không gian bng có kích th c trang ã bit. To mt vùng m Có th dùng lnh CREATE BUFFERPOOL to vùng m. C.ng có th vào trung tâm i u khin, nhn chut phi lên th mc Buffer pool trong c s d liu ã bit và ch&n Create nh trong hình 6.3.
- Nhp môn H qun tr c s d liu DB2 71 Hình 6.3 – To mt vùng m
- Nhp môn H qun tr c s d liu DB2 72 Sau khi ch&n Create, hp thoi Create Buffer Pool xut hin nh trong hình 6.4. Hình 6.4 - Hp thoi to vùng m Phn l n các mc trong hình 6.4 c t gii thích. Các trng ‘Non-blocked’ và ‘Blocked’ ch- nh s l ng trang t+n ti là không óng khi (non-blocked) hay óng khi (blocked). Vùng m da trên khi bo m rng các trang liên tc trên 'a di chuyn vào vùng m c.ng liên tc trong mt vùng óng khi. Cách này có th ci thin vic thc thi. S l ng trang không th l n hn 98% s l ng trang ca vùng m. /c bit, giá tr 0 s, vô hiu hóa nh#p/xut khi. Mi ln vùng m c to ra, nó s, c trình bày trong trung tâm i u khin nh trong hình 6.5.