1. Trang chủ
  2. » Công Nghệ Thông Tin

Nhập môn DB2 Express – C part 6 pdf

21 176 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 21
Dung lượng 1,13 MB

Nội dung

Nhp môn H qun tr c s d liu DB2 105 Kch bn trên cn thit khi làm vic vi c s d liu trên các nn tng khác nhau nh Linux và Windows. Nu c hai máy ch u hot ng trên cùng mt nn tng, bn s, dùng nhng lnh sao lu d phòng và khôi phc s, làm cho x lý d0 dàng hn và rõ ràng hn. Nhng lnh sao lu và khôi phc s, c mô t chi tit hn trong chng sau ca cun sách này. Nhng ví d sau s, rút trích không gian bng và b trí vùng m d liu, cùng vi nhng lnh DDL t* c s d liu SAMPLE, và lu tr chúng trong tp sample.ddl. Chúng tôi khuyn khích bn chy lnh bên di và xem li tp kt qu xut (vn bn) “sample.ddl”. Lnh db2look có quá nhiu tùy ch&n không th mô t ht trong cun sách này; tuy nhiên bn có th s dng c -h  ly c phn mô t tóm lc các tùy ch&n s)n có: db2look -h Công c db2look c.ng có th c g&i t* trung tâm iu khin nh biu di0n trong Hình 9.6 Nhp môn H qun tr c s d liu DB2 106 Trong Hình 9.6 ch&n c s d liu mà bn mun ly DDL, nhn chut phi lên nó, và ch&n “Generate DDL”. Ca s Generate DDL xut hin, hin th mt s tùy ch&n rút trích, th hin nh trong hình 9.7. Nhp môn H qun tr c s d liu DB2 107 Bài tp nhanh #6 - Trích xut DDL t& c s d liu EXPRESS Mc tiêu: Khi bn sao lu mt c s d liu, mc tiêu ca bn là phi to li c s d liu bng cách n gin và hp lý. Thông thng s dng kch bn SQL, nó có th c thc hin sau khi DB2 c cài t. Trong bài t#p nhanh này, bn s, rút ra nhng nh ngh'a i tng t* c s d liu EXPRESS (ã to trong bài t#p nhanh #3) s dng Trung tâm iu khin. Quy trình: 1. M Trung tâm iu khin. 2. Nhn chut phi vào c s d liu EXPRESS trên cây i tng và ch&n mc Generate DDL. Vic này m ca s hp thoi Generate DDL. 3. Trong ca s Generate DDL, ch- rõ nhng tùy ch&n cho Generate DDL nh di ây. Nu bn to ra thêm nhng i tng b sung trong môi trng ca bn nh không gian bàng, b m , bn s, ch&n chúng  ây. Khi bn không to ra bt k loi i tng nào, *ng ánh du vào hp kim. Thng kê c s d liu không c thêm vào vì môi trng sn xut có kh nng cha mt t#p hp thng kê khác hn môi trng phát trin. Tng t, nhng thông s cu hình s, có kh nng khác i mt chút. Trong môi trng mà bn s hu, nu m&i th cu hình chính xác theo cách nó c trin khai, bn có th ch&n thêm vào cái tùy ch&n b sung. 4. Chuyn qua trang Object. Bn có th ch- nh ch&n nhng i tng mà bn mun phát sinh ra DDL. Trong trng hp này, ch&n ngi dùng và gin + mà bn dùng  to ra tt c các i tng ca bn và phát sinh ra DLL cho tt c các i tng trong gin + này. Nhn nút Generate  bt u to DLL. Nhp môn H qun tr c s d liu DB2 108 5. Xem li kt qu DDL. Kt qu ca bc thc hin trc là mt kch bn vi tt c các câu lênh SQL cho các i tng c ch&n. Bn s, t chc các kch bn này vào trong nhng nhóm hp lý. 6. To th mc C:\express trong t#p tin h thng và lu t#p tin phát sinh DDL vào trong th mc này vi vi tên là schema.ddl, Nhn nút “Save”. 7. M tp c lu gn ây nht trong ca s nh#p lnh. (Gi ý: t* ca s nh#p lnh, ch&n File -> Open) 8. Mc dù chúng tôi ch- thc s mun DDL ca các bng, bn s, thy các DDL cho c nhng i tng khác na c.ng c sinh ra. Chuyn tt c nhng khai báo CREATE TRIGGER ti mt tp mi riêng bit c g&i là triggers.ddl. Th#m chí dù chúng tôi ch- to ra có mt b%y s kin c.ng  riêng ra, nó là mt thói quen tt  phân bit các i tng theo kiu ca nó. 9. Bây gi chúng tôi c.ng khuyn cáo loi b": Nhp môn H qun tr c s d liu DB2 109 • Các lnh c s d liu CONNECT TO. • Các lnh DISCONNECT. Bn phi có hai kch bn ti im này: C:\express\schema.ddl DDL cho các bng, các cách hin th, các ch- mc và các ràng buc. C:\express\triggers.ddl DDL cho các b%y s kin 10. Chu n b kch bn cho s trin khai: • Xóa nhng chú thích không cn thit (ví d: CONNECT TO…) • Tách các hàm và các th tc vào nhng tp tin riêng (rt hu dng khi có quá nhiu hàm và th tc). Bn c.ng có th nhóm chúng li theo chc nng hay ng dng (ví d: stringfunc.ddl, billing.ddl, math.ddl, , …) 11. Bn có th phi chú ý n nhng kí t c bit c dùng  gii hn kt thúc các b%y, các hàm và các th tc (@). /iu ó là cn thit  t gii hn kt thúc ca lnh CREATE <••i t••ng> khác vi kt thúc ca mt khai báo th tc nm bên trong i tng. Nhp môn H qun tr c s d liu DB2 110 10 Chng 10 – Bo mt c s d liu Chng này bàn v s bo m#t c x lý nh th nào trong DB2. Hình 10.1 cung cp mt cái nhìn tng quan c bn Hình 10.1 – Tng quan v s bo mt trong DB2 Nh trong hình 10.1, s bo m#t DB2 có hai phn: *$nh danh Nó là mt tin trình qua ó kim tra tính hp l ca thông tin ng nh#p ca ngi dùng. Tin trình nh danh c thc thi bi mt chng trình bo m#t bên ngoài DB2 (in hình là bi mt h iu hành, mt phng thc nh danh ca mt mng nào ó, hoc là mt phn mm nh danh c thit k theo yêu cu). Tin trình nh danh ca h iu hành c xác l#p mc nh. Khi s dng tin trình nh danh ca h iu hành, tên ngi dùng (userid) và m#t mã c chuyn ti c s d liu  máy ch (nh là mt phn ca câu lnh kt ni). Sau ó, c s d liu  máy ch s, g&i tin trình nh danh ca h iu hành  kim tra tính hp l ca tên ngi dùng và m#t mã. Quyn hn 4 phn này, DB2 kim tra xem ngi dùng, ã qua nh danh  trên, có th thi hành thao tác ngi ó yêu cu hay không. Thông tin v quyn hn c lu tr trong mt danh mc DB2 và mt t#p tin cu hình DBM. Ví d, trong hình 10.1, ngi dùng ‘bob’ kt ni vi c s d liu SAMPLE bng câu lnh : CONNECT TO sample USER bob USING pwd C “bob” và “pwd” c chuyn ti h iu hành hoc mt chng trình nh danh bên ngoài  kim tra xem tên ngi dùng “bob” ã c nh ngh'a cha và m#t mã ó có Nhp môn H qun tr c s d liu DB2 111 c ni vi ngi dùng này hay không. Nu phn này thành công, h iu hành s, tr li quyn kim soát bo m#t cho DB2. Tip theo, khi ngi dùng “bob” thi hành lnh sau: SELECT * FROM mytable By gi DB2 tip tc dùng quyn kim soát bo m#t  thi hành vic kim tra quyn hn và xác nh#n ngi dùng “bob” có quyn SELECT trên bng “mytable” hay không. Nu quyn ó không hp l, DB2 s, tr v mt thông báo li, ngc li câu lnh s, c thc thi da trên bng “mytable”. 10.1 *$nh danh Mc dù tin trình nh danh thc s c thc hin bi h iu hành (hoc mt chng trình bo m#t khác bên ngoài), DB2 v%n quyt nh tng mà tin trình nh danh xy ra. Tham s AUTHENTICATION trong DBM CFG, thit l#p  máy ch DB2, có mt dãy các giá tr hp l. Ví d khi tham s c thit l#p là SERVER (giá tr mc nh), tin trình nh danh s, c thc thi bi h iu hành hoc chng trình bo m#t bên ngoài  trên máy ch.Tuy nhiên, nu AUTHENTICATION c thit l#p là CLIENT, tin trình nh danh s, c thc thi bi h iu hành hoc chng trình bo m#t bên ngoài  trên máy khách. Vn  này c minh h&a  hình 10.2 Hình 10.2 – Ni tin trình $nh danh xy ra Tham s AUTHENTICATION có th c thit l#p bng mt trong nhng giá tr c kit kê trong bng 10.1 Lnh Mô t SERVER (mc nh) tin trình nh danh di0n ra  máy ch CLIENT tin trình nh danh di0n ra  máy khách SERVER_ENCRYPT tng t nh SERVER nhng tên ca ngi dùng và m#t mã c mã hóa KERBEROS tin trình nh danh di0n ra dùng c ch bo m#t Kerberos SQL_AUTHENTICATION_DATAENC tin trình nh danh máy ch cng thêm s kt ni phi dùng s mã hóa Nhp môn H qun tr c s d liu DB2 112 d liu SQL_AUTHENTICATION_DATAENC_CMP ging nh  trên nhng s mã hóa d liu ch- dùng khi có s)n GSSPLUGIN tin trình nh danh dùng c ch bo m#t bên ngoài da trên GSS API Bng 10.1 - Nhng giá tr$ tham s AUTHENTICATION hp l 10.2 Quyn hn Quyn hn bao g+m các c quyn và quyn c lu tr trong nhng bng h thng DB2 và c DB2 qun lý. Mt c quyn cho phép ngi dùng thi hành mt loi thao tác n da trên c s d liu nh là CREATE, UPDATE, DELETE, INSERT, …. Mt quyn là mt hành ng c xác nh trc bao g+m nhiu c quyn. Hình 10.3 minh h&a các quyn và c quyn khác nhau trong DB2. Nhp môn H qun tr c s d liu DB2 113 Hình 10.3 - Nhng quyn và c quyn Bng 10.2 nêu ra nhng hàm khác nhau mà mi quyn có th thc hin. Nh bn thy SYSADM có hu ht các quyn trong khi SYSMON có ít quyn nht. Chc n ng SYSADM SYSCTRL SYSMAINT SYSMON DBADM LOAD Cp nht DBM CFG Y Cp phép/Hy b+ DBADM Y Thit lp/Thay i SYSCTRL Y Thit lp/Thay i SYSMAINT Y Thit lp/Thay i SYSMON Y Buc ngi dùng ra kh+i c s d liu Y Y Nhp môn H qun tr c s d liu DB2 114 To/B+ c s d liu Y Y Khôi phc thành c s d liu mi Y Y Cp nht DB CFG Y Y Y Sao lu c s d liu/không gian bng Y Y Y Khôi phc thành c s d liu ã tn ti Y Y Y Khôi phc tin Y Y Y Bt u/kt thúc mt th hin Y Y Y Phc hi không gian bng Y Y Y Thc hin theo vt Y Y Y Y Ly hình nh màn hình Y Y Y Truy vn trng thái không gian bng Y Y Y Lc bt tp tin nht ký Y Y Y Quiesce không gian bng Y Y Y Y Y Np bng Y Y Y Thíêt lp/g/ b+ trng thái treo Y Y To/hy b+ s kin màn hình Y Y Bng 10.2 – Các quyn và c quyn DB2 / cp quyn SYSADM, SYSCTRL, hoc SYSMAINT cho mt nhóm, nhng tham s SYSADM_GROUP, SYSCTRL_GROUP, hoc SYSMAINT_GROUP trong DBM CFG phi c gán cho nhóm h iu hành Ví d,  cp quyn SYSADM cho nhóm h iu hành ‘db2admns’, bn có th dùng câu lnh này: update dbm cfg using SYSADM_GROUP db2admns Mi th hin DB2 có nhng nh ngh'a v nhóm quyn riêng. Trên Windows, nhng tham s này c mc nh là rng, iu ó có ngh'a là nhóm nhng ngi qun tr Windows là SYSADM. Trên Linux, nhóm nhng ngi s hu th hin c mc nh là nhóm SYSADM. 10.3 Quyn qun tr$ c s d liu DBADM DBADM (DataBase ADMinistrator) là ngi có quyn cao nht v qun tr c s d liu. /ây không phi là quyn  cp  c th; do ó không c nêu ra trong phn trc. / gán quyn qun tr c s d liu DBADM, ta s dng lnh GRANT, thí d: connect to sample grant DBADM on database to user <userid> [...]... quan n c c vùng ch a d li u (containers) nh 'a và c c vùng m (b nh ) ó là c c tài nguyên v#t lý c a h th ng 10.4 Nhóm PUBLIC DB2 nh ngh'a m t nhóm bên trong c g&i là PUBLIC B t c ng i dùng nào ã c nh danh b i h i u hành ho c d ch v ch ng th c m ng u c ng m nh là thành viên c a nhóm PUBLIC Khi m t c s d li u c t o ra, m t s quy n c th s, c gán m t c ch t ng cho nhóm PUBLIC: • • • • CONNECT, CREATETAB,... gán Khi m t nhóm c gán quy n, c c thành viên c a nhóm s, nh c k th*a v i t c ch thành viên nhóm c gán c c quy n ng m Khi m t ng i dùng b xóa kh"i nhóm, ng i này s, m t c c quy n ng m nh c a nhóm, nh ng v%n c n gi c c quy n c gán t ng minh Nói m t c ch kh c c c quy n c c p m t c ch t ng minh ph i c h y b" m t c ch t ng minh Nh p môn H qu n tr c s d li u DB2 118 Bài t p nhanh # 7: Cho phép và h y b+... ph i chu t vào b ng này và ch&n Privileges M t khi c ch&n, h p tho i Privileges hi n th nh hình 10.5 Hình này c mô t c c tr ng và c c thành ph n c a h p tho i Hình 10.5 – H p tho i Privileges Nh p môn H qu n tr c s d li u DB2 117 M t c ch kh c, b n c th truy v n c c th hi n danh m c DB2 SYSCAT là n i ch a c c thông tin v vi c c p quy n Ví d , n u b n mu n bi t ng i dùng DB2ADMIN c quy n SELECT trên... m t b n sao chép c s d li u l c l nh c th c thi C pháp n gi n nh t b n c th s d ng ch y l nh này là: BACKUP DATABASE [ TO ] c th c hi n tr c tuy n hay ngo i tuy n Tr c H u h t c c l nh và c ng c có th tuy n ngh'a là ng i s d ng kh c có th c k t n i và th c hi n c c thao t c trên c s d li u trong khi b n th c thi l nh c a mình Ngo i tuy n là không ng i nào c k t n i n c s d li u trong... Customize Control Center trên th c n Control Center Tool, ch&n ti p tùy ch&n Advanced và nh n OK B o m khung nhìn làm vi c hi n t i ch Advanced 5 M r ng c y i t ng c a Trung tâm i u khi n Database -> EXPRESS -> Tables bên trái c a s , ch&n All Nh p môn H qu n tr c s d li u DB2 119 6 Phân nh ng quy n c n c cho ng i dùng v*a m i t o ra: T* danh sách c c b ng trong c s d li u EXPRESS, nh n chu t ph i... a N u, m t kh c, giao d ch ã s d ng P1, P2, P3 và v%n c n nhi u không gian nh#t ký h n n a b i vì giao d ch ch a c COMMIT, thì m t nh#t ký th c p c c p phát (S1 trên hình v,) m t c ch t ng N u giao d ch v%n c n ti p t c, nhi u nh#t ký th c p c c p phát cho n khi s nh#t ký th c p c c p phát t ng (ng t i a Nh p môn H qu n tr c s d li u DB2 LOGSECOND N u v%n ch a phát nh#t ký và giao d ch s, 123 , m t... nhanh này, chúng ta ch t o m t ng i dùng là “customer”, tuy nhiên, ng d ng c a b n c th ch a ng nhi u ki u ng i dùng kh c Th nghi m t o ra nh ng ng i dùng kh c và Nh p môn H qu n tr c s d li u DB2 gán cho nó nh ng c quy n B n c ng c th t o ra nh ng nhóm c a c c ng quy n cho c c nhóm ó, h n là làm v i m i ng i dùng riêng l 120 i dùng và phân Nh p môn H qu n tr c s d li u DB2 121 11 Ch ng 11 – Sao l... lên b ng CUSTOMERS và ch&n m c Privileges hi n th c a s h i tho i “Table Privileges” 7 Kích vào nút Add User và ch&n ng i dùng “customer” v*a m i t o ra óng h p tho i Add User vào nút OK b c 3 Kích 8 B n chú ý r ng ng i dùng “customer” ã c thêm vào danh sách ng i dùng, nh ng ch a c gán thêm c c quy n / c p quy n cho ng i dùng này, ch&n Yes trong h p tho i kéo xu ng c a t t c c c ph n SELECT, INSERT,... C c tham s c a nh t ký C nh ng tham s DB CFG liên quan danh sách c c tham s chính li u theo h ng d%n t&ng b c n vi c t o b n ghi nh#t ký B ng 11.1 li t kê Nh p môn H qu n tr c s d li u DB2 125 Tham s Mô t logbufsz L ng b nh c s d ng nh m t b nh#t ký tr c khi ghi chúng vào 'a logfilsz Kích th logprimary S b n nh#t ký chính v i kích th logsecond S t p nh#t ký ph c n thi t m cho c c b n ghi c c a m i nh#t... ký ã c u hình, c dung l c logfilsz s, ng 4KB ct o c t o và s d ng cho vi c khôi ph c n u logpath/newlogpath V trí c c nh#t ký ho t ng ho c l u tr t ng lai c t mirrologpath / b o v c c nh#t ký trên ng d%n chính kh"i s c h"ng 'a hay vô tình xóa, b n c th ch- nh m t thi t l#p +ng nh t cho c c nh#t ký c l u gi trên m t ng d%n ph ( nh c a ng d%n nh#t ký chính) loghead Tên t p nh#t ký ho t userexit Cho . phi c hai kch bn ti im này: C: express schema.ddl DDL cho c c bng, c c cách hin th, c c ch- m c và c c ràng bu c. C: express triggers.ddl DDL cho c c b%y s kin 10. Chu n b kch. mt c c quyn ngm nh c a nhóm, nhng v%n c n gi c c quyn  c gán tng minh. Nói mt c ch kh c c c quyn  c cp mt c ch tng minh phi  c hy b" mt c ch tng minh. Nhp môn. ngi dùng vào c c nhóm và gán c c quyn c n thit cho c c nhóm này. Khi mt nhóm  c gán quyn, c c thành viên c a nhóm s,  c gán c c quyn ngm nh  c k th*a vi t c ch thành viên

Ngày đăng: 10/08/2014, 21:22

w