Bài giảng Nhập môn hệ quản trị cơ sở dữ liệu DB2

pdf 224 trang huongle 10090
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Nhập môn hệ quản trị cơ sở dữ liệu DB2", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfbai_giang_nhap_mon_he_quan_tri_co_so_du_lieu_db2.pdf

Nội dung text: Bài giảng Nhập môn hệ quản trị cơ sở dữ liệu DB2

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