Nhập môn Hệ quản trị cơ sở dữ liệu DB2

pdf 210 trang hapham 2560
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:

  • pdfnhap_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

  1. 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
  2. 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 thu c công ty IBM
  3. 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 c m n 9 Li c m n b n 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 b n và n b n DB2 (version and edition) 16 1.7 Chuyn sang n b n DB2 khác 17 1.8 B o 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 b n 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 s n 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
  4. 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 b n 42 4.5.1 Các k!ch b n SQL 42 4.5.2 Các k!ch b n vi h iu hành 44 Bài tp nhanh #3 – To m t k!ch b n 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 tr ng c a 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 qu n 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 qu n tr! DB2 67 Phn II – H c DB2: Qun tr C s d liu 68 Chng 6 - Kin trúc c a 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 b ng 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 B ng 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 b ng danh sách h thng 92 8.2.5. Khai báo các b ng tm thi 93 Bài tp nhanh #5 - Khi to m t b ng 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
  5. 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 qu n 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 b o trì 135 Bài tp nhanh #9 – Cu hình vic b o trì t  ng 137 Chng 13 – Truy cp ng th i 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
  6. 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 lu ng 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 ng i 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 b ng 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 b n 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
  7. 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 qu n 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
  8. 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 ng i gi bn quy n  trên. IBM không m bo hay i din cho nhng n i dung  c nêu ra  ây và không chu trách nhim v tính th ng 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 bu c 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 t ng 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.
  9. 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), 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 quy n 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 tr ng, 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 l u và khôi phc, truy c#p +ng thi 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 g+m th tc, hàm do ng i 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 ch ng, 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 ch ng 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 ch ng trình “DB2 v i /i h&c”, ch ng 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 ch ng trình này  trang DB2 Express-C, a ch- www.ibm.com/db2/express/students.html. Mt quy n 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 c ng +ng. Vit và ch-nh lý m t cun sách là vic làm khó khn. Mc ích ca chúng tôi là n i dung cun sách s,  c duy trì và m r ng bng vic tham gia ca c ng +ng DB2 Express-C. Nu bn mun óng góp ý kin, óng góp nhng n i dung m i  nâng cao n i 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 ng i óng góp Nhng ng i sau ây ã cung cp n i 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/ ch ng trình Bn tho tt c các Tháng 5 – “DB2 v i /i h&c” ch ng 2007 Ian Hakes IBM C ng +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
  10. 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, ng i ã 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
  11. 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à m t quyn sách do c ng +ng và vì c ng +ng. Vì trình  và thi gian hn ch, dù có th còn nhi u khim khuyt, nh ng 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 c ng +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 Tr ng 1 Bùi Thanh Sn /H Bách Khoa Hà N i 2 Châu Uyên Minh H&c vin Công ngh B u chính Vi0n thông TPHCM 3 /ng Chin Công Coltech Hà N i 4 / Bá Lâm /H Bách khoa Hà N i 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à N i 9 Hà Tun Trung 10 Hoàng Minh Hi n Trung Ði H&c Công Ngh, VNU Hà N i 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à N i 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à N i 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 L ng 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à N i 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à N i 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à N i 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
  12. Nhp môn H qun tr c s d liu DB2 11 41 Nguy0n Xuân Tr ng /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à n i 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à N i 51 Trn Vn Tn 52 Trn V ng Trung 53 Tun Vit
  13. 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 c i ngu+n ca s phát trin c s d liu. Là ng i 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à, m t s các t chc l n nht hành tinh ngày nay ã tin t ng 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 bu c 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. M t s trong chúng nhm vào kh nng tiên tin m i, m t s khác li h ng t i gim thiu gánh nng qun tr, m t 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 m t 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ý t ng 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 th ng mi khác, DB2 Express-C không gi i hn dung l ng d liu l u 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 chu t vào nút Help. Cun sách này dùng  giúp nhng ng i 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 t ng vào s h tr và c v. t* c ng +ng. Tôi vui m*ng  c thy cun sách này do các thành viên ca c ng +ng DB2 Express-C phát trin và phát hành mi0n phí cho c ng +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 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
  14. Nhp môn H qun tr c s d liu DB2 13 1 Phn I – Tng quan và Cài t Ch ng 1 - DB2 Express-C là gì? DB2 Express-C là m t sn ph m thu c 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 (C ng +ng). Ngh'a là c ng +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. C ng +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 m t 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 ng i cung cp gii pháp, mun óng gói m t máy ch d liu v i y  tính nng nh là m t 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 m t 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 m t máy ch d liu tin c#y 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ó m t 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ó m t 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 th ng 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 m t 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à m t công ngh c tr ng ca DB2 dùng  l u tr và x lý các vn bn XML b m sinh. 1.1 T do phát tri n, tri n khai và phân phi không có gii hn! Các t t ng ct lõi ca DB2 Express-C g+m: • T do phát tri n: Nu bn là ng i phát trin ng dng và cn m t c s d liu cho ng dng ca mình, bn có th s dng DB2 Express-C.
  15. Nhp môn H qun tr c s d liu DB2 14 • T do tri n khai: Nu bn ang làm vic trong l'nh vc sn xut và cn m t c s d liu  l u 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 m t ng dng hay m t công c cn óng gói v i m t 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, nh ng 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 r ng 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 ng i 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 m t  i DB2 Express-C, nh ng chính c ng +ng s, là nhng ng i gii áp trên c s t nguyn. IBM c.ng cho phép ng i 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 ng i 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 m t máy ch m t nm  M$ - có th thay i  các n c khác) bn s,  c h ng 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  ng i 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 m t s thành phn. DB2 Express-C là hoàn toàn mi0n phí. C.ng nh ã nói  trên, ng i 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.
  16. 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 m t 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* m t n bn  u áp dng  c cho các n bn khác. 1.4 Máy khách DB2 M t 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 m t máy khách DB2. Ví d, m t 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à m t 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 khi n 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 Ch ng 2.
  17. Nhp môn H qun tr c s d liu DB2 16 1.5 T do phát tri n phn mm ng dng DB2 to ra m t môi tr ng 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 m t 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 ch ng trình ng dng kh chuyn. DB2 còn có m t 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 m t 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 m t ln, IBM công b m t phiên bn m i ca DB2. M t 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. M t phiên bn c.ng có th có m t vài ln phát hành, có th bao g+m m t vài chc nng m i nh ng thông th ng không  rõ ràng  nói rng ây là m t 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 th ng  a ra m t ln phát hành m i ca DB2 mi nm m t ln, tuy nhiên nhng phiên bn m i th ng  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, th ng cha nhng phn vá li tc là t ng ng v i các ch ng 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 t ng  ng v i phiên bn 9.1 cùng v i b ch ng trình sa li 2. Trên m t n i 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, m t n bn là m t 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)
  18. Nhp môn H qun tr c s d liu DB2 17 1.7 Chuy n sang n bn DB2 khác Khi c s d liu ca bn cn m r ng, có th bn s, cn nâng cp n bn DB2 h tr cu hình phn cng l n hn. Nu tr ng h p này xy ra, rt d0 dàng  nâng cp lên m t n bn khác ca DB2: • Nu bn nâng cp lên m t n bn DB2 khác trên cùng m t máy, cài t n bn DB2 m i è lên DB2 Express-C, cùng v i bn quy n t ng ng. C s d liu ca bn s, không b xóa (nh ng chúng ta v%n nên sao l u c s d liu tr c khi nâng cp). • Nu bn nâng cp DB2 trên m t máy m i, l n hn và s dng chung m t 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 l u d liu trên máy c. và khôi phc li nó trên máy m i. Bn c.ng có th l u 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 l u và khôi phc s,  c nói rõ hn trong Ch ng 11 Sao l u và Khôi phc, dbm cfg s,  c nói rõ hn trong Ch ng 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 Bo trì DB2 Express-C Nh ã nói tr c ây, có hai la ch&n h tr cho DB2 Express –C: 1. Mua m t 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 ch ng trình sa li fixpack). 2. S dng di0n àn c ng +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 m t ch ng trình sa li,  c nói n trong Ch ng 2, c.ng s, không có ý ngh'a  ây, thay vì v#y m t bn cài t m i ca DB2 Express-C s,  c c.ng cp trên trang web cho các ng i 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 tri n) DB2 Developer Workbench (DBW) là m t môi tr ng 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 l u tr SQL PL và Java, c.ng nh các hàm do ng i 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
  19. 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 ch ng 14, Các th tc l u 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 m t 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 ng i qun tr c s d liu n n web. • DB2WebServer, m t 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 n i dung vn bn (full-text), bao g+m bt c tài liu XML nào  c l u 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à m t 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 m t 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 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  Ch ng 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à m t 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 r ng.
  20. Nhp môn H qun tr c s d liu DB2 19 2 Ch ng 2 – Các tính n ng liên quan và các sn ph!m Ch ng 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 m t s tính nng khác không có trong DB2 Express-C, nh ng là m t phn ca nhng n bn DB2 khác, trong tr ng h p có tr thêm phí. Nhng tính nng có trong DB2 Express-C có bn quy n 12 tháng • B ch ng 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 nh ng 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 l u 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
  21. 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 ch ng trình sa li DB2, s di trú HADR và SQL. 2.1.1 Các ch ng trình s"a li M t ch ng trình sa li DB2 là m t t#p các sa li  c áp dng cho m t 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 m t ng ký s dng có bn quy n, các ch ng trình sa li có th  c ti xung và cài t mi0n phí. Chúng th ng  c  a ra ba tháng m t ln. / ti ch ng 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 m t gii pháp s)n sàng và khôi phc sau s c cho s suy sp toàn phn hoc m t phn. M t môi tr ng HADR thông th ng 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 l u 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ó m t bn sao ca c s d liu chính, th ng  c to ra bng cách sao l u 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. M t 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 h ng 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à m t 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.
  22. 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, m t máy ch ngu+n và m t máy ch ích. Trên máy ch ngu+n, m t ch ng trình “chp” ghi nh#n li các thay i i v i c s d liu. Trên máy ch ích, m t ch ng 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 m t 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 m t 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 tr ng 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 m t l ng l n ng i dùng kt ni ti m t thi im. Tr c ây, mi kt ni c s d liu cn n m t 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 m t tác t x lý nhi u kt ni. Các tác t  c bàn n k$ hn trong ch ng 6, kin trúc DB2.
  23. 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 r ng không gian a lý ca DB2 t+n ti nh m t la ch&n có phí cho n bn DB2 Enterprise. Phn m r ng 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 r ng không gian a lý ca DB2 có th cu thành m t 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 r ng không gian ca DB2 (DB2 Spatial Extender) và các ch ng trình ng dng doanh nghip làm vic tt hn khi chúng l u tr d liu theo nh dng này,  phép chiu t ng 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 ki m soát truy v n B kim soát truy vn ca DB2 là m t 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à m t phn m m da trên vic tr phí cho phép m t máy khách DB2 Linux, UNIX hay Windows kt ni n m t 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 m t 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:
  24. 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 thu c 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 m t truy vn gia hai c s d liu DB2 khác nhau, hoc gia m t c s d liu DB2 và m t c s d liu Informix® (Infomix là m t 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 m t 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.
  25. Nhp môn H qun tr c s d liu DB2 24 3 Ch ng 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 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 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 m t n n khác (ging nh UNIX), bn nên mua m t 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à m t ng i 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 ng i s dng phi thu c v nhóm Qun tr trên máy mà bn s, thc hin cài t. M t cách khác, m t tài khon ng i dùng không thu c nhóm Qun tr có th  c s dng, v i i u kin là m t thành viên thu c nhóm Qun tr Windows u tiên cu hình các thit l#p nâng quy n Windows  cho phép m t tài khon ng i dùng không thu c 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 ng i dùng trên máy ch DB2, ID ca ng i tin hành cài t phi thu c 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 ng i dùng c.ng phi có quy n “Truy c#p máy tính này qua mng”
  26. Nhp môn H qun tr c s d liu DB2 25 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, nh ng 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 th ng, 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 m t bn sao m i ca DB2 lên h thng. Hình 3.1 – Bt u cài t DB2 (DB2 Setup Launchpad)
  27. Nhp môn H qun tr c s d liu DB2 26 Sau khi chp nh#n 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 ki u cài t Trong hình 3.3, bn có các la ch&n  cài t sn ph m, to m t 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à l u các thit l#p ra tp biên bn) là .
  28. 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 m t ng i 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. Ng i dùng này phi nm trong danh sách Qun tr (Local Administrator) ca Windows. Nu nh ID ca ng i dùng bn nh#p vào không t+n ti, m t ng i dùng m i s,  c thêm vào nhóm Qun tr. Bn có th  trng “domain” nu nh ng i dùng bn nh#p vào không thu c vào m t mi n nào ó. ID ng i dùng mc nh  c to ra trong windows là db2admin, trong Linux là db2inst1.
  29. Nhp môn H qun tr c s d liu DB2 28 Hình 3.4 - Nhp thông tin ng i 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 m t danh sách tng kt nhng phn nào s,  c cài t c.ng nh m t 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 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à m t phn trong ng dng bn xây dng và bn
  30. Nhp môn H qun tr c s d liu DB2 29 mun quá trình cài t DB2 là m t phn ca quá trình cài t chung toàn b ng dng ó. Khi ó, cài t hàng lot là ph ng 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à m t trích on ca m t 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 ph ng pháp có th dùng  to ra tp biên bn: • Cài t DB2 Express-C tr c m t ln, s dng ph ng pháp cài t theo h ng d%n t*ng b c. M t trong các la ch&n u tiên khi bn cài t theo ph ng pháp này cho phép bn ánh du yêu cu DB2 l u li các thông s bn nh#p vào trong quá trình cài t vào m t tp biên bn. Khi kt thúc quá trình cài t tp biên bn s,  c l u vào th mc và tên tp do bn nh#p vào. Vì tp này là m t 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 ph ng 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 r ng 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
  31. 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 m t 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 m t 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, m t 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 ch a. Sau khi ch ng 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 bu c, 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 m t 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 ng i s dng. M t 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 m t tài khon ca h thng  có th thc hin. Trong môi tr ng Window bn s dng tài khon mc nh  c  ngh là db2admin, nu tài khon này ch a 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 m t tài khon s)n có trong
  32. Nhp môn H qun tr c s d liu DB2 31 h thng thay vì nh DB2 to ra m t tài khon m i cho bn nh ng 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. M t ínstance DB2 có th  c coi nh là m t “kho cha cho c s d liu”. M t ínstance này phi t+n ti tr c khi bt kì m t c s d liu nào  c to ra và  c “t vào bên trong kho”. Trong môi tr ng Window, m t ínstance  c g&i là DB2 t  ng  c to ra, trong khi trong môi tr ng 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 ch ng 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 thu c 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 m t cách t  ng. 11. First Steps. Sau khi quá trình cài t kt thúc, m t 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 ch ng 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 m t 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 m t 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 m t 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 bu c trong các tài liu h ng d%n cài t DB2, nh ng 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 m t 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à m t Tùy ch&n.
  33. Nhp môn H qun tr c s d liu DB2 32 4 Ch ng 4 - Các công c DB2 Trong ch ng này chúng tôi s, gi i thiu m t 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  t ng 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 t ng tác v i máy ch d liu DB2. Phía bên phi trong hình v, là môi tr ng DB2 c bn bao g+m m t th hin (instance) DB2, m t c s d liu và các tp cu hình t ng 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.
  34. 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 m t danh sách các lnh tt  g&i m t 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 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 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 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 khi n (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
  35. Nhp môn H qun tr c s d liu DB2 34 Hình 4.3 - Trung tâm iu khi n ca DB2 Trung tâm i u khin là m t 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 m t 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 m t 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 tr ng h p này là tt các bng liên quan n c s d liu SAMPLE. Nu bn ch&n m t 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 chu t 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 m t bng ch&n thích h p v i th mc/i t ng ó. Ví d, nhn phi chu t lên m t cài t DB2 và ch&n “Configure parameters” cho phép bn xem và c#p nh#t tp cu hình cho ch ng trình qun tr c s d liu. T ng t, nu bn nhn chu t phi vào m t 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 tr ng DB2 và các thông s cu hình s,  c nhc t i k$ hn  ch ng 5, Môi tr ng 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 t ng ng. Hình 4.4 là h p thoi dùng  la ch&n cách hin th ca Trung tâm i u khin.
  36. Nhp môn H qun tr c s d liu DB2 35 Hình 4.4 - Hp thoi ch n cách hi n th$ Trung tâm iu khi n 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 h p 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 khi n
  37. Nhp môn H qun tr c s d liu DB2 36 Khi ng Trung tâm iu khi n 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 chu t 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 khi n 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 m t 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 m t 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, nh ng 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 m t câu lnh nào ó thì ch- mình câu lnh này s,  c thc hin. M t 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.
  38. 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 m t k hoch truy c#p mà (Có th dù ng t h p phím ra m t 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 m t s cách: 1 T* Menu Start ca Windows: Start -> Programs -> IBM DB2 -> Command Line Tools -> Command Editor 1 T* m t 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 chu t 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 m t 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 - Bi u t ng C"a s nhp lnh trong Trung tâm iu khi n Thêm mt k t ni ti c s d liu / thêm m t kt ni t i m t c s d liu nhn vào nút Add. M t h p thoi nh trong hình 4.10 s, xut hin.
  39. Nhp môn H qun tr c s d liu DB2 38 La ch&n m t 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 ng i dùng kh u ca m t ang ng ng i 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 thu c v i ngôn ng SQL và thích s dng m t 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à m t 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 chu t vào biu t ng sau v i ký hiu SQL (ni lên trong hình v i vòng tròn ").
  40. 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 thu c 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.
  41. 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 m t công vic. / xem phn này, nhp chu t 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 m t 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 khi n Mc ích Trong bài t#p nhanh này, bn s, to ra m t 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 chu t vào th mc All Databases, ch&n danh sách Create Database, và ch&n danh sách
  42. 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í l u 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: Tr ng h p này mc nh là EXPRESS nu bên trái  trng. • Ghi chú: Tr ng h p này có th tùy ch&n, bên trái có th  trng. Nhp chu t vào CSDL có s)n Enable cho h p ch&n XML, và sau ó nhp chu t vào nút Next  tip tc trang k ca trình h ng d%n. 3. Trong Specify cn ch- rõ ni l u 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 m t 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 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 m t email hay m t trang nu có m t s c hay m t 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 m t 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ó m t 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 th ng phi mt m t 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 m t CSDL ã  c to, n i trú ngay trong nó là m t 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 m t 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 l u. /ánh du tp quicklab2.db2 và nhp nút OK. Các n i 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
  43. 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à m t ví d n gin cho m t ca hàng sách trên Internet. Bng BOOKS cha tt c thông tin v nhng cun sách  c l u 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 m t cun sách, m t 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, m t ng i qun tr (DBA) có th mun chy m t 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. 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 l u 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;
  44. 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 m t 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 r ng là “db2”. Bt k phn m r ng nào c.ng dùng  c. Thc thi các k$ch bn SQL: M t 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, nh ng 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ó m t s hoàn cnh mà ta cn n m t u phân cách khác. Ví d m t kch bn cha mã SQL PL cn dùng m t 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 thu c 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 m t hàm, m t 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 m t du chm than (!). Nu chúng ta li dùng m t 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ó m t li trong thông báo t* DB2. CREATE FUNCTION f1() SELECT ; END! Tp functions.db2 / cho DB2 bit rng m t 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
  45. 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 thu c 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 m t 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 r ng “bat”  nói cho h i u hành bit rng ây là m t 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à m t 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.
  46. 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à m t 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 l u, 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 m t 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 m t ch ng 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. L u li t#p tin kch bn trong m t th mc và t tên cho t#p tin này là create_database.bat. Trong h p thoi ca s Save As, m bm rng bn ã ch&n mc tùy ch&n MS-DOS Format (trong Wordpad). Nu bn l u t#p tin này d i m t nh dng khác, Wordpad có th s, to thêm m t 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 r ng .TXT cho t#p tin nh hình v, d i ây.
  47. Nhp môn H qun tr c s d liu DB2 46 3. / chy kch bn t ng tác v i DB2, bn phi có m t 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, d i ây 4. Sau ó  chy kch bn, nh#p vào các lnh sau: cd C:\express create_database.bat db2admin ibmdb2
  48. 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?
  49. 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 ng i dùng cho phép bn to ra nhng tác v: là m t 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 m t tác v bao g+m công vic sao l u m t c s d liu quan tr&ng vào lúc 3h sáng  c thc hin thành công, m t email s,  c gi n cho DBA  cung cp thông tin này. Mt khác, nu tác v sao l u tht bi thì Trung tâm tác v s, ánh du trang (page) cho ng i 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 l u tr trong m t 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 m t 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 ch ng 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. M t cách khác, bn
  50. 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 m t công c ca DB2 có giao din + ho ng i 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 m t 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 ng i qun tr c s d liu m t 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ý.
  51. Nhp môn H qun tr c s d liu DB2 50 Hình 4.17 – Nht ký Ki u 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 l u, (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 h p thoi quá nhanh hay do trc trc. Bn ghi các thông báo L u 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 chu t 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.
  52. 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à m t 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à m t 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, ng i qun tr c s d liu s,  c l u ý t i. Có 3 kiu cnh báo: 1 Chú ý: Tình trng không bình th ng. 1 Cnh báo: Tình trng ch a nghiêm tr&ng, không yêu cu s quan tâm ngay l#p tc nh ng 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à m t công c + h&a  t ng 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.
  53. 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 chu t 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 ng i cn phi liên lc nu xut hin cnh báo.
  54. Nhp môn H qun tr c s d liu DB2 53 Hình 4.21 – Khai báo cnh báo
  55. Nhp môn H qun tr c s d liu DB2 54 5 Ch ng 5 - Môi tr ng ca DB2 Trong ch ng này, chúng ta s, tho lu#n v Môi tr ng 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 ch ng này. Hình 5.1 - Bc 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 5.2 cho thy hình t ng v máy ch d liu DB2 sau khi cài t DB2 Express-C 9
  56. 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à m t phn ca quá trình cài t trong môi tr ng Windows, to ra m t th hin mc nh g&i là DB2 (hay “db2inst1” trên môi tr ng Linux). /i u này  c mô t bng m t h p màu xanh trong Hình 5.3. Th hin này n gin là m t môi tr ng  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 m t máy ch d liu và s dng chúng cho các mc ích khác nhau. Ví d, m t th hin có th  c dùng  l u 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à m t cái khác dùng cho môi tr ng 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 m t th hin s, không làm nh h ng t i các th hin còn li. Hình 5.3 – Th hin mc $nh DB2  c to ra. / to m t 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 m t th hin m i tên myinst nh m t h p màu xanh riêng bit
  57. 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ó m t 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 m t c s d liu trong m t th hin nht nh t* m t 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 m t th hin hot  ng bng cách s dng m t lnh h i u hành trên môi tr ng Windows: set db2instance = myinst Trong ví d này, nu bn to m t 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, m t th hin phi gn li n v i m t ng i dùng trên Linux; do ó,  chuyn i gia các th hin, bn ch- cn chuyn i ng i 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 m t th hin m i db2idrop Loi b" m t 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 r ng th mc Instances và nhn chu t 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
  58. 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 m t c s d liu trong m t 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. M t c s d liu là m t 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 m t cách hình t ng c s d liu “MYDB1”  c to ra bên trong th hin “DB2”.
  59. 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 M t s lnh bn có th s dng  l p c s d liu. Lnh/ Câu lnh SQL Mô t db2 create database To m t c s d liu m i db2 drop database Loi b" m t 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 t ng ng Bng 5.2 – Các lnh/câu lnh SQL trên c s d liu. Nu mun to m t c s d liu khác c.ng có trùng tên (MYDB1) nh ng 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”.
  60. 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 m t c s d liu  c to, m t 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 m t í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 Ch ng 6, Kin trúc ca DB2; nh ng 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
  61. 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ý m t s thao tác nh là sp xp. Không gian bng USERSPACE1 thông th ng  c dùng  l u tr các bng c s d liu ng i dùng khi m t bng  c to ra mà không có không gian bng riêng bit  l u 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 m t không gian bng, bn c.ng ch- nh các  'a và vùng m d liu  s dng. Do ó, nu bn có m t bng “nóng”, ó là m t bng  c s dng th ng 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: m t vùng m d liu IBMDEFAULTBP, và các tp nh#t ký. Vùng m d liu v c bn là m t vùng nh  c s dng bi c s d liu. Bn có th to m t hay nhi u vùng m, nh ng luôn luôn phi có m t vùng m v i kích c( m t 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 Ch ng 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 m t c s d liu, các thông tin không ch-  c l u 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ý l u 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 l u tm mà trên ó lnh “autosave”  c thi hành. Các tp nh#t ký s,  c nói k' hn  Ch ng 11: Sao l u 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 tr ng  c l#p, và do ó, m t 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 m t m t c s d liu này không có liên h nào v i các i t ng trong m t m t c s d liu khác. Vic to m t không gian bng cùng tên “mytbls1” trong m t c s d liu MYDB1 và m t c s d liu SAMPLE trong th hin DB2  c mô t nh trong
  62. 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. L u ý rng hình 5.10 không mô t các i t ng mc nh khác ca m t 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. M t khi bn to ra m t 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.
  63. 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 chu t phi lên m t c s d liu và ch&n “Configuration Advisor”. Da trên cách tr li ca bn v m t 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 m t 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. M t 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 5.12. Trong hình, hãy chú ý v trí ca mi chic h p. Ví d, các bin môi tr ng  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.
  64. 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 tr ng Các bin môi tr ng là các bin  c thit l#p  h i u hành. M t 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 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 h ng 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 chu t 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.
  65. 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 khi n. Sau khi ch&n Configuration Parameters, m t 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 m t 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.
  66. Nhp môn H qun tr c s d liu DB2 65 Tr c khi m t th hin ng*ng, tt c các ng dng phi  c ngt kt ni, hay tm d*ng. Nu bn mun ng*ng m t th hin ngay l#p tc, bn có th dùng lnh db2stop force. M t th hin c.ng có th ng*ng bng cách nhn chu t lên i t ng th hin và la ch&n Stop hay Start thông qua Control Center. Bng 5.3 Mô t m t 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 khi n 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 chu t 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 khi n. Sau khi ch&n Configuration Parameters, m t 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.
  67. 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 m t 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 m t tham s ca db using cfg. Bng 5.4 – Lnh iu khi n 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 m t n n c th và có th thit l#p thành toàn cc (nh h ng t i tt c th hin), hay  t*ng l p th hin (nh h ng riêng t*ng th hin). Bng 5.5 Mô t m t 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 m t giá tr cho m t tham s. Bng 5.5 – Các lnh iu khi n  ng ký lí l$ch DB2. Bng 5.6 M t s bin ng ký DB2 hay  c dùng nht.
  68. 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 ng i ch a  c nh danh kt ni t i DB2 bng cách khóa tp tin h thng DB2. DB2_COPY_NAME L u tr tên ca bn sao DB2 hin ti ang dùng. / chuyn sang m t 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à m t 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ó m t 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).
  69. Nhp môn H qun tr c s d liu DB2 68 6 Phn II – H c DB2: Qun tr$ C s d liu Ch ng 6 - Ki n trúc ca DB2 Trong ch ng 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 l u 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 tr ng cho m t máy trm t* xa (remote client machine), và bên phi t ng tr ng cho máy ch (server machine). Khi m t 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 m t 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 tr ng h p, nh khi x lý song song, m t 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
  70. 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 (m t x lý cho m t 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 m t tin trình trên m t kt ni, ph thu c 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 tr ng 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).
  71. 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 m t th hin, vùng nh chia s2 qun lý c s d liu  c cp phát. Th ng 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à m t 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 m t tác nhân. M t 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 m t tác nhân, gim nhu cu s dng b nh v#t lý. 6.3 Mô hình l u 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 l u tr nh" nht ca DB2, v i các kích th c 4K, 8K, 16K và 32K. M t phm vi là m t nhóm các trang. Ti m t thi im nu ch- làm vic v i m t trang thì lãng phí kh nng thc thi, do v#y DB2 làm vic v i các phm vi ti m t 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 M t 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 m t vùng m trên m t c s d liu, và ít nht m t vùng m phù h p cho m t 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 chu t phi lên th mc Buffer pool trong c s d liu ã bit và ch&n Create nh trong hình 6.3.
  72. Nhp môn H qun tr c s d liu DB2 71 Hình 6.3 – To mt vùng m
  73. Nhp môn H qun tr c s d liu DB2 72 Sau khi ch&n Create, h p 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 tr ng ‘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 m t 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.