You are on page 1of 139

VieBooks

Chng 1: Tnh u vit ca CSDL phn tn: I/Khi nim v CSDL phn tn: 1/nh ngha CSDL phn tn: nh ngha: Mt CSDL phn tn l mt tp hp d liu m v mt logic tp d liu ny thuc v mt h thng, nhng c tri trn cc v tr khc nhau ca mt mng my tnh. C hai im quan trng c nu ra trong nh ngha trn: -Phn tn: D liu khng c tr trn mt v tr, iu ny gip chng ta c th phn mt CSDL phn tn vi mt CSDL tp trung, n l. -Tng quan logic: D liu c mt s cc thuc tnh rng buc chng vi nhau, iu ny gip chng ta c th phn bit mt CSDL phn tn vi mt tp hp CSDL cc b hoc cc tp c tr ti cc v tr khc nhau trong mt mng my tnh. Th no l phn tn: X l logic hoc x l nguyn t c phn tn. Phn tn theo chc nng: Nhiu chc nng ca h thng my tnh c th c u thc cho cc phn cng hoc phn mm hoc c hai. Phn tn d liu. Phn tn iu khin. 2/Phn lp cc h thng tnh ton phn tn: Trnh mc ni: Khong cch ca cc yu t x l c kt ni. Cu trc ni kt vi nhau S c lp i vi nhau gia cc thnh phn 3/Kin trc c bn ca CSDL phn tn: y khng l kin trc tng minh cho tt c cc CSDL phn tn, tuy vy kin trc ny th hin t chc ca bt k mt CSDL phn tn no.

VieBooks
S t th ng S ph n on S v nh S nh x ph 1 a ng DBMS ca vtr1 CSDL ph ti vtr1 a ng S nh x ph 2 a ng DBMS ca vtr2 CSDL ph ti vtr2 a ng Cc v trkhc...

H 1.I.1 Ki trc cbn ca CSDL ph tn nh n n

-S tng th: nh ngha tt c cc d liu s c lu tr trong CSDL phn tn. Trong m hnh quan h, s tng th bao gm nh ngha ca tp cc quan h tng th. -S phn on: Mi quan h tng th c th chia thnh mt vi phn khng gi ln nhau c gi l on (fragments). C nhiu cc khc nhau thc hin vic phn chia ny. nh x(mt nhiu) gia s tng th v cc on c nh ngha trong s phn on. -S nh v: cc on l cc phn logic ca quan h tng th c nh v vt l trn mt hoc nhiu v tr trn mng. S nh v nh ngha on no nh v ti cc v tr no. Lu rng kiu nh x c nh ngha trong s nh v quyt nh CSDL phn tn l d tha hay khng. -S nh x a phng: nh x cc nh vt l v cc i tng c lu tr ti mt trm (tt c cc on ca mt quan h tng th trn cng mt v tr to ra mt nh vt l). II/Cc c im ca CSDL phn tn i ngc li CSDL tp trung: -iu khin tp trung: Trong CSDL phn tn khi nim ny khng c nhn mnh. Kh nng iu khin tp trung ph thuc vo kin trc ca CSDL phn tn. Trong CSDL phn tn c kh nng nhn bit cu trc iu khin phn cp da trn mt ngi qun tr CSDL ton cc (c trch nhim trn ton th CSDL phn tn), v cc ngi qun tr CSDL cc b (c trch nhim trn CSDL cc b ca 2

VieBooks

chng). iu ny nhn mnh rng cc ngi qun tr CSDL cc b c th c trnh t tr cao. Cc CSDL phn tn c th rt khc nhau v trnh t tr: t hon ton t tr khng c bt c mt h qun tr CSDL tp trung no n hu nh hon ton iu khin tp trung. -c lp d liu: T chc thc s ca d liu l trong sut i vi cc chng trnh ng dng. Cc chng trnh c vit c mt khung nhn nhn thc (conceptual) c gi l s nhn thc. Li ch ch yu l chng trnh khng b nh hng bi nhng thay i t chc vt l ca d liu. Trong CSDL phn tn, c lp d liu cng quan trng nh trong CSDL truyn thng. Tuy nhin, c mt khi nim mi ny sinh c tn l trong sut phn tn. Trong sut phn tn c ngha l mt chng trnh c vit (trn mt CSDL phn tn) nh CSDL khng c phn tn. Hay ni cch khc chng khng b nh hng bi s di chuyn d liu t mt v tr cc sang v tr khc, tuy nhin tc thc hin ca n b nh hng. c lp d liu c cung cp trong CSDL truyn thng c cung cp qua nhiu mc kin trc c s m t v d liu v nh x gia chng khc nhau; cc khi nim: s nhn thc, s lu tr, s ngoi (external schema). Mt cch tng t nh vy, Trong sut phn tn t c trong CSDL phn tn cc mc v cc s mi: -Trong sut phn on: Cc ng dng thc hin cc truy nhp vo CSDL nh n khng c phn tn. -Trong sut nh v: Cc ng dng phi xc nh truy nhp vo on no ca CSDL phn tn. C th truy nhp song song vo nhiu on cng mt lc tn dng kh nng song song ca CSDL phn tn. -Trong sut nh x a phng: Cc ng dng phi xc nh truy nhp vo on no ti v tr no ca CSDL phn tn. -Khng trong sut: Ngi lp trnh ng dng phi vit cc chng trnh c th chy c trn h thng h qun tr CSDL a phng (DBMSs) c ci t ti v tr ng dng cn c d liu (trn cc v tr khc nhau cc h iu hnh c th khc nhau, hoc DBMSs c th khc nhau: cc bn dch (release) khc nhau trong cng mt h thng, cc h thng khc nhau trong cng mt kiu- v d cc DBMSs khc nhau trong h Codasyl -, cc h h thng khc kiu- v d mt quan h v mt h thng Codasyl -.), cc chng trnh ny thc hin yu cu cc hm v ci t cc chng trnh ph tr ti cc v tr c yu cu. ng dng phi c vit vi mt yu 3

VieBooks

cu lm hot ng cc chng trnh ph tr xa ny thay th cc lnh SQL. -Gim d tha: Trong CSDL truyn thng d tha c gim ti mc c th v hai nguyn nhn sau: -S mu thun gia mt vi bn sao ca cng mt d liu c t ng trnh v thc t ch c mt bn. -Tit kim khng gian lu tr. Trong CSDL phn tn, c mt vi nguyn nhn lm cho vic quan tm n s d tha d liu nh mt c im ao c: -V tr ca cc ng dng c th c tng nu d liu c sao bn ti tt c cc v tr cn n n. -Tnh sn sng ca h thng c th tng v nu mt v tr li khng dng vic thc hin ca cc ng dng ti cc v tr khc nu d liu c sao bn. Do , vic gim d tha i hi mt s c lng nh gi kh phc tp. V vic sao bn l t l thun vi vic tng s lng thc hin cc truy nhp sa i d liu v khi thc hin mt truy nhp sa i trn mt d liu chng ta ng thi phi sa i d liu trn cc sao bn ca d liu . -Cu trc vt l phc tp v vic truy nhp hiu qu: Cc cu trc truy nhp phc tp, v d nh cc ch s (index) th hai, cc chui tp c quan h vi nhau (interfile chain) ..., l mt ch yu ca CSDL truyn thng. H tr cc cu trc ny l mt phn ht sc quan trng ca h qun tr CSDL. Nguyn nhn cho vic cung cp cc cu trc truy nhp phc tp l thu c hiu qu truy nhp vo d liu. Trong CSDL phn tn cc cu trc truy nhp phc tp khng l cng c ng cho hiu qu truy nhp. Hiu qu truy nhp CSDL phn tn khng th c cung cp bi cc cu trc phc tp cc v tr c quan h vi nhau. -Tnh ton vn d liu, khi phc li v iu khin tng tranh: Trong CSDL, vn ton vn, khi phc li, v iu khin tng tranh, mc d l cc vn khc nhau song chng c quan h qua li cht ch vi nhau. Gii php cho cc vn ny ch yu l vic cung cp cc giao tc (transaction). Khi nim giao tc v vn qun l giao tc s cp phn sau. -Bit lp (Privacy) v bo mt: Trong CSDL truyn thng, cc ngi qun tr CSDL c iu khin tp trung, c th m bo rng ch mt truy nhp c u quyn c thc hin. Lu rng, d sao, CSDL tp trunggn nh t chnh n khng vi mt th tc iu 4

VieBooks

khin c bit no, l nhiu nhc im ring bit hn v xm phm bo mt hn con ng c da trn cc tp ring l. Trong CSDL phn tn, cc ngi qun tr cc b thc cht ng u vi cc vn ging cc ngi qun tr CSDL trong CSDL truyn thng. D sao, hai kha cnh c bit ca CSDL phn tn ng c cp n: -Trong mt CSDL phn tn vi mt trnh t qun ca cc v tr rt cao, cc ngi ch d liu a phng cm gic c bo v hn v h c th t ch cc vic bo v thay v ph thuc vo ngi qun tr CSDL trung tm. -Cc vn bo mt l bn cht trong h phn tn ni chung, v cc mng truyn thng c th biu hin mt im yu vi s lu bo v. III/Tnh u vit ca CSDL phn tn: 1/Cc li ch ca CSDL phn tn: -Kh nng mau phc hi (Resilience): Vic truy nhp d liu khng ph thuc vo mt my hay mt ng ni trn mng. Nu c bt k mt li no th sau vi CSDL c th c truy nhp trn cc nt a phng, hn na mt li trn ng ni c th t ng chn ng li qua cc ng ni khc. -Gim dng d liu trn ng truyn_ci thin thi gian tr li: Cung cp tr li c bi d liu gn st ni cc ngi s dng thng xuyn d liu. -Khung nhn logic n cho cc cu hi: Trong sut nh v cho php d liu vt l c th c di chuyn m khng thay i ng dng hay thng bo cho ngi s dng. -T tr a phng: -Vic qun l: c qun l mt cch c lp. -Vic to lp: C cc nh ngha to lp v iu khin c tnh cc b. -iu khin truy nhp: C quyn nh ngha v iu khin c tnh cc b. -Gim cnh tranh (reduced politics): bng cch trao vng nghip v t ch cc b. -Cch thc m rng d dng: D dng pht trin m rng t c: -Nhiu b x c th c thm vo mng. 5

VieBooks

-Nhiu CSDL c th c thm vo trn mt nt mng. -Cp nht phn mm l c lp vi cu trc vt l. 2/Cc bt li ca CSDL phn tn: - S thiu kinh nghim. - Phc tp. - Gi c: Nng cp phn cng, phn mm. - S phn tn trong iu khin. - Bo mt: Kh khn hn CSDL tp trung. - Kh khn trong vic thay i: Hin nay cha c cc cng c hoc phng php no tr gip ngi s dng chuyn i d liu ca h t CSDL tp trung sang CSDL phn tn. Nghin cu CSDL khng thun nht v s thng nht CSDL c ch i gii quyt kh khn ny. 3/Cc nguyn nhn s dng CSDL phn tn: -Nguyn nhn v t chc v kinh t: Trn thc t nhiu t chc l khng tp trung v vy CSDL phn tn l con ng thch hp vi cu trc t nhin ca cc t chc . Vi s pht trin gn y trong cc k thut my tnh, cn cn kinh t thc y c h ln, cc trung tm my tnh tr ln ng nghi ngi. Nguyn nhn v t chc v kinh t l nguyn nhn ht sc quan trng cho vic pht trin CSDL phn tn. -S lin kt cc CSDL dang tn ti: CSDL phn tn l gii php t nhin khi c cc CSDL ang tn ti v s cn thit thc hin xy dng mt ng dng ton cc. Trong trng hp ny CSDL phn tn c to t di ln (bottom-up) t cc CSDL tn ti trc . Tin trnh ny c th i hi cu trc li cc b mt mc nht nh. D sao, nhng sa i ny l nh hn rt nhiu so vi vic to lp mt CSDL tp trung hon ton mi. -S pht trin m rng: Cc t chc c th m rng bng cch thm cc n v mi, va c tnh t tr va c quan h tng i vi cc t chc khc. Khi con ng CSDL phn tn h tr mt s m rng uyn chuyn vi mt mc nh hng ti thiu ti cc n v ang tn ti. Vi con ng CSDL tp trung, cng c th khi to kch thc ln cho vic m rng trong tng lai. iu rt kh tin nh v thc hin vi mt ph tn ln, hoc s m rng

VieBooks

ny c nh hng ln khng ch trn cc ng dng mi m cn trn cc ng dng ang tn ti. -Lm gim tng chi ph tm kim: Trn thc t nhiu ng dng cc b r rng gim tng chi ph truyn thngvi phng din mt CSDL tp trung. Bi vy s ti a cc v tr ca cc ng dng l mt trong cc mc ch chnh trong thit k CSDL phn tn. -S quan tm hiu sut (Performance considerations): S tn ti mt vi b vi x l t tr a n kt qu tng hiu sut thng qua mt mc song song cao. S quan tm ny c th ch c th c ng dng cho mt h thng a x l khng nht thit phi l mt h CSDL phn tn. D sao, CSDL phn tn c li trong s phn tn d liu phn nh cc tiu chun ph thuc ng dng ci s ti a v tr cc ng dng. Trong cch ny s gy tr ngi ln nhau gia cc b vi x l l ti thiu. Trng ti c chia s gia cc b vi x l, v cc tc nghn nguy kch, nh mng truyn thng t n hoc dch v chung cho ton b h thng l c trnh. Kt qu ny l mt h qu ca i hi kh nng x l t tr cho cc ng dng cc b c pht biu trong nh ngha CSDL phn tn. -Tnh tin cy v tnh sn sng: Con ng CSDL phn tn, c bit vi d liu d tha,n cng c s dng t c mt s tin cy v tnh sn sng cao hn. D sao, vic thu c mc ch ny khng phi khng rc ri v i hi s dng cc k thut vn cha c hiu bit hon chnh. Kh nng x l t tr ca cc v tr khc nhau t n khng m bo mt tnh tin cy ton b cao ca h thng, nhng n m bo mt thuc tnh graceful degration. Ni mt cch khc, s c trong CSDL phn tn c th thng xuyn hn mt CSDL tp trung v c s lng thnh phn ln hn, nhng hu qu ca s c c hn ch ti cc ng dng s dng d liu ca v tr c s c, v v hon ton ca h thng l him xy ra. Chng 2: Cc k thut s dng trong c s d liu phn tn: I/Thit k c s d liu phn tn: Thit k mt h thng my tnh phn tn l vic quyt nh sp t d liu v chng trnh ti cc trm lm vic ca mng my tnh. Trong trng hp thit k DBMSs c hai vn chnh l: - S phn b d liu ca DBMS. 7

VieBooks

- S phn b cc chng trnh ng dng chy trn n. 1/T chc ca h thng CSDL phn tn: Gi thit c mt mng my tnh c thit k. Ta ch quan tm n vic thit k d liu phn tn. T chc ca cc h thng phn tn c nghin cu theo 3 chiu trc giao sau: -Tng chia x. -m hnh truy nhp. -Mc hiu bit. Trong gii hn ca chiu chia x c ba kh nng sau cho d liu v chng trnh: -Khng chia x: Mi ng dng v d liu ca n thc hin ti mt v tr, khng c s lin lc vi mt chng trnh hoc truy nhp ti mt file d liu ti nhng v tr khc. -Chia x d liu: Cc chng trnh phn phi c ti tt c cc v tr, nhng file d liu th khng nh vy, n vn ch c thc hin ti mt v tr. -Chia x d liu v chng trnh: C d liu v chng trnh u c th c chia x, ngha l mt chng trnh t mt v tr c th yu cu mt dch v t chng trnh khc ti v tr khc, trong khi quay tr li c th phi truy nhp mt file d liu c xc nh ti v tr th ba.
K iu truy nhp ng Tng phn M c hiu bit T nh D liu

D liu + Ch ng tr nh

Chia x

y H 2.I.1 Tchc ca H CSDL ph tn nh n

M hnh truy nhp: Cc yu cu truy nhp d liu ca ngi s dng c th l tnh (khng thay i theo thi gian) hoc ng. R rng thit k v qun l cc mi trng tnh d hn 8

VieBooks

nhiu so vi vic thit k v qun l cc h thng phn tn ng. Dc theo chiu ny quan h gia thit k CSDL phn tn v x l cu hi c thit lp. Mc hiu bit: Mc hiu bit v c x m hnh truy nhp. C mt kh nng l thuyt l cc ngi thit k khng c bt k thng tin ngi user truy nhp vo CSDL nh th no. 2/Khung lm vic chung cho thit k h CSDL phn tn: T s kin trc ca H CSDL phn tn, ngi ta a ra s thit k chung cho H CSDL phn tn nh sau: Thit k lc quan nim: M t ton b d liu s c dng trong ng dng. Thit k CSDL vt l: L qu trnh thc hin nh x lc quan nim vo cc vng cha v xc nh cch thc truy nhp thch hp cho chng. Thit k phn on: Thc hin vic phn chia d liu thnh cc phn, km theo cch thc truy nhp thch hp. Thit k s phn phi cc phn: Cc on d liu c a vo cc v tr lu tr thch hp vi yu cu hot ng thc t ca h thng. V d: Ta khng th a d liu v CANBO cho phng qun l Sinh Vin v ngc li.
Thi kcc l c quan ni t m Thi kCSDL vt l t Thi kph t n on Thi ks ph phi cc thnh phn t n H 2.I.2 nh

i vi cc ng dng ca CSDL phn tn cn ch : -V tr m ng dng c a ra. 9

VieBooks

-iu khin s hot ho ca ng dng. Trong phng php chung th ng dng c th c a ra ti nhiu v tr, chng ta phi iu khin s hot ho ca ng dng ti mi v tr. -Thng k phn tn cc ng dng. 3/Cc chin lc thit k h CSDL phn tn: Theo khung lm vic chung cho thit k h CSDL phn tn, n nay c hai phng php chnh l: TOP-DOWN v BOTTOM-UP. a.Phng php TOP-DOWN: TOP-DOWN: L phng php thit k t trn xung v c chia ra lm nhiu giai on, mi giai on u c nhim v ring, giai on ny ni tip giai on kia, u ra ca giai on trc c lm u vo cho giai on k tip sau n. Qu trnh thit k h theo phng php TOPDOWN bao gm cc bc sau: Cc nh ngha: nh ngha mi trng h thng, d liu v cc tin trnh cho tt c nhng kh nng v d liu ca ngi s dng. Ti liu v nhng iu kin cn thit nm trong hai tham s: Thit k View v Thit k mc quan nim. Thit k View: Hot ng phn phi vi s nh ngha nhng ci chung cho ngi s dng. Thit k mc quan nim: L mt tin trnh kim tra v xc nh r hai nhm quan h Phn tch thc th v Phn tch chc nng: -Phn tch thc th: Lin quan ti s xc nh cc loi thc th, cc thuc tnh v cc mi quan h gia chng. -Phn tch chc nng: Xc nh cc chc nng c s. Lc tng th mc quan nim, mu truy nhp thng tin v External Schema Definition: Tp hp kt qu ca cc bc trn, xp xp cc thc th trn cc v tr ca h thng phn tn v chuyn ti bc tip theo.

10

VieBooks Cc yu c vph t u n ch Cc yu c hthng u Thi kmc quan ni t m L c t th ng mc quan ni m User Input Tp h p cc view Truy nhp thng tin Thi kph tn t n L c mc quan ni ph m a ng Thi kvt l t L c vt l
Feedback

Thi kview t Cc ngh nh a s ngoi


User input

Quan st v ki tra m

Feedback

Thit k phn tn: Thit k phn tn bao gm hai phn phn on v nh v CSDL. Lc mc quan nim: To ra cc lc CSDL mc quan nim. Thit k vt l: Thc hin nh x cc lc CSDL mc quan nim ra cc n v lu tr vt l c gi tr ti cc v tr tng ng. B kim tra: Kim tra cc giai on ca qu trnh thit k CSDL. Nu mt giai on b sai s tin hnh thit k li. Phng php TOP-DOWN l c hiu qu khi mt h thng CSDL c thit k t u. Tuy nhin trong thc t c mt s h CSDL tn ti th nhim v ca ngi thit k l lin kt chng li thnh mt th thng nht trong CSDL mi. b.Phng php BOTTOM-UP: 11

H 2.I.3 S thi kCSDL ph tn theo m h TOP-DOWN nh t n nh

VieBooks

BOTTOM-UP: L phng php c xem l ngc li vi phng php TOP_DOWN. Trong thit k CSDL phn tn BOTTOMUP s bt u thit k nhng lc mc quan nim sao cho chng c lp vi nhau. Sau chng c kt hp li trong mt s tng th ( Global Conceptual schema ). Phng php BOTTOM-UP l ph hp khi h thng CSDL c thit k t nhng thnh phn hn hp. 4/Phn on: Thit k phn on l vn u tin phi c gii quyt trong thit k CSDL phn tn. Mc ch ca thit k phn on l phn chia mt quan h tng th thnh cc phn khng bao trm ln nhau, mi phn c gi l mt on. a.Cc iu kin rng buc cho thit k phn on: Mt phng php thit k phn on ng n phi tho mn ba iu kin rng buc sau: -Tnh y : Ton b d liu thuc quan h tng th phi thuc cc on quan h v ngc li. -Tnh ri nhau: Cc on phi ti thiu ho vic bao trm ln nhau. -Xy dng li: CSDL ca quan h tng th c th c lm li t cc on cha n. b.Cc phng php phn on: C hai phng php chnh l: Phn on ngang v phn on dc. Phn on hn hp l phng php kt hp gia phn on ngang v phn on dc. -Phn on ngang: Phn on ngang c s: Phn on ngang c s tp chung cc hng ca bng. Quan h tng th s c chia thnh cc quan h con c cng tp thuc tnh nhng s lng cc hng l nh hn. Ch l mi hng ca quan h thuc mt v ch mt on. V d: Cho quan h J c cu trc nh sau: J: JNO J1 J2 JNAME Jonh Mary BUDGET 15 000 10 000 12 LOCATION New York Paris

VieBooks

J3 J4

Bill 12 000 Montreal Clark 17 000 Paris Thc hin phn on ngang c s thnh hai BUDGET 15 000 17 000 LOCATION New York Paris

quan h J1 v J2: J1: JNO JNAME J1 Jonh J4 Clark J2: JNO J2 J3

JNAME BUDGET LOCATION Mary 10 000 Paris Bill 12 000 Montreal Nh vy thc cht ca qu trnh phn on ngang l thc hin cu lnh SELECT vi cc iu kin c th. Trong v d trn cu lnh SELECT c thc hin l: J1 = SELECT "BUDGET" = "BUDGET > 15 000" J J2 = SELECT "BUDGET" = "BUDGET < 15 000" J Phn on ngang suy din: Bt ngun t kt qu ca qu trnh phn on ngang chnh, phn on ngang suy din c s dng kt ni cc on to ra CSDL thch hp cho cc ng dng. Qu trnh kt ni yu cu phi c thuc tnh kt ni. V d: Cho quan h DIENTHOAI c cu trc nh sau: DIENTHOAI: JNO DIENTHOAI J1 8.243.654 J2 9.564.734 J3 8.777.253 J4 8.372.564 Thc hin phn on ngang suy din gia cc quan h: J1, J2 v DIENTHOAI vi trng lin kt l JNO kt qu cho ta hai quan h J1_DIENTHOAI v J2_DIENTHOAI nh sau:

13

VieBooks

JNO

JNAME

J1 Jonh J4 Clark J2-DIENTHOAI: JNO JNAME BUDGE T J2 Mary 10 000 J3 Bill 12 000

J1-DIENTHOAI: BUDGE LOCATION T 15 000 New York 17 000 Paris LOCATION Paris Montreal

DIENTHOAI 8.243.654 9.564.734 DIENTHOAI 8.777.253 8.372.564

Nh vy thc cht ca qu trnh phn on ngang suy din l thc hin php na kt ni t kt qu ca qu trnh phn on ngang c s cng quan h m ta cn kt ni. Trong v d trn quan h SV1_DIEM v SV2_DIEM l kt qu ca hai php thc hin sau: J1_DIENTHOAI = DIENTHOAI SJ " JNO = JNO " J1 J2_DIENTHOAI = DIENTHOAI SJ " MASV = MASV " J2 -Phn on dc: Phn on tp chung cc thuc tnh, trong cc thuc tnh ca quan h chn ra thuc tnh kt ni. Kt qu thu c l mt tp cc quan h con, chng c th kt ni li to thnh quan h tng th. V d: Thc hin phn on dc vi thuc tnh lin kt l JNO t quan h J2-DIENTHOAI, ta thu c hai quan h QH1 v QH2 nh sau: QH1: JNO JNAME BUDGET J2 Mary 10 000 J3 Bill 12 000 QH2: JNO J2 J3 LOCATIO N Paris Montreal DIENTHOAI 8.777.253 8.372.564

Qu trnh phn on dc thc cht l thc hin php chiu (Project) cc thuc tnh ca quan h tng th thnh

14

VieBooks

cc quan h con. Trong v d trn c hai php chiu c thc hin l: QH1 = PJ " JNO, JNAME, BUDGET " J2-DIENTHOAI QH2 = PJ " JNO, LOCATION, DIENTHOAI " J2-DIENTHOAI -Phn on hn hp: Phn on hn hp l s kt hp gia phn on ngang v phn on dc. C hai phng php phn on hn hp l: 1. Thc hin phn on ngang trc sau phn on dc. 2. Thc hin phn on dc trc sau phn on ngang. Qu trnh c thc hin tun t, kt qu thu c t php phn on cui cng.

III/Qun l giao tc Khi nim giao tc c s dng trong lnh vc CSDL nh n v c bn ca tnh ton nht qun v ng tin cy (xc thc). (CSDL trong trng thi nht qun nu tun th theo cc rng buc k n chng 6). Trong qu trnh thc hin giao tc CSDL c th tm thi khng nht qun nhng CSDL phi nht qun khi giao tc kt thc. Tnh tin cy da vo c hai kh nng sau: Kh nng phc hi nhanh ca h thng khi nhiu kiu li xy ra. (Khi cc li xy ra h thng c th chu ng c v c th tip tc cung cp cc dch v.) Khi phc: t c trng thi nht qun. Tr v trng thi nht qun trc hoc tip ti trng thi nht qun mi sau khi xy ra li.). Nht qun giao tc lin quan ti s thc hin cc truy nhp trng nhau. Vic qun l giao tc tip xc vi cc vn lun gi CSDL trong trng thi nht qun khi xy ra cc truy nhp trng nhau v cc li. 1/nh ngha: Giao tc l mt dy cc hnh ng c thc hin bi mt chng trnh ng dng hay bi mt ngi s dng, m hoc phi c thc hin hon ton hoc l khng c thc hin mt hnh ng no. a.Cc iu kin kt thc ca giao tc:

15

VieBooks

Mt cc giao tc lun lun kt thc. Nu giao tc c th hon thnh ton b cng vic ca n thnh cng chng ta ni giao tc chuyn giao (Commit), ngc li nu mt giao tc dng li khng vi s hon thnh cc cng vic ca n chng ta ni giao tc b loi b (Abort). Mt giao tc b loi b s nguyn nhn: -Mt giao tc b loi b bi chnh n v mt iu kin khng tho mn cm khng cho giao tc hon thnh cc cng vic ca n. -DBMS loi b giao tc, v d kho cht hoc cc iu kin khc. Khi mt giao tc b loi b cc vic thc hin ca n b dng li v ton b vic thc hin c loi b a CSDL v trng thi trc khi thc hin giao tc. iu ny cng c hiu nh rollback. b.Cc c im ca giao tc: ReadSet (RS): tp hp cc mc d liu mt giao tc c. WriteSet (WS): tp hp cc mc d liu mt giao tc ghi. BaseSet ( BS) = RS U WS. RS v WS khng nht thit phi loi tr ln nhau. RS, WR s dng nh c s m t c im ca mt giao tc. 2/Cc thuc tnh ca giao tc : a.Tnh nguyn t: hoc l tt c cc hnh ng, hoc l khng mt hnh ng no ca giao tc c thc hin. Tnh nguyn t qui nh rng mt giao tc b ngt bi mt s c no th nhng kt qu ca cc lnh thc thi giao tc v ang c thc hin phi b loi b. C hai l do chnh khin mt giao tc khng c thc hin hon ton l giao tc b loi b v h thng c s c. Mt giao tc b loi b nguyn nhn c th l do yu cu t chnh bn thn giao tc , c th do ngi s dng (do mt s thng tin u vo b sai, mt s iu kin khng c tho mn.) v c th do yu cu ca h thng (do qu ti, tc nghn). b.Nht qun: Bn mc nht qun: Mc 3: Giao tc T nhn mc nht qun 3 nu: T khng ghi d liu nhp ca giao tc khc 16

VieBooks

T khng chuyn giao bt c mt vic ghi no n khi n hon thnh hon ton vic ghi ca n (n khi kt thc giao tc EOT). T khng c d liu nhp t cc giao tc khc. Cc giao tc khc khng nhp vo bt c d liu no c bi T trc khi T hon thnh. Mc 2: T khng ghi ln d liu nhp ca giao tc khc. T khng chuyn giao bt k vic ghi no trc EOT. T khng c d liu nhp t giao tc khc. Mc 1: T khng ghi ln d liu nhp ca giao tc khc. T khng chuyn giao bt k vic ghi no trc EOT. Mc 0: T khng ghi ln d liu nhp ca giao tc khc. c.Tnh trnh t: Nu nhiu giao tc c thc hin ng thi th kt qu ca mi giao tc phi nh th l cc giao tc c thc hin mt cc tun t (nh th l mt giao tc c thc hin mt cch lin tc). Cc hnh ng m bo tnh trnh t ca cc giao tc c gi l iu khin tng tranh. d.Tnh bit lp: Mt giao tc khi ang c thc hin(cha c chuyn giao) th cc giao tc khc khng th s dng cc kt qu trung gian ca cc giao tc ny. Tnh cht ny l cn thit trnh vn mt kt qu cp nht v vn loi b dy chuyn cc giao tc. V d v vn mt kt qu cp nht: Gi s c hai giao tc nh sau: T1: Read(x) T2: Read(x) x x+1 x x+1 Write(x) Write(x) Commit Commit Dy thc hin cc thao tc ny c th nh sau: T1: Read(x) T1: x x+1 T1: Write(x) T1: Commit T2: Read(x) T2: x x+1 T2: Write(x) 17

VieBooks

T2: Commit Vi gi tr ca x ban u l 20 T2 c gi tr 21 v kt qu cui cng (nu c hai gia tc chuyn giao thnh cng) l 22. Hoc: T1: Read(x) T1: x x+1 T2: Read(x) T1: Write(x) T2: x x+1 T2: Write(x) T1: Commit T2: Commit Cng vi gi tr x ban u l 20 T2 c gi tr khng chnh xc l 20 v kt qu cui cng (nu c hai giao tc chuyn giao thnh cng) l 21 (iu ny ng ngha vi vic kt qu cp nht ca T1 b mt.). Tnh c lp tu theo mc nht qun: Mc 0: Giao tc chuyn giao trc khi tt c cc vic ghi chuyn giao do nu xy ra li th i hi phi cp nht li. Mc 2: Trnh loi b dy truyn. Mc 3: Cung cp y tnh bit lp cho php cc giao tc xung t i n khi mt giao tc trong s chng kt thc. e.Tnh bn vng: Mi khi giao tc c chuyn giao (c thc hin hon ton) th h thng phi m bo chc chn kt qu s khng b nh hng bi cc li n sau. 3/Cc loi giao tc: Theo mt s chun -Vng ng dng: Giao tc thng thng (regular): cp nht d liu trn mt v tr. Giao tc phn tn: thao tc trn d liu phn tn. Giao tc compensating: Giao tc khng thun nht: trong mi trng khng thun nht. -Khong thi gian lm vic: Giao tc trc tuyn (on-line): thi gian tr li l rt ngn. 18

VieBooks

Giao tc gi (batch): thi gian tr li di (hng pht, hng ngy). Giao tc m thoi: c thc hin bng vic tc ng qua li vi ngi s dng. -Cu trc: Giao tc n gin: c mt im bt u, mt thn giao tc, mt im kt thc (chuyn giao hoc hu b). Giao tc lng nhau: 4/Kin trc: B qun l giao tc (TM): Thc hin cc thao tc CSDL thay mt cho ng dng. B lp lch (Scheduler_SC): L trch nhim cho vic thc hin mt thut ton iu khin tng tranh cho ng b cc truy nhp vo CSDL. Tham d vic qun l giao tc l h qun l phc hi giao tc a phng trn mi v tr. 5 lnh ca mt giao tc: Begin_Transaction, Read, Write, Commit, Abort.

19

VieBooks Begin_transaction, Read, Write, Commit, Abort

Cc k qu t B gim st thc hi ph tn n n

B qun l giao tc (TM) Cc yu c u lp l ch/hu l ch Cc TM khc B lp l (SC) ch T i cc b x l dli u

Cc SC khc Cc b x l d li khc u

M h chi ti b gim st thc hi ph tn nh t n n

IV/iu khin tng tranh phn tn: iu khin tng tranh giao thip vi tnh c lp v nht qun ca giao tc. iu khin tng tranh m bo tnh nht qun. Cc thut ton iu khin tng tranh chia lm hai loi: Pessimistic v Optimistic. 1/Nguyn tc phn loi cc c ch iu khin tng tranh: Optimistic: S giao tc xung t khng nhiu lm. Tr vic ng b cc giao tc n khi kt thc chng. Pessimistic: S c nhiu giao tc xung t. ng b vic thc hin cc giao tc tng tranh sm trong chu k sng vic thc hin chng. Da vo kho (Lock based): Vic ng b cc giao tc t c bng cch kho logic hay vt l trn phn hoc ht nh ca CSDL. Kch thc ca cc phn ny l mt vn quan trng. Tuy nhin, trong cc bn lun tip sau chng ta s b qua iu ny v coi ht chn l mt n v kho (lock unit). Lp ny chia nh theo vic qun l kho: Kho tp trung: Mt v tr trn mng c thit k nh v tr chnh ni cc bng kho cho ton b CSDL c ct gi v gnh vc nhim v phn phi cc kho cho cc giao tc. 20

VieBooks

Kho bn sao chnh: Mt bn sao trong cc bn sao (nu c nhiu bn sao) ca mi n v kho s c thit k nh bn sao chnh, v n gi kho cho cc nh truy nhp vo phn ny (mun truy nhp vo bt k bn sao nao ca n v kho ny phi ginh c kho ca bn sao chnh). Nu CSDL l khng sao bn (ch c duy nht mt bn cho mi n v kho), cc c ch kho bn sao chnh phn tn trch nhim qun l kho gia mt s v tr. Kho khng tp trung: Nhim v kho c chia s cho ton b cc v tr ca mt mng. Trong trng hp ny, vic thc hin mt giao tc bao gm vic tham d v cng phi hp ca cc b lp lch ti nhiu hn mt v tr. Mi mt b lp lch a phng c trch nhim cho cc n v kho cc b ti v tr . (Mt truy nhp vo CSDL phi dnh c kho trn ton b cc v tr trong trng hp sao bn.). Th t nhn thi gian (TO): Bao gm vic t chc th t thc hin cc giao tc m bo tnh nht qun tc ng qua li ln nhau. Th t ny c duy tr bi vic phn chia cc nhn thi gian cho c cc giao tc v cc mc d liu c lu tr trong CSDL. Cc thut ton ny c th l: Basic TO, multiversion TO, conservative TO.
Cc thut ton u i khi t tranh n ng Pessimistic Kho Tp trung B sao ch n nh (Primary Copy) Ph tn n Th t nh n thi gian Cbn Multiversion Bo th Conservative Lai (Hybrid) Optimistic Kho Th t nh n thi gian

H 2.III.2 S ph l p cc u thut tonkhi t tranh nh n i n ng

2/Kho hai pha (Two-phase locking): Pha m rng: Giai on giao tc dnh kho v truy nhp cc mc d liu. 21

VieBooks

Pha thu hp: Giai on gii phng kho. Lut: Mt giao tc khng i mt kho khi gii phng mt kho. Mt giao tc khng gii phng mt kho khi n cha chn l khng i kho no na.

S kho
100 80 60 40 20

Ginh kho Gi phng kho i


East West North 1st Qtr

Begin

Lock point
2nd Qtr 3rd Qtr

4th Qtr

End

Khong thi gian

thkho hai pha

Kh khn: Xc nh thi im gia hai pha. C th dn n loi b dy truyn khi mt giao tc phi loi b v s dng d liu kho sau khi giao tc ny gii phng v b loi b. Kho hai pha nghim ngt: Ch gii phng kho khi giao tc kt thc.

22

VieBooks

S kho
100 80 60 40 20 Eas t

Ginh kho Gii phng kho

We s t No r th 1s t Qtr

Begin 0

Gian on End 2nd s dng 3r d 4th Qtr Qtr Qtr mc dli u

K hong thi gian giao tc tn ti

thkho hai pha nghim ng t

a.Kho hai pha tp trung: Mt v tr c trch nhim qun l kho u quyn. Cch tip cn ny cng c th hiu nh thut ton Primary 2PL. Ch mt v tr c h qun l kho, cc h qun l giao tc ti cc v tr khc giao tip vi n. S giao tip gia cc v tr ng thao tc trong vic thc hin mt giao tc theo mt thut ton C2PL (Centralized 2PL) nh hnh v di y. S giao tip gia cc h qun l giao tc ti v tr giao tc c khi to (gi l ng phi hp qun l giao tc.), qun l kho ti v tr trung tm v cc b x l d liu (data processor) ti cc v tr cng tham gia khc. im khc bit quan trng gia thut ton C2PL-TM v thut ton 2PL-TM (hnh 11.3) thut ton thc hin mt giao thc iu khin bn sao nu CSDL c sao bn. C2PL-LM cng khc S2PL. H qun l kho tp trung khng gi cc thao tc ti cc b x l d liu ring, cch c thc hin bi b qun l giao tc ng phi hp. Mt nhc im chung ca thut ton C2PL l mt tc nghn c th to thnh rt nhanh xung quanh v tr trung tm. Hn na, h thng c th gim tin cy t li hoc khng truy nhp c vo v tr trung tm c th l nguyn nhn gy mt li h thng ln. b.Kho hai pha bn sao chnh (Primary copy 2PL): Pht trin trc tip t C2PL trong mt c gng chng li cc vn bn lun trn. V c bn, cc b qun l kho mt s v tr v mi b qun l kho c trch nhim qun l 23

VieBooks

cc kho nm gi tp cc n v kho. Cc b qun l giao tc gi cc yu cu kho v khng kho ca n ti cc b qun l kho, cc b qun l kho c trch nhim ch ra n v kho. Thut ton ny i x mt bn sao ca mi danh mc d liu nh l bn sao chnh ca n. Chng ta khng a ra chia tit thut ton ny t s sa i thut ton C2PL. C bn ch c mt thay i l vic nh v bn sao chnh c ch ra cho tng danh mc trc khi gi yu cu kho hay khng kho cho b qun l kho ti v tr ny. y l mt thit k qun l t in c a ra tho lun trong chng 4. c.Kho hai pha phn tn (Distributed 2PL): D2PL ch i tnh sn sng ca cc b qun l kho ti tng v tr trong CSDL khng sao bn, D2PL suy thoi thnh thut ton Primary copy 2PL. Nu CSDL c sao bn, giao tc thc hin giao thc iu khin sao bn ROWA. S lin kt gia cc v tr ng thao tc thc hin cc giao tc giao tc theo giao thc D2PL c m t hnh 11.10 (khng trnh by ng dng lut ROWA). Thut ton qun l giao tc D2PL l tng t vi thut ton C2PL-TM vi hai sa i chnh: Thng bo gi ti b qun l kho v tr trung tm trong C2PL-TM c gi ti b qun l kho trn ton b v tr tham gia. Trong D2PL-TM cc thao tc khng qua b x l d liu bi b qun l giao tc ng phi hp nhng bi cc b qun l kho tham gia. iu ny ngha l b qun l giao tc ng phi hp khng i mt thng bo yu cu cp kho (lock request granted). Mt im khc l b x l d liu tham gia gi thng bo kt thc thao tc (end of operation) ti b ng phi hp qun l giao tc. Cch chn la l mi mt b x l d liu gi ti b qun l kho n s hu, b qun l kho c th gii phng cc kho v thng bo cho b ng qun l giao tc. Do cc s tng t, chng ta khng a ra cc thut ton Distributed TM v Distributed LM y. 4/Cc thut ton iu khin tng tranh da trn nhn thi gian (Timestamp-Based): Khng ging nh cc thut ton da trn kho, cc thut ton da vo nhn thi gian khng c gng m bo tnh tun t bi s loi tr ln nhau. Thay th, chng ta chn mt th t tun t u tin v thc hin cc giao tc theo th t . kin to th t ny, 24

VieBooks

b qun l giao tc chia tng giao tc Ti mt nhn thi gian duy nht ts(Ti) ti thi im khi to giao tc . Mt nhn thi gian l mt nh danh n gin ci my ch nhn ra tng giao tc duy nht v cho php vic sp th t. C hai thuc tnh duy nht v n iu. Hai nhn thi gian c sinh bi cng mt cng mt b qun l giao tc phi n iu tng. C mt s cch nh nhn thi gian: Dng b m ton cc n iu tng: Trong h phn tn y l mt vn khng d gii quyt. Ti mi v tr c mt b m (t qun vic nh nhn thi gian). Nhn thi gian l mt b i gi tr <gi tr m cc b, nh danh v tr>. Ch rng nh danh v tr c km theo ti thiu v tr c ngha. Sau y ch k n vic nh th t cho cc nhn thi gian ca hai giao tc khc nhau, nhn ging nh gi tr cc b. Nu mi h thng c th truy nhp vo h thng kho s hu bi n, c th s dng cc gi tr kho h thng thay th cho cc gi tr m. Bnh thng, th t nhn thi gian (TO) c cc lut sau: Hai thao tc xung t Oij v Okl thuc v thao tc Ti v Tk ; Oij c thc hin trc Okl khi v ch khi ts(Ti) < ts(Tk). Trong trng hp ny Ti c ni l giao tc c hn v Tk l giao tc mi hn. Mt b lp lch lm hiu lc cc lut TO kim tra tng thao tc mi da trn cc thao tc xung t, cc thao tc c lp lch. Nu thao tc mi thuc v mt giao tc tr hn ton b cc giao tc xung t c lp lch, thao tc ny c chbp nhn; ngc li n b loi b, nguyn nhn ton b giao tc khi ng li vi mt nhn thi gian mi. Mt b lp lch th t nhn thi gian iu khin trong cch ny c m bo sinh ra mt lch tun t. Tuy nhin, s so snh gia cc nhn thi gian giao tc c th c thc hin ch nu lch nhn c ton b cc thao tc c lp lch. Nu cc thao tc a ti b lp lch ti mt thi im (trng hp thc t), n l cn thit c th tm ra nu mt thao tc xy ra ngoi s ni tip. D d dng vic kim tra ny, tng mc d liu x c nh hai nhn thi gian: nhn thi gian c [rts(x)], nhn rng nht ca cc nhn thi gian ca cc giao tc c x, v nhn thi gian ghi [wts(x)], nhn rng nht ca cc nhn thi gian ca cc giao tc ghi x. By gi n kh nng so snh nhn thi gian ca mt thao tc vi cc nhn thi gian ca mc d liu ci n truy nhp ch ra nu bt k 25

VieBooks

giao tc vi mt nhn rng nht sn sng truy nhp vo cng mt mc d liu. a.Thut ton TO c bn: Thut ton TO c bn l vic thc hin trc tip cc lut TO. B qun l giao tc ng phi hp nh nhn tng giao tc, xc nh cc v tr tng mc d liu c ct gi, v gi cc thao tc thch hp ti cc v tr ny. Cc b lp lch ti tng v tr n gin lm hiu lc cc lut TO. Nh ch ra, mt giao tc cha cc thao tc b loi b bi mt b lp lch c khi ng li bi b qun l giao tc vi mt nhn thi gian mi. iu ny m bo rng giao tc c mt c hi thc hin trong c gng tip theo ca n. T vic cc giao tc khng khi no i khi chng gi quyn truy nhp vo cc mc d liu, thut ton TO c bn khng bao gi dn n cc kho cht. Tuy vy, hu qu ca vic trnh khi kho cht l kh nng phi khi ng li mt giao tc nhiu ln. Vic gim s ln khi ng ny chng ta s lu tm on sau. Mt chi tit khc cn c lu tm lin quan n vic lin kt gia b lp lch v b x l d liu. Khi mt thao tc c chp nhn c i tip ti b x l d liu, b lp lch cn gi li vic gi mt thao tc khng ph hp khc, nhng thao tc c th c chp nhn i vi b x l d liu n khi thao tc u tin c x l v c bo nhn. C mt yu cu m bo b x l d liu thc hin cc thao tc trong mt th t ging th t b lp lch thng qua chng. Ngc li, cc gi tr nhn thi gian c v ghi cho truy nhp mc d liu c th khng c chnh xc. VD 11.8 (page 303) B lp lch c th hiu lc th t bng cch duy tr mt hng i cho tng mc d liu, hng i ny c s dng tr s truyn ca cc thao tc c chp nhn n khi mt bo nhn c nhn t b x l d liu v thao tc trc trn cng mt mc d liu. Chi tit ny khng th hin trong thut ton BTO-SC. Nh mt s phc tp khng xut hin trong thut ton 2PL c bn bi v b qun l kha sp xp c hiu qu cc thao tc bng vic gii phng kha ch sau khi thao tc c thc hin. Trong cm gic hng i c b lp lch TO duy tr c th ngh n nh mt kha. Tuy vy, iu ny khng bao hm rng lch c 26

VieBooks

sinh bi mt b lp lch TO v mt b lp lch 2PL c th lun lun ngang bng. C mt s lch c mt b lp lch TO sinh ra c th khng c chp nhn bi mt lch 2PL. Nh rng trong trng hp cc thut ton 2PL nghim ngt, vic gii phng cc kha c tr lu hn n khi giao tc commit hoc abort. b.Thut ton TO bo th (Conservative): Chng ta ch ra trong on trc thut ton TO c bn khng bao gi dn n cc thao tc i, nhng thay vo , khi ng li chng. Chng ta cng ch ra rng thut ton TO c bn c u im l khng gy ra kha cht, tuy nhin gp mt vn l khi ng li mt giao tc nhiu ln. Thut ton Conservative TO c gng gim s ln khi ng li. u tin chng ta gii thiu mt k thut chung c s dng gim kh nng khi ng li. Nh rng, mt b lp lch TO khi ng li mt giao tc nu mt giao tc xung t tr hn c lp lch hoc va c thc hin. 5/Cc thut ton iu khin tng tranh Optimistic: Cc thut ton iu khin tng tranh bn lun trn l cc thut ton Pessimistic. Cc thut ton ny khng cho php mt giao tc truy nhp vo mt mc d liu nu mt giao tc xung t ang truy nhp vo mc d liu . Trong cc thut ton Optimistic, chng ta chia mt thao tc bt k ca mt giao tc thnh cc pha tun t sau: pha hiu lc (V: Validation), pha c (R: Read), pha tnh ton (C: Computation), pha ghi (W: Write). Cc thut ton Optimistic tr pha hiu lc n trc pha vit (Hnh v). Theo cch mt thao tc trnh ti mt b lp lch Optimistic khng bao gi b tr. Cc thao tc c, tnh ton, ghi khng b b buc trong hnh ng cp nht CSDL. Pha hiu lc bao gm vic kim tra xem cc cp nht ny m bo tnh nht qun ca CSDL. Nu tr li c la chn th thay i c thc hin trn ton cc. Ngc li, giao tc b hy b v khi ng li.
Hi lc c T ton Ghi u nh Cc pha ca vi thc hi giao tc Pessimistic c n

27

VieBooks

c T ton Hi lc nh u

Ghi

Cc pha ca vi thc hi giao tc Optimistic c n

C th thit k cc thut ton iu khin tng tranh Optimistic da trn kha. Chng ta ch m t cch tip cn Optimistic s dng nhn thi gian. Chng ta ch bn lun mt cch vn tt v nhn mnh cc khi nim hn l thc hin chi tit v hai l do sau: Hu ht cc cng vic hin nay trn phng php Optimistic tp trung ch yu trn CSDL tp trung hn l trn CSDL phn tn. Cc thut ton Optimistic khng c thc hin trn bt k mt mi trng thng mi hoc giao thc DBMS no. Khc vi cc thut ton Pessimistic da trn nhn thi gian khng ch bi c ti u m cn trong vic nh cc nhn thi gian. Nhn thi gian ch c lin kt vi giao tc, khng lin kt vi cc mc d liu (khng c nhn thi gian c v ghi). Hn na cc nhn thi gian khng c gn cho cc giao tc vo thi im khi to chng m vo thi im bt u bc hiu lc ca chng. Bi v cc nhn thi gian ch cn n trong pha hiu lc, v nh chng ta s thy, vic nh nhn thi gian sm c th dn n s loi b giao tc khng cn thit. Mi giao tc Ti c chia nh bi b qun l giao tc ti v tr bt u thnh mt s cc giao tc con, mi giao tc con c th c thc hin trn nhiu v tr. Qui c Tij l mt giao tc con ca Ti thc hin trn v tr j. Ti thi im mt nhn thi gian c gn cho giao tc, nhn thi gian s c sao cho cho ton b cc giao tc con ca n. Vic hiu lc cc b ca giao tc Tij c thc hin theo cc lut sau, ci loi tr ln nhau. Lut 1: Nu ton b cc giao tc Tk m ts(Tk) < ts(Tij) hon thnh pha ghi ca chng trc khi Tij bt u pha c (hnh v), vic hiu lc thnh cng, bi v cc vic thc hin giao tc trong mt th t tun t. Lut 2: Nu c mt giao tc Tk m ts(Tk) < ts(Tij) hon thnh pha ghi ca n khi Tij ang trong pha c, hiu lc hon thnh nu WS(Tk) RS(Tij) = 0.

28

VieBooks

Lut 3: Nu c mt giao tc Tk m ts(Tk) < ts(Tij) hon thnh pha c ca n trc khi Tij hon thnh pha c, hiu lc thnh cng nu WS(Tk) WS(Tij) = 0. Mt giao tc c hiu lc cc b a phng m bo tnh nht qun CSDL a phng, giao tc cng cn c hiu lc ton cc m bo rng lut nht qun chung c tun theo.
Tk R V W Tij (a) Tk R V Tij (b) Cch thc thc hi c th n W R V W Tk R Tij V R W V (c) W R V W

6/Qun l kha cht: Mt cng c hiu qu phn tch cc kha cht l th ch i (WFG: Wait-For-Graph, ch ra quan h ch i gia cc thao tc). Khi WFG cha mt chu trnh kn th c kha cht c ba phng php c bit qun l kha cht. a.Phng nga kha cht: Phng php phng nga khng cho php cc kha cht xy ra trong im (place) u tin. B qun l giao tc kim tra mt giao tc khi n c khi to ln u v khng cho php n tip tc nu n c th dn n kha cht. thc hin vic kim tra ny, n c yu cu tt c mc d liu s c truy nhp bi mt giao tc c khai bo trc. B qun l giao tc cho php mt giao tc tip tc nu ton b mc d liu cn truy nhp sn sng. Ngc li, giao tc khng c php tip tc. B qun l giao tc dnh ring ton b mc d liu c khai bo trc bi mt giao tc cho php tin hnh. Khng may, cc h thng nh vy khng ph hp cho cc mi trng CSDL. Vn c bn l thng rt kh bit chnh xc cc mc d liu no c truy nhp bi mt giao tc. Truy nhp vo cc mc d liu nht nh c th ph thuc vo cc iu kin 29

VieBooks

m cc iu kin ny c th khng c gii quyt n thi gian chy. c an ton, h thng cn cn quan tm s ti a tp cc mc d liu. Ni cch khc, cc h thng nh vy yu cu h tr khng trong thi gian chy, ci gim tng chi ph. N cn km thm mt u im l khng cn thit loi b v khi ng li khi kha cht. b.Trnh kha cht: Dng cc k thut iu khin tng tranh khng bao gi dn n kha cht hoc yu cu cc b lp lch pht hin v tr c kh nng li trc v m bo kha cht s khng xy ra. Chng ta s lu tm c hai trng hp ny. Cch n gin nht trnh kha cht l phn cp cc ti nguyn v nhn mnh rng mi tin trnh yu cu truy nhp vo cc ti nguyn ny trong th t ny. Gii php ny, c xut mt thi gian di cho cc h iu hnh. Cc th t ny c th l ton cc hoc cc b. Trong trng hp l cc b cn thit sp xp cc v tr v yu cu cc giao tc truy nhp vo cc mc d liu ti nhiu v tr yu cu cc kha ca chng bng vic duyt cc v tr theo th t nh ngha trc. Mt cch chn la khc, l s s dng nhn thi gian ca cc giao tc nh mc u tin cc giao tc v gii quyt cc kha cht bi vic loi b cc giao tc vi mc u tin cao hn (hoc thp hn). Theo lut sau: if ts(Ti) < ts(Tj) thenTi waits else Ti dies if ts(Ti) > ts(Tj) then Tj is wounded else Ti waits c.Pht hin v gii quyt kha cht: Pht hin c thc hin bi vic nghin cu GWVFG (Global Wait-For-Graph) cho thng tin cc chu trnh kn. Gii quyt bng cch chn ra mt hoc nhiu giao tc loi b ph v chu trnh kn trong GWFG. Vn chn tp cc giao tc c tng gi nh nht cho vic ph v chu trnh kn (NP complete). Cc nhn t cho vic la chn: Tng s s c gng (kt qu) c u t trong giao tc. S c gng ny s b mt nu giao tc b hy b. Gi ca vic hy b giao tc. Gi ny n chung ph thuc vo s ln truy nhp m giao tc thc hin. Tng s ln c gng n s lm hon thnh vic thc hin giao tc. B lp lch cn trnh loi b mt giao tc gn nh

30

VieBooks

c hon thnh. lm vic ny, b lp lch phi c th d on cch chy ca cc giao tc hiu lc. S chu trnh kn cha giao tc. T loi b mt giao tc ph v ton b chu trnh kn cha n, giao tc tt nht cho vic loi b l giao tc l thnh phn ca nhiu chu trnh kn. c1.Pht hin kha cht tp trung: Trong cch pht hin kha cht tp trung, mt v tr c thit k nh mt b pht hin kha cht cho ton h thng. Trc tin, mi b qun l kha chuyn LWFG (Local Wait-ForGraph) ca n cho b pht hin kha cht, b pht hin kha cht to nn GWFG v cc kha cho chu trnh kn trong n. S tht b qun l kha ch cn gi cc thay i trong th ca n (cc cung va mi to hoc xa) cho b pht hin kha cht. di ca cc khong cho vic truyn cc thng tin ny l mt quyt nh ca thit k h thng. n gin v c th c chn mt thut toniu khin tng tranh rt t nhin l C2PL. c2.Pht hin kha cht phn cp: Mt s la chn cho vic pht hin kha cht tp trung l xy dng mt phn cp cc b pht hin kha cht. Cc kha cht l v tr n l cc b c th c pht hin ti v tr ny s dng LWFG. Mi v tr cng gi LWGF ti b pht hin kha cht ti mc k tip. Nh vy, cc kha cht phn tn bao gm hai hoc nhiu v tr c th c pht hin bi mt b pht hin kha cht trong mc thp nht tip theo. Phng php pht hin kha cht phn cp gim s ph thuc vo v tr trung tm, V vy gim gi thnh truyn thng. Nhc im l phc tp. c3.Pht hin kha cht phn tn: Cc thut ton pht hin kha cht phn tn giao ph trch nhim pht hin kha cht n tng v tr. Nh vy, nh trong pht hin kha cht phn cp c cc b pht hin kha cht cc b ti mi v tr, b kha cht cc b s truyn LWFG ca n ti mt v tr khc (trn thc t ch cc chu trnh kn c kh nng kha cht c truyn). LWFG ti tng v tr c to v sa i nh sau: T mi v tr nhn cc chu trnh c kh nng kho cht t cc v tr khc, cc cung ny c cng vo LWFG.

31

VieBooks

Cc cung trong LWFG ci th hin cc giao tc cc b ang i cc giao tc ti v tr khc c kt ni vi cc cung trong cc LWFG ci thb hin cc giao tc xa ang i mt giao tc a phng. Cc b pht hin kho cht a phng tm kim hai iu. Nu c mt chu trnh kn khng km theo cc cung ngoi, c mt kho cht a phng c th c kim sot cc b. Nu mt chu trnh kn bao gm cc cung ngoi, c kho cht phn tn tim n v thng tin chu trnh kn ny c kt ni ti cc b pht hin kho cht khc. Mt cu hi cn tr li b pht hin no c truyn thng tin. R rng n c th truyn ti tt c cc b pht hin kho cht trong h thng. Lm th no nhn bit u l u u l cui ca mt chu trnh kn kho cht, thng tin c th c truyn v pha trc hoc pha sau dc theo cc v tr trong chu trnh kn kho cht. Vic nhn v tr sa i ca LWFG ca n nh tho lun trn v kim tra cc kho cht. Cc thut ton pht hin kho cht phn tn i hi ng b s sa i cc b qun l kho ti m v tr. S ng b ny lm chng d dng thc hin. Tuy vy, c cc s truyn cc thng bo tha. Xy ra cho v d trn. V tr 1 gi thng tin kh nng kho cht cho v tr 2, v v tr 2 gi thng tin kho cht cho v tr 1. Trong trng hp ny b pht hin kho cht ti c hai v tr s pht hin kho cht. Bn cnh vic dn n vic truyn thng bo khng cn thit, cng thm kh nng mi v tr c th chn mt giao tc loi b khc nhau. Thut ton xut trong [Obermarck, 1982] gii quyt vn bng vic s dng nhn thi gian giao tc theo lut sau. Cho bit ng dn c kh nng dn n mt kho cht phn tn trong LWFG ca mt v tr l Ti ... Tj. Mt b pht hin kho cht cc b gi thng tin chu trnh kn ch nu ts(Ti) < ts(Tj). iu ny lm gim s trung bnh vic truyn thng bo bi mt pha. Trong v d trn, v tr 1 c ng T1 T2 T3 , v tr 2 c ng T3 T4 T1 . Do 1 gi cho 2. 7/Kt lun: iu khin tng tranh phn tn cung cp tnh c lp v nht qun ca giao tc. ng thi m bo tnh nht qun ca CSDL phn tn. Mt vi b st trong phn ny: 32

VieBooks

1. tng tranh

Thc hin c lng cc thut ton iu khin

2. Cc m hnh giao tc khc 3. Cc phng php iu khin tng tranh khc: C mt lp cc thut ton iu khin tng tranh khc c gi l cc phng php kim tra th tun t , xy dng mt th ph thuc v kim tra chu trnh kn. th ph thuc ca mt lch S, DG(S), l mt th ch dn m t cc quan h xung t gia cc giao tc trong S l mt nt. Mt cung (Ti Tj) tn ti trong DG(S) khi v ch khi c mt thao tc khc trc trong Tj . (hnh v). Cc b lp lch cp nht cc DG ca mnh khi mt trong cc iu kin sau c thi hnh: (1) mt giao tc mi bt u trong h thng, (2) mt giao tc c hoc ghi nhn c bi b lp lch, (3) mt giao tc kt thc, (4) mt giao tc b loi b. 4. assumptions abort trnactions 5. More general algorithms: C th nghin cu hai mu iu khin tng tranh c bn (locking v TO) s dng mt khung cng vic ng nht. Ba chnh ng k ra: (1) c th pht trin c hai thut ton pessimistic v optimistic da trn mt trong hai mu ny; (2) mt thut ton strict TO thc hin tng t mt thut ton kho t n tr chp nhn mt giao tc n khi ton giao tc gi hn kt thc. iu ny khng c ngha l ton b cc lch c sinh ra bi mt b lp lch TO ngt (strict TO)c th c php bi mt b lp lch 2PL; (3) c th pht trin thut ton lai, xa hn na c th pht trin chnh xc cc lut cho tc ng qua li ln nhau ca chng. 6. Cc m hnh thc hin giao tc: Thc hin tp trung v thc hin phn tn. V/Khi phc S phn tn v sao bn ca CSDL lm tng tin cy v tnh sn sng ca CSDL. Tnh tin cy ca h qun l CSDL phn tn qui vo thuc tnh nguyn t v bn vng ca giao tc. Hai nh hng r rng ca cc giao thc tin cy cn c tho lun trong s quan h ti cc thuc tnh ny l cc giao thc chuyn giao v khi phc.

33

VieBooks

1/Cc li v chu li trong cc h phn tn: Trong on ny tho lun v cc li trong cc h phn tn cng nh cc k thut chu ng li c s dng i ph vi chng. Da trn thng k kinh nghim v khng c ngha c hon ho v ton din. N ch gip v cung cp mt khung chung cho tnh tin cy ca CSDL phn tn. a.Nguyn nhn gy li: T l phn trm cc loi li nh sau: Nghin cu tnh tin cy ca h iu hnh IBM/XA ti Stanford linear accelerator (SLAC): 57% li phn cng, 12% li phn mm, 14% li cc thao tc, v 17% li do iu kin mi trng. Nghin cu ca cc my tnh Tandem: Li phn cng trn 18%, li phn mm 25%, li bo qun 25%, 17% li cc thao tc, 15% li mi trng. Nghin cu ca bb chuyn mch s AT&T5ESS: 23,3% li phn cng, 44,3% li phn mm, 17,5% li cc thao tc, 5,9% khng bit. b.Cc k thut v cc cch chu li c bn: C hai cch c bn xy dng mt h thng tin cy l chu li v cm li. Chu li a ra cch thit k h thng chp nhn cc li s xy ra; n c gng xy dng h thng sao cho cc li c th c pht hin v tho b hoc n b trc khi chng c th dn n kt qul mt h thng li. Cc k thut cm li tr gip m bo rng h thng hon thnh s khng cha bt k mt li no. Cm li c hai hng. u tin l trnh li, cch a ra cc k thut s dng m bo chc chn rng cc li l khng m u trong h thng. Cc k thut ny bao gm cc phng php thit k chi tit (ging nh thit k walkthrought, thit k cc s thanh tra ...), v iu khin cht lng. Hng th hai ca cm li l tho b li, cch a ra cc k thut c dng pht hin bt k li no c th cn st li trong h thng bt chp ng dng trnh li v tho b li cc li ny. Cc k thut c bit c s dng trong vng ny l kim tra bao qut v cc th tc lm cho hiu lc. Ch rng cc k thut tho b li p dng trong vic thc hin h thng trc khi a ra quyn s dng ca h thng. Cc phm tr cm li v trnh li c s dng xen k nhau. Mt tn chung khc cho cch ny l khng chp nhn li. Cc k thut ny tp trung vo vic thit k cc h thng s dng cc thnh phn tin cy cao v phng php 34

VieBooks

tinh vi ca k thut gi bi vic kin tra bao qut. Nh vy, hn ch c ch i gim s xut hin ca cc li h thng nh nht c th ci cc im c th c nm gi bng tay. Khng may, c mt s mi trng bo qun v sa cha th cngl khng th, hoc thi gian cn sa cha l khng chp nhn c trong cc mi trng ny. Thit k h thng chu li l cch chn la ph hp. Cch th ba cu trc cc h thng tin cyl pht hin li. c da theo bt k k thut chu li no. Cch bo khi mt li xut hin nhng khng cung cp bt k bin php chu li no. V vy, n c th c dnh ring cho vic pht hin li ring l t cch chu li nghim ngt. iu quan trng cn ch trong im ny l cc li h thng c th tim tng. Mt li tim tng l mt li c pht hin sau thi gian n xy ra. Thi k ny c gi l n li, v thi gian n li trong hnh trn mt s cc h thng chnh c gi l thi gian trung bnh pht hin li (MTTD). Hnh v quan h ca nhiu mc tin cy vi cc xut hin thc s cc li.
MTBF MTTD Xy ra li Dn n li MTTR Pht hi n li Sa ch a xy ra li Dn n li Thi gian

Nhi li c thxy ra u trong thi gian ny S xut hi cc s ki trn thi gian n n

Nguyn l c bn c dng trong ton b cc thit k h thng chu li l cung cp s d tha trong cc thnh phn h thng. Cc thnh phn d tha c hiu lc mt thnh phn, li c n b. Tuy nhin, s d tha l khng cho s chu ng li. Cng thm v l nguyn l chu li l modularization ca thit k. Tng thnh phn ca h thng c thc hin nh mt modul vi nh ngha vo ragiao tip vi cc thnh phn khc. Modul ho c tc dng c lp cc li trong mt thnh phn. y l k thut quan trng trong c cc h thng phn cng v phn mm. Hai khi nim ny c dng trong cc h thng c bit bi cch fail-stop modules v cc cp tin trnh. Mt fail-stop module t gim st thng xuyn, v khi n pht hin mt li, t n chm dt. Mt tn khc c xu hng cc module nh vy l fail-fast. 35

VieBooks

Vic thc hin fail-stop module trong phn cng l vt qu phm vi bn lun ca chng ta, nhng trong phn mm chng c th c thc hin bi cc chng trnh c bo v (defensive program). Tng phn mm kim tra trng thi ca n trong qu trnh chuyn i trng thi. Mt li ch ca fail-stop modules mt s gim trong vic tim tng khm ph (detection latency). Cc cp tin trnh cung cp s chu li bi s sao bn cc module phn mm. T tng loi b cc im li n l bng vic thc hin mi dch v h thng nh hai tin trnh ci lin kt v ng thao tc trong cung cp dch v mt trong cc tin trnh gi l chnh v ci kia l backup. C hai primary v backup c thc hin mt cch c bit nh fail-stop module ci ng thao tc trong cung cp mt dch v. C mt s cch khc nhau thc hin cc cp tin trnh, ph thuc vo cch thc hin kt ni gia primary v backup. Nm kiu chung l: lock-step, automatic checkpointing, state checkpointing, delta checkpointing v persistent. Cc cp tin trnh yu cu vic lin kt gia cc tin trnh. S lin kt gia cc tin trnh c th c thc hin bng cch chia s b nh. Tuy nhin khi thit k mt mi trng phn mm tin cy iu quan trng thc hin mt h iu hnh l s dng mt c cu lin kt gia cc tin trnh da trn thng bo. Nh mt cch ng gp vo s c lp li t thc hin tin trnh trong a ch trng ca chnh n, v mt li t trong s chng c th dn n s khng truyn lan sang tin trnh khc. Mt iu quan trng lin quan n khi nim l lin kt hng phin (session-oriented) gia cc tin trnh. Lin kt hng phin giao nhim v pht hin v nm gi thng bo mt hoc thng bo nhn bn t cc my ch thng bo ca h iu hnh tt hn ti cc chng trnhng dng. iu ny khng ch d dng mt mi trng pht trin ng dng n gin nhng cng cho php h iu hnh cung cp mi trng thc hin tin cy cho cc tin trnh ng dng. 3/Cc li trong DDBMS: a.Cc li giao tc: Giao tc c th li v mt s nguyn nhn:

36

VieBooks

- Do chnh bn thn giao tc: Do mmt iu kin cm mt cng vic hon thnh. V d: t ch my bay ngi ta c th tc sau: SELECT STSOLD, CAP INTO temp1, temp2 FROM FLIGHT WHERE FNO = flight-no AND DATE = date; IF temp1 = temp2 THEN BEGIN OUTPUT(Khng cn ch trng); Abort; END ELSE BEGIN .... Ch thch: STSOLD l s ch bn, CAP s ch ca chuyn bay. -Do DBMS: +Pht hin mt kho cht. +Mt s thut ton khng cho php cc giap tc trc hoc ngang bng i nu d liu c truy nhp bi mt giao tc khc. +Xy ra mt li. b.Cc li v tr (h thng): -D liu trong b nh mt. -Li v tr. -Li ton b cc v tr trong h thng phn tn. -Li mt phn cc v tr trong h thng phn tn. c.Cc li mi trng: Cc li mi trng qui v cc li ca cc thit b lu tr th hai ci lu tr CSDL c th li h iu hnh, li phn cng, li cc b iu khin dn n mt phn hoc ton b CSDL c th b ph hy hoc khng truy nhp c. Khc phc bng sao bn v cc chc nng khi phc phn tn. d.Cc li truyn thng: C ba kiu li m t trn chung cho c hai CSDL tp trung v CSDL phn tn. Cc li truyn thng ch cho duy nht trong trng hp phn tn. C mt s kiu li truyn thng. Mt kiu chung nht l cc li trong cc thng bo, cc thng bo c th t khng thch hp, mt (hoc khng th giao c) cc thng bo, v cc li ng truyn. Nh tho lun chng 3, hai li u l trch nhim ca mng my tnh chng ta khng quan tm (communication subnet bao gm physical, data link, v network layers ca kin trc ISO/OSI). Nh vy, trong cc tho lun ca chng 37

VieBooks

ta v tnh tin cy ca DDBMS, chng ta trng i phn mm v phn cng mng my tnh mc di m bo rng hai thng bo gi ti t mt tin trnh ti mt vi v tr khi u ti tin trnh khc ti v tr ch l nhn c khng vi mt li v th t chng gi. Cc li ng truyn dn n s phn on mng dn n vic khng nht qun trong CSDL v c th gii quyt bng cch t timeout. 4/Cc giao thc tin cy cc b: Trong on ny chng ta bn lun cc chc nng c thc hin bi b qun l khi phc cc b (LRM) tn ti trn tng v tr. Cc chc nng m bo tnh nguyn t v tnh bn vng ca cc giao tc cc b. a.Cc quan tm kin trc: B qun l b m CSDL gi mt vi truy nhp CSDL mi nht trong vng m b nh. Vng m c chia thnh cc trang c kch thc ging cc trang trong CSDL.
Kho l u trth hai Fetch, Flush B qun l v ng m CSDL B nh ch nh B qu l khi phc cc b n CSDL b v n ng Cc v ng m CSDL (CSDL tm thi)

c Ghi

c Ghi

H 2. Giao di gi b qun l khi phc v b qun l v ng m nh n a

Volatile database: CSDL lu trong vng m. LRM thc hin cc thao tc ca mt giao tc trn violatile database sau ghi vo stable database. Fetch: LRM c mt d liu. DBM chu trch nhim kim tra, load trang ny vo vng m. B qun l vng m cung cp mt giao din ci LRM dng thc hin vic ghi tr li chng vo cc trang m. C th hon thnh bng cu lnh FLUSH, lnh xc nh cc trang LRM mun ghi li. b.Thng tin khi phc: Cc tho lun v cc k thut khi phc ccli mi trng sau. Khi chng ta giao tip vi khi phc CSDL tp trung, cc li truyn thng l khng p dng c.

38

VieBooks

Thng tin khi phc l thng tin v trng thi ca CSDL tai thi im xy ra li (a CSDL v trng thi xy ra li v khi xy ra li d liu trong b m b mt). Thng tin khi phc li ph thuc vo phng php ca vic thc hin cc cp nht hai kh nng in-place updating v out-of place updating. In-place updating: Thay i vt l cc gi tr trong stable database. Out-of place updating: khng thay i gi tr ca cc mc d liu trong vng stable database nhng duy tr cc gi tr mi mt cch ring r. b1.Thng tin khi phc in-place update: Cc thut ton LRM v b qun l vng m l ging nh cc trang ti vng m c ghi vo stable database ch khi b qun l vng m cn trang m mi. Ni cch khc lnh FLUSH khng c s dng bi LRM v s quyt nh ghi vo stable database c lm ti vic suy xt ca b qun l vng m. Trong trng hp mt li xy ra khi kt qu T1 cha c ghi vo stable database vic khi phc nh vo cc thng tin lu gi trong nht k CSDL (database log) v kt qu ca T1.
Trng thi CSDL b v c n ng Thao tc cp nht Trng thi CSDL b v m i n ng Nht k CSDL H 2. S thc hi thao tc cp nht nh n

Ni dung ca nht k c th khng ging nhau theo s thc hin. Tuy nhin thng tin ti thiu cho mi mt giao tc c ct gi trong hu ht cc nht k CSDL: 1 begin-transaction record, cc gi tr mc d liu trc khi cp nht gi l nh trc (before image), Gi tr mc d liu sau khi cp nht gi l nh sau (affter image), Termination record (about,commit). C th ghi nht k ton b cc trang hoc mt s lng nh cc n v.
Bu t T1 K thc t Hthng v

Bu T2 K thc t t 0 t Thi gian

H 2. s xut hi mt li hthng nh n

39

VieBooks

Tng t cho volatile database, nht k c duy tr trong cc vng m b nh chnh (gi l cc vng m nht k) v ghi li vo stable storge (gi l nht k bn vng) tng t cho cc trang m CSDL (hnh 12.12). Cc trang nht k c th ghi vo kho lu tr bn vng (stable storage) bng mt trong hai cch sau: ng b: vic thm mi mt nht k i hi nht k c ghi vo nht k bn vng. Khng ng b: ghi theo chu k hoc khi vng m y. Giao thc WAL(Write-Ahead-Logging): Nu mt cp nht c ghi vo CSDL bn vng m mt li xy ra khi cha hon thnh vic ghi vo nht k bn vng dn n sai thng tin do lun lun ghi nht k bn vng trc ta thy giao thc WAL m bo c undo v redo.
Trng thi CSDL b v m i n ng Nht k CSDL H 12.10 H REDO nh nh ng Trng thi CSDL Trng thi CSDL REDO b v c n ng b v m i n ng Nht k CSDL H 2. Hnh REDO nh ng UNDO Trng thi CSDL b v c n ng

b2.Thng tin khi phc cp nht out-of-place: Nh chng ta k trn, k thut cp nht ph bin l in-place updating. Do cc k thut khc ch ni s lc. Cc k thut c bit cho out-of place updating l soi bng (shadowing) v cc file khc nhau (differential files). Soi bng s dng hai trang lu tr bn vng trong vic cp nht, trang lu tr bn vng c gi l trang soi bng, c gi nguyn vn v mt trang mi vi cc gi tr mc d liu c cp nht c ghi vo CSDL bn vng. Cc file khc nhau c ch ra trong chng 6 trong ng cnh thc hin ton vn. Nhn chung phng php ny duy tr mi file CSDL bn vng nh mt file ch c. N duy tr mt file khc c th ghi ghi cc thay i ca file CSDL. F l mt file CSDL logic, ch r phn ch c ca n FR v file khctng ng l DF. DF bao gm hai phn: mt phn thm, lu tr cc vic thm vo F, ch ra 40

VieBooks

DF+, v mt phn xo tng ng, ch ra DF-. Ton b cc cp nht c i x nh vic xo mt gi tr c v thm vo gi tr mi. F = (FR U DF+) - DF-. c.Thc hin cc lnh LRM: Begin-transaction, read, write kh c lp vi thut ton LRM v commit, abort, recover ph thuc vo thut ton LRM. Fix/no-fix (steal/no-steal): b qun l vng m c th vit cc trang m c cp nht bi mt giao tc vo kho lu bn vng trong khi thc hin giao tc ny hay phi i LRM bo tin. Flush/no-flush (force/no-force): b qun l vng m flush trang m vo kho lu tr bn vng khi kt thc giao tc hay theo thut ton ca b qun l vng m. Cc lnh Begin-transaction, read, write: Begin-transaction: Lnh ny l nguyn nhn nhiu thnh phn ca DBMS thot khi chc nng gi s (boockeeping function). Ghi vo nht k CSDL (c th tr li n vic thc hin lnh write u tin gim truy nhp vo ra). Read: fetch d liu vo vng m. Cao hn vic c d liu, LRM tr chng cho b lp lch. Write: fetch d liu, ghi nh trc, nh sau v record vo nht k. LRM bo tin cho b lp lch khi thao tchon ton thnh cng. No-fix/No-flush: Thut ton LRM kiu ny c gi l mt thut ton undo/redo (steal/no-force). Abort: Undo giao tc hoc undo tng phn. LRM c cc bn ghi nht k v tr li nh trc, b lp lch c bo hon thnh cng vic hu b. Danh sch hu b ct gi cc nh danh ca tt c cc giao tc c hu b. Thao tc hu b c quan tm hon thanh cng sm cng tt cc nh danh c cng vo danh sch hu b. Ch , khi cha lu d liu vo CSDL bn vng th b qun l vng m ghi trang CSDL cha chnh xc vo CSDL bn vng ti mt thi im tng lai. Commit: l nguyn dn n mt bn ghi kt thc giao tc c vit vo nht k bi LRM. Khng c mt hnh ng no khc c thc hin trong qu trnh thc hin lnh commit ngoi tr vic bo cho b lp lch v vic hon thnh hnh ng chuyn giao. Mt cch chn la vit mt kt thc giao tc vo nht k l cng thm nh danh ca giao tc vo mt danh sch chuyn giao. 41

VieBooks

Recover: LRM bt u vic khi phc bng vic n u nht k v redo cac thao tc ca mi giao tc nu tm thy c hai bn ghi bt u v kt thc giao tc . Gi l redo mt phn. Tng t n undo cc thao tc ca cc giao tc nu tm thy bn ghi bt u giao tc m khng tm thy bn ghi kt thc giao tc tng ng. Gi l undo ton cc. Nhng ngc li vi undo giao tc bn lun trn khc nhau l kt qa ca tt c cc giao tc khng hon thnh rollback, khng tr giao tc no. Nu danh sch chuyn giao v danh sch hu b c s dng. Vic khi phc bao gm redo cc thao tc ca tt c cc giao tc trong danh sch chuyn giao v undo cc thao tc ca tt c cc giao tc trong danh sch hu b. Lu th t trong trng hp th hai. No-fix/Flush: Cc thut ton LRM s dng chin lc ny c gi l undo/no-redo (steal/force). Abort: Vic thc hin hu b l ging nh trng hp trc. Trn li giao tc, LRM khi to undo mt phn cho phn ny ca giao tc. Commit: LRM a ra mt lnh Flush ti bqun l vng m, hiu lc n ghi ton b cc trang CSDL cp nht vng m vo CSDL bn vng. Lnh Commit l c thc hin bi vic ghi mt bn ghi co nht k hoc bi vic thm mt nh danh vo danh sch chuyn giao khi ton b cng vic c hon thnh, LRM bo cho b lp lch rng chuyn giao hon thnh. Recover: T ton b cc trang c cp nht c ghi vo CSDL bn vng ti thi im chuyn giao, khng cn thc hin redo ton b kt qu c ghi vo CSDL bn vng khi giao tc thnh cng do vic khi phc bao gm mt undo ton cc. Fix/No-flush: Trong trng hp ny LRM iu khin vic ghi vo cc VDB v CSDL bn vng. Ct li y khng cho php b qun l vng m ghi bt c trang VDB vo CSDL bn vng n thi im ti thiu mt giao tc chuyn giao. iu ny c hon thnh bi lnh FIX, lnh ny l mt phin bn sa i ca lnh FETCH nh xc nh cc trang c fix trong CSDL m v khng c ghi vo CSDL bn vng bi b qun l vng m. Bt c lnh fetch ti b qun l vng m c thc hin vic ghi c thay th bi mt lnh fix. Ch rng iu ny loi b cn mt thao

42

VieBooks

tc undo ton cc v do c gi l thut ton redo/no-undo (noforce/no-steal). Abort: T cc trang VBD khng c ghi vo CSDL bn vng, khng c hnh ng cn thit c bit. gii phng cc trang m cc trang c fix bi giao tc, tuy nhin, n l cn thit cho LRM gi mt lnh unfix ti b qun l vng m cho ton b cc trang ny. N l thot ra khi hnh ng hu b bi vic vit mt bn ghi hu b vo nht k hoc cng thm nh danh giao tc vo danh sch hu b, bo cho b lp lch. Commit: LRM gi mt lnh unfix ti b qun l vng m cho tng trang VBD trang trc c fix bi giao tc ny. Ch rng cc trang ny c th c ghi ngay vo CSDL bn vngti vic suy xt ca b qun l vng m. Lnh chuyn giao c thc hin cng bi vic ghi mt bn ghi vo nht k hoc bi vic thm vo danh sch chuyn giao. Sau bo cho b lp lch. Recover: Nh k trn t cc trang VBD c cp nht bi cc giao tc l vn khng c ghi vo CSDL bn vng, khng c s cn thit cho mt undo ton cc. LRM do khi to mt redo mt phn khi phc cc giao tc chuyn giao nhng cc trang VBD c th cha c ghi vo CSDL bn vng. Fix/Flush: y l trng hp m LRM cho php b qun l vng m ghi cc trang VBD c cp nht vo CSDL bn vng ti chnh xc im chuyngiao, khng trc, khng sau. Chin lc ny gi l no-undo/no-redo (no-steal/force). Abort: ging nh trng hp fix/no-flush. Commit: LRM gi mt lnh unfix ti b qun l vng m cho tng trang VDB trc c fix bi giao tc ny. Sau n a ra mt lnh flush ti b qun l vng m, hiu lc vic ghi ton b cc trang VDB unfix vao CSDL bn vng. Cui cng, lnh chuyn giao c tin hnh bi vic ghi vo nht k hoc thm vo danh sch chuyn giao. im quan trng cn ch y l c ba thao tc ny c thc hin nh mt giao tc nguyn t. LRM bo cho b lp lch. Recover: Khng cn lm g trong trng hp ny. iu ny ng t CSDL bn vng phn nh tt c cc kt qu ca cc giao tc thnh cng v khng mt kt qu no ca cc giao tc khng thnh cng. d.Checkpointing: 43

VieBooks

Trong hu ht cc chin lc thc hin LRM, vic thc hin hnh vi khi phc i hi phi tm kim ton b nht k. C tng chi ph ng k bi v LRM c gng tm ton b cc giao tc cn undo v redo. Tng chi ph c th c gim nu n c th xy dng mt bc tng biu hin rng CSDL ti im ny l c cp nht (up-to-date) v bn vng. Trong trng hp ny, redo bt u t im ny n cui nht k v undo bt u t cui nht k ti im ny. Tin trnh xy dng bc tng c gi checkpointing. Checkpointing t c trong ba bc sau: Ghi mt bn ghi Begin-Checkpointing vo nht k. Tp hp im kim tra d liu vo kho lu tr bn vng. Ghi mt bn ghi End-Checkpointing vo nht k. Bc th nht v bc th ba p buc tnh nguyn t ca thao tc Checkpointing. Nu mt li h thng xy ra trong qu trnh Checkpointing, tin trnh khi phc s khng tm thy bn ghi End-Checkpointing v s lu Checkpointing ny l cha hon thnh. C mt s cch khc nhau cho d liu c la chn trong bc th hai, chng c la chn nh th no v c lu tr u. Chng ta cn nhc mt v d sau y, c gi l im kim tra tnh xc thc ca giao tc (Transaction-Consistent checkpointing). Checkpointing bt u bng vic ghi mt bn ghi BeginCheckpointing vo nht k v dng chp nhn bt k mt giao tc mi bi LRM. u tin hiu lc cc giao tc hon ton hon thnh, tt c cc trang VDB cp nht c flush vo CSDL bn vng. Tip theo bng vic thm mt bn ghi End-Checkpoimting vo nht k. Thut ton Transaction-Consistent-Checkpointing khng l mt thut ton hiu sut cao, do mt tr ng k ton b cc giao tc. C mt s la chn s Checkpointing nh l Action-Consistent checkpointing, Fuzzy Checkpointing ... e.Qun l li mi trng:

44

VieBooks B nh ch nh log b v n ng Kho l u trth hai c Ghi B qu l khi n phc cc b c Ghi Cc v ng m nht k Cc v ng m CSDL (CSDL tm thi)

Fetch, Flush c B qu l v ng c n m CSDL Ghi Ghi CSDL b v n ng Ghi Ghi

Kho l u trCSDL

Kho l u trnht k

H 2. Ph cp b nh y qun l bi LRM v BM nh n

DBMS giao tip vi ba mc b nh phn cp: b nh chnh, b nh truy nhp ngu nhin a t, bng t. Hai phng php c xut cho giao tip vi iu ny l thc hin lu tr s hot ng trng nhau vi x l bnh thng v lu tr CSDL gia tng nh thay i s kin. 5/Cc giao thc tin cy phn tn: Nh vi cc giao thc tin cy cc b, cc phin bn phn tn tr gip m bo tnh nguyn t v bn vng ca cc giao tc phn tn c thc hin trn mt s CSDL. Begin-Transaction c thc hin chnh xcnh trong trng hp tp trungbi b qun l giao tc ti v tr khi u ca giao tc. Lnh read, write thc hin theo lut ROWA tho lun chng 11. Ti mi v tr cc lnh c thc hin theo kiu miu t trong 12.4.3. Tin trnh ng iu phi: l tin trnh ti v tr khi u mt giao tc thc hin cc thao tc ca giao tc . a.Cc thnh phn ca cc giao thc tin cy phn tn: Cc k thut tin cy trong CSDL phn tn bao gm cc giao thc chuyn giao, kt thc, khi phc. Trong CSDL tp trung khng c giao thc kt thc. Giao thc kt thc: m bo s kt thc cc giao tc ti cc phn khc nhau. Giao thc khi phc: Kin to s nht qun gia cc sao bn khi kt ni li cc phn ca mng. 45

VieBooks

Yu cu chnh ca giao thc chuyn giao l m bo tnh nguyn t ca cc giao tc phn tn Giao thc kt thc khng khi (nonblocking) cho php mt giao tc kt thc ti cc v tr hiu lc (thao tcoperational) khng vi vic ch i vic khi phcca v tr li. Giao thc khi phc c lp xc nh s kt thc no ca mt giao tc c thc hin trong thi gian li khng vi vic tra cu bt k mt v tr no khc do gim s thng bo trong thi gian khi phc. Ch vic giao tc khi phc c lp c th m ch tn ti giao tc kt thc khng khi. b.Giao thc chuyn giao hai pha: iu kin c kh nng khi phc: cc thut ton SCC.. n phng hu b. Mt m t ngn gn giao thc chuyn giao hai pha: Khi to tin trnh ng iu phi ghi mt bn ghi Begin-commit vo nht k ca n, gi mt thng bo prepare ti ton b cc v tr tham gia, v i vo trnh thi i. Khi mt v tr tham gia nhn thng bo prepare n kim tra xem n c th chuyn giao giao tc. Nu c th n ghi mt bn ghi ready vo nht k, gi mt c vote-commit ti tin trnh ng iu phi, v i vo trng thi sn sng. Ngc li, ghi mt bn ghi abort vo nht k v gi c vote-abort ti tin trnh ng iu phi, v i vo trng thi sn sng; Ngc li n ghi mt bn ghi abort vo nht k v gi c vote-abort ti tin trnh ng iu phi. Tin trnh iu phi quyt nh gi thng bo Global-commit hay Global-abort; ghi bn ghi End-of-transaction vo nht k v i vo trng thi chuyn giao hay trng thi hu b. Cc tin trnh tham gia chuyn giao hoc hu b giao tc theo cc kin trc ca tin trnh ng iu phi v gi tr li tin trnh ng iu phi mt cng nhn (acknowledgement). Lut chuyn giao ton cc: Mt c hu b dn n hu b ton cc. Ton b chuyn giao dn n chuyn giao ton cc.

46

VieBooks Ti tr phi h p n nh ng INITIAL PREPARE Ti tr tham gia n nh INITIAL

Ghi begin-commit v nht k o

Ghi abort vo nht k No

S sng n chuy giao n Y es Ghi ready v nht k o

WAIT

Vote-Abort Vote-Commit

Any no ? No Ghi commit vo nht k

Y es

Ghi Abort vo nht k Global-Commit Ghi abort vo nht k ABORT

Global-Abort

READY

Abort

Ki ca u thng bo

Commit ACK ACK Ghi commit v nht k o

COMMIT

Ghi end-of-commit v nht k o

ABORT

COMMIT

H 2. Cc h giao thc chuy giao hai pha nh nh ng n

Mt vi im quan trng v giao thc chuyn giao hai pha: Chuyn giao hai pha cho php hu b n phng. Mt tin trnh tham d c chuyn giao mt giao tc, n khng th thay i c ca n. Trong khi mt tin trnh tham gia trng thi sn sng, n khng th hu b hoc chuyn giao tc.

47

VieBooks

Quyt nh kt thc ton cc to bi tin trnh ng iu phi theo lut chuyn giao ton cc. Timeout thot mt trng thi no nu khng nhn c mt thng bo t v tr khc. C mt s mu kt ni khc nhau c th c s dng trong giao thc chuyn giao hai pha. Giao thc chuyn giao hai pha tp trung ch c kt ni gia tin trnh ng iu phi vi cc tin trnh tham gia m khng c kt ni gia cc tin trnh tham gia vi nhau.
Vtr ng Cc vtr Vtr ng Cc vtr Vtr ng u phi tham gia u phi tham gia u phi i i i

Prepare

Vote-Commit/ Global-Commit/ Vote-Abort Global-Abort Pha1 Pha2

Commited Aborted

H 2. Cu trc lin k ca 2PC tp trung nh t

Mt la chn khc l linear 2PC (cn gi l nested 2PC): Cc thnh phn tham gia c th kt ni vi mt thnh phn khc. C mt th t gia cc v tr trong h thng cho nh kt ni. Th t gia cc v tr tham gia trong vic thc hin mt giao tc l 1, 2, ..., N, tin trnh ng iu phi l tin trnh u tin trong th t. Giao thc chuyn giao hai pha c thc hin bi kt pha trc t tin trnh ng iu phi (s 1) ti N.
Prepare 1 2 vc/vc 3 vc/vc 4 vc/vc 5 vc/vc N

GC/GA GC/GA GC/GA GC/GA GC/GA H 2. Cu trc lin k 2PC linear nh t

Giao thc chuyn giao hai pha phn tn: Mt cu trc kt ni thng thng khc cho thc hin giao thc chuyn giao hai pha bao gm kt ni gia ton b cc thnh phn tham gia 48

VieBooks

trong pha th nht ca giao thc. Tin trnh ng iu phi gi thng bo prepare cho tt c cc thnh phn tham gia gi c ca mnh cho tt c cc thnh phn tham gia khc v tng thnh phn tham gia t quyt nh chuyn giao hay hu b theo lut chuyn giao ton cc. Cc thnh phn tham gia phi bit nh danh ca cc thnh phn tham gia khc. p ng i hi ny tin trnh ng iu phi gi km theo thng bo prepare mt danh sch cc thnh phn tham gia.
Vtr ng u phi i Cc vtr tham gia Cc vtr tham gia

Prepare

Vote-Abort/ Vote-Commit Pha 1

Global-Commit/ Global-Abort (quy t lp) c nh

Hinh 2. Cu trc lin k 2PC ph tn t n

c.Cc bin th ca chuyn giao hai pha: Hai bin th ca chuyn giao hai pha c xut : 1. Gim s thng bo gia tin trnh ng iu phi v cc thnh phn tham gia. 2. Gin s thi gian ghi cc nht k. c1.Giao thc chuyn giao hai pha phng on hu b (presumed abort 2PCP): Khi tin trnh ng iu phi quyt nh hu b giao tc n c th ghi mt bn ghi abort vo nht k v khng ch i cc cng nhn hu b t cc thnh phn tham gia. Tin trnh ng iu khin khng cn phi ghi end-of-transaction sau mt hu b. Bn ghi abort khng c hiu lc nu mt li xy ra, chng trnh khi phc s kim tra nht k ca giao tctc , v v hu b khng c hiu lc nn n khng tm thy cc thng tin v giao tc . Trng hp ny n hi tin trnh ng iu phi v c tr li v giao tc . 49

VieBooks

c2.Giao thc chuyn giao hai pha phng on chuyn giao: 6/Cc li v tr: a.Cc giao thc kt thc v khi phc ca chuyn giao hai pha: a1.Cc giao thc kt thc: Cc phng php nm gi thi gian qu hn (timeout) ph thuc vo thi gian cc li cng nh ph thuc vo cc kiu li.
INITIAL Commit command Prepare WAIT Vote-Abort Global-Abort ABORT Vote-Commit Global-Commit COMMIT Global-Abort Ack ABORT Prepare Vote-Abort READ Y INITIAL Prepare Vote-Commit Global-Commit Ack COMMIT Cc vtrtham gia

Vtr u phi ng i

H 2. Trng thi cc giao tc trong giao thc 2PC nh

Coordinator timeout: Timeout trong trng thi i: Timeout trong cc trng thi chuyn giao hay hu b: Gi li v ch tr li (s ln gi li ?). Participant timeout: Timeout trong trng thi khi to: c th n phng hu giao tc sau mt thi gian c hai cch: Kim tra nht k ca n tm mt bn ghi abort, v tr li mt vote-abort. B qua thng bo prepare. Trong trng hp ny tin trnh ng iu phi sau mt thi gian timeout trng thi WAIT a ra quyt nh ton cc. Timeout trong trng thi sn sng: Giao thc chuyn giao hai pha tp trung: bi tin trnh ng iu phi v i n khi nhn c tr

50

VieBooks

li. Nu tin trnh ng iu phi li th n s duy tr tc nghn (remain blocked). Giao thc chuyn giao hai pha phn tn: Pi timeout, Pj tr li c ba trng hp sau: Pj trong trng thi khi to: Pj cha qyut nh v c th cha nhn thng bo prepare. N c thn phng hu b v tr li Pi vi mt thng bo vote-abort. Pj trong trng thi sn sng: Trong trng hp ny n khng th gip Pi kt thc giao tc. Pj trong trng thi hu b hay trong trng thi chuyn giao: Gi vote-abort hay vote-commit. Pi timeout c cc trng hp sau: Pi nhn mt vote-abort: hu b. Pi nhn ra ton b Pj trong trng thi sn sng: cha c thng tin kt thc chnh xc do phi ch (khi no th kt thc hnh ng ch ?). Nhn c global-abort hoc global-commit th hu b hoc chuyn giao. Nu ang blocked c th vt qua trong mt hon cnh nht nh: Nu trong vic kt thc ton b cc thnh phn tham gia gii phng m tin trnh ng iu phi li th c th chn mt ngi iu phi khc khi ng li tin trnh chuyn giao. C cc cch khc nhau chn tin trnh ng iu phi. Nu c th nh ngha mt th t ton b cc v tr th chn mt trong s cc tin trnh tip theo trong th t, hoc khi to mt th tc c trong cc thnh phn tham gia chn ra tin trnh ng iu phi mi. Nu c tin trnh ng iu phi v mt s tin trnh tham gia cng b li. a2.Cc giao thc khi phc: Cc trng hp li c bn: Cc li ti v tr ca tin trnh ng iu phi: Cc trng hp sau c th xy ra: Li xy ra trong trng thi khi to: Trc khi tin trnh ng iu phi khi to xong th tc chuyn giao. V vy n s bt u tin trnh chuyn giao vo lc khi phc. 51

VieBooks

Li xy ra trong trng thi i: trong trng hp ny, tin trnh ng iu phi gi thng bo prepare vo lc khi phc tin trnh ng iu phi s khi ng li tin trnh chuyn giao cho giao tc ny t vic bt u vic gi thng bo prepare mt hay nhiu ln. Xy ra trong trng thi chuyn giao hoc hu b: Khng lm g nu nhn ton b cng nhn. Cc li ti cc v tr tham gia: 1. Li trong trng thi khi to: n phng hu b v timeout ti tin trnh ng iu phi. 2. Li trong trng thi: Trong trng hp ny tin trnh ng iu phi gi ti v tr li khng nh quyt nh v giao tc trc lc li. Vo lc khi phc, cc tin trnh tham gia ti v tr li c th coi li ny nh mt timeout trong trng thi sn sng l gi giao tc cha hon thnh ti giao thc kt thc. Cc trng hp m rng: Li tin trnh ng x l sau khi bn ghi begin-commitc ghi vo nht k nhng trc khi thng bo prepare c gi. C th lm li nh mt li trong trng thi i v gi preoare vo lc khi phc. Mt li ca tin trnh tham gia sau khi ghi mt bn ghi ready vo nht k v trc khi gi vote-commit. Ging trng hp 2 trong phn li cc v tr tham gia. Li cc v tr tham gia sau khi ghi mt bn ghi abort vo nht k v trc khi gi c vote-abort. Khng phi khi phc g, tin trnh ng iu phi trong trng thi ch i s gp mt timeout. Li tin trnh ng iu phi sau khi ghi vo nht k cc quyt nh ca n (chuyn giao hoc hu b) v trc khi gi thng bo global-commit hoc global-abort ti cc tin trnh tham gia. Nh trng hp 3 i vi tin trnh ng iu phi, cc tin trnh tham gia coi nh mt timeout trong trng thi sn sng. Li tin trnh tham gia sau khi ghi vo nht k bn ghi commit hoc abort v trc khi gi thng bo cng nhn ti tin trnh ng iu phi. Tin trnh tham gia c th coi nh trng hp 3, tin trnh ng iu phi s gp mt timeout trong trng thi chuyn giao hoc trong trng thi hu b. b.Giao thc chuyn giao ba pha: Giao thc chuyn giao ba pha c thit k nh mt giao thc nonblocking. Chng ta s xem trong on ny ci thc s l nonblocking khi cc li c hn ch ti v tr li. u tin chng ta 52

VieBooks

xem xt iu kin cn v thit k cc giao thc nonblocking automic commitment (NbACP). Mt giao thc chuyn giao c ng b trong mt trng thi chuyn i l nonblocking khi v ch khi s chuyn i trng thi ca n bao gm iu kin sau: Khng c trng thi lin k vi c hai trng thi chuyn giao v hu b. Khng c mt t rng thi khng th chuyn giao lin k vi trng thi chuyn giao.
INITIAL Commit com mand Prepare WAIT Vote-Abort Global-Abort ABORT Ready-to-Com mit Global-Comm it COMMIT Vtr u phi ng i Vote-Com it m Prepare-to-Com mit PRECOMMIT Global-Abort Ack ABORT Prepare Vote-Abort READ Y INITIAL Prepare Vote-Comm it Prepare-to-Com mit Ready-to-Com mit

PRECOMMIT

Global-Comm it Ack COMMIT Cc vtrtham gia

H 2. Trng thi cc giao tc trong giao thc 3PC nh

R rng chuyn giao ba pha l mt giao thc m tt c cc trng thi c ng b trong mt trng thi chuyn i. Bi v cc iu kin cho chuyn giao nonblocking hai pha p dng cho chuyn giao ba pha. b1.Giao thc kt thc: Coordinator timeout: Timeout trong trng thi i: n phng hu b giao tc. Bi vy n ghi mt bn ghi abort vo nht k v gi thng bo global-abort. Timeout trong trng thi tin chuyn giao (precommit): Ghi bn ghi commit vo nht k v gi thng bo global-commit v cc tin trnh tham gia c chuyn giao v trng thi sn sng (khng bit trng thi tin chuyn giao cha).

53

VieBooks

Timeout trong trng thi chuyn giao hoc trng thi hu b: Tin trnh ng x l khng bit cc tin trnh tham gia thc hin lnh commit (hoc abort). Tuy nhin, chng ti thiu trng thi tin chuyn giao (hoc trng thi sn sng) do giao tc l ng b trong mt trng thi chuyn i v c th sau giao thc kt thc nh m t trong trng hp 2, hoc trng hp 3 pha di. Khng phi lm g c bit.

54

VieBooks Ti tr phi h p n nh ng INITIAL PREPARE Ti tr tham gia n nh INITIAL

Ghi begin-commit v nht k o

Ghi abort vo nht k No

S sng n chuy giao n Y es Ghi ready vo nht k

WAIT

Vote-Abort Vote-Commit

Any no ? No

Y es

Ghi Abort vo nht k Prepare-to-Commit Ghi abort vo nht k ABORT

Global-Abort

READY

Ghi prepare-commit vo nht k

Abort

Ki ca u thng bo Prepare-to Commit Ghi prepare-commit vo nht k PRECOMMIT

ACK

PRECOMMIT

Ready-to-commit Ghi commit vo nht k ABORT Commit

COMMIT

ACK Ghi end-of-commit v nht k o COMMIT

Ghi commit vo nht k

H 2. Cc h giao thc chuy giao ba pha nh nh ng n

Participant Timeout: Timeout trong trng thi khi to: Ging nh giao thc kt thc chuyn giao hai pha. Timeout trong trng thi sn sng: Tin trnh tham gia c chuyn giao nhng khng bit quyt nh ton cc ca tin trnh ng iu phi do kt ni vi tin trnh 55

VieBooks

ng iu phi li, giao thc kt thc tin hnh chn tin trnh iu phi mi. Timeout trong trng thi tin chuyn giao: trng thi ny tin trnh tham gia nhn thng bo prepare-tocommit v ang i thng bo cui cng global-commit t tin trnh ng iu phi. Trng hp ny ging nh trng hp 2 k trn. Chn ngi iu phi mi: Nu mt ngi iu phi mi trong trng thi i, n s hu b ton cc giao tc. Cc tin trnh tham gia c th ang trng thi khi to, sn sng, hu b, hoc tin chuyn giao. Trong 3 trng hp u th khng c vn g. Tuy nhin cc tin trnh tham gia trong trng thi tin chuyn giao ang i mt thng bo global-commit, nhng chng nhn c mt globalabort thay th. S chuyn i trng thi ca chng khng ch ra bt k mt s chuyn i t trng thi tin chuyn giao sang trng thi hu b. Giao tc ny cn thit cho giao thc kt thc; n c th c cng vo tp cc chuyn i hp l ci c th xy ra trong khi thc hin giao thc kt thc. Nu mt tin trnh ng iu phi mi l trng thi t in chuyn giao, cc tin trnh tham gia c th trng thi tin chuyn giao, hoc chuyn giao. Khng tin trnh tham gia no c th trng thi hu b. V vy n quyt nh globalcommit v gi i mt thng bo global-commit. Nu tin trnh iu phi mi trng thi hu b th quyt nh ton cc l hu b. Tin trnh ng iu phi mi khng lu vt cc li ca cc tin trnh tham gia.Trong tin trnh ny n on gin hng dn cc v tr tin ti kt thc. Nu mt vi li tin trnh tham gia xy ra trong lc ny chng s kt thc nh khi phc. Nu li tin trnh ng iu phi mi th chn li ngi iu phi mi. Giao thc kt thc ny r rng l nonblocking. Cc v tr hot ng c th kt thc chnh xc ton b nhng s kin xy ra trong giao tc v tip tc cc thao tc ca n. Tnh ng n ca thut ton c chng minh trong [Skeen, 1982b]. b2.Cc giao thc khi phc: C mt vi s khc nhau nh gia chuyn giao hai pha v chuyn giao ba pha. Chng ta ch ch ra cc s khc nhau ny.

56

VieBooks

Coordinator li trong trng thi i: Bn lun trong giao thc kt thc. V vyvo lc khi phc tin trnh ng iu phi hi v s phn kt thc ca giao tc. Coordinator li trong trng thi tin chuyn giao: Giao thc kt thc s hng dncc v tr hot ng tin ti kt thc giao tc. Do n c th chuyn t trng thi tin chuyn giao ti trng thi hu b. Trong tin trnh ny tin trnh ng iu phi hi v s phn kt thc ca giao tc. Mt tin trnh tham gia li trong trng thi tin chuyn giao: Hi v kt thc nh th no ca cc tin trnh tham gia khc kt thc giao tc. Chng 3: C s d liu phn tn trn Oraclce7: I/Cp nht phn tn (2PCP, iu khin tng tranh, Khi phc): Mi trng phn tn: Cp nht phn tn thc t l c nhiu ngi s dng ang chia s v truy nhp vo d liu tn ti trn nhiu v tr, do ny sinh cc iu cn quan tm sau: S sao bn (s lan truyn cp nht). iu khin tng tranh. Vic qun l khi phc giao tc. Trong mt h thng phn tn, mt i tng d liu c th c m t ti nhiu v tr. Chc chn rng cc cp nht bt k m t ti bt k v tr c lan truyn ti ton b cc v tr khc l trch nhim ca cc c ch sao bn ca Oracle. My ch Oracle cung cp mt vi phng php cho s sao bn d liu. Snapshot ch c. Symmetric replication facility. -Snapshot cp nht c. -N-way master replication. Mt snapshot l mt bn sao y ca mt bng, hoc mt tp bng nh x trng thi gn nht ca mt bng ch (mt bng trn nt c ch ra nh nt ch). Snapshot cp nht c c th nh x cp nht a phng v do ci thin thi gian tr li bi trnh tc nghn mng. Tuy nhin phi c mt c ch m bo cp nht a phng khng b mt khi snapshot c lm ti t bng 57

VieBooks

ch. Symmetric replication facility ca Oracle cung cp c ch ny. N cho php nhiu bn sao ca d liu c bo qun ti cc v tr khc nhau trong h phn tn. iu khin tng tranh: Trong mt h phn tn, c kh nng rt ln l c nhiu hn mt ngi s dng thc hin cng mt lc cc giao tc cp nht vo cng mt d liu. Oracle cung cp c ch kho qun l truy nhp nhiu ngi vo cng mt d liu. C ch kho c th dn n mt kho cht. Oracle pht hin kho cht a phng bng cc th i (LWFG). V kho cht ton cc c pht hin bng mt thi gian qu hn (time-out). Qun l giao tc phn tn: Oracle s dng giao tc chuyn giao hai pha. Gm pha chun b v pha chuyn giao. S dng c ch qun l giao tc: Oracle7 iu khin v gim st mt cch t ng chuyn giao hoc rollback ca mt giao tc cp nht phn tn v m bo tnh ton vn d liu ca CSDL ton cc. C ch ny hon ton trong sut i vi ngi dng v cc ng dng. C ch chuyn giao hai pha s m bo ton b v tr tham gia trong mt giao tc phn tn chuyn giao hoc rollback, iu ny m bo tnh ton vn ca CSDL ton cc. C ch qun l giao tc c s dng ch khi mt thay i cp nht bao gm hai hoc nhiu CSDL trong h phn tn, hoc c li gi th tc xa (tham chiu n mt i tng xa s dng tn i tng ton cc ca n). Khi mt v tr l ch c, Oracle t ng ghi iu , v v tr ny khng cn tham gia vo cc pha chun b v chuyn giao. Ton b cc thay i ngm c thc hin thng qua cc rng buc ton vn, cc li gi th tc xa, v cc trigger cng c bo h bi c ch qun l giao tc phn tn ca Oracle7. Pha chun b v pha chuyn giao: Pha chun b: v tr iu phi hi cc v tr tham gia c ca cc v tr tham gia (chuyn giao hay loi b giao tc). Cc v tr tham gia c th tr li mt trong ba c sau: *0 Prepared: D liu va c sa i bi mt cu lnh trong giao tc phn tn, v v tr hon thnh chun b. *1 Read-only: Khng c d liu no ti v tr hoc c th c sa i, do khng c chun b no l cn thit. *2 Abort: V tr khng hon thnh chun b. 58

VieBooks

hon thnh pha chun b mi v tr phi thc hin cc hnh ng sau: Hi cc v tr con ca n chun b. Kim tra xem giao tc tay i d liu ti v tr hoc bt k v tr con no ca n khng. Nu khng c cp nht, v tr ny b qua cc bc tip theo v gi mt thng bo ch c. V tr ch ra (phn phi) ton b d liu n cn chuyn giao giao tc nu d liu c cp nht. V tr y (flushes) bt k s ghi no tng ng cc thay i lm bi giao tc vo nht k redo a phng. V tr m bo rng cc kho nm gi cho giao tc l c th tip tc tn ti sau mt li. V tr tr li v tr tham kho n trong giao tc phn tn vi mt c Prepared hoc c Abort. Khi mt nt khng th hon thnh chun b n thc hin cc hnh ng sau: V tr gii phng cc kho ang c nm gi bi giao tc v rollback phn a phng ca giao tc. V tr tr li v tr tham kho n trong giao tc phn tn mt c Abort. Pha chuyn giao: Trc khi pha ny xy ra, ton b cc v tr tham kho trong giao tc m bo rng chng c cc ti nguyn cn thit chuyn giao tc. V tt c hon thnh pha chun b. Pha chuyn giao bao gm cc bc sau: V tr iu phi ton cc gi cc thng bo yu cu chuyn giao ti tt c cc v tr. Ti tng nt, Oracle7 chuyn giao phn cc b ca giao tc phn tn: gii phng cc kho, ghi cc s ghi vo nht k redo a phng, ch ra rng giao tc hon thnh. Cy phin (Sesion tree): Oracle7 nh ngha mt cy phin ca ton b cc v tr tham gia trong giao tc. Mt cy phin l mt m hnh phn cp 59

VieBooks

m t cc mi quan h gia cc phin v cc vai tr ca chng. Tt c cc v tr tham gia trong mt cy phin ca mt giao tc phn tn mang mt hoc nhiu vai tr: Client. My ch CSDL. iu phi ton cc. Commit point site. Vai tr mt trong giao tc phn tn xc nh bi: C khng giao tc l a phng hoc xa. Commit point strength ca nt . C khng ton b d liu cu hi l sn sng ti mt nt, hoc c khng cc nt khc cn c tham kho hon thnh giao tc. C khng nt ch c.
IN E TIN Ood r ...; S R T r es U D T in e t r @ ae o s ...; P A E v noy wr h ue U D T acs e @ a c ...; P A E c t _r c fin n e ... C M IT OM ;

S LE .A M . A S C E CM O

Vr up t c c t i h i o n Vr m h y ng o t i c u ia M yc C D h SL W R H UE A E O S. A M .C M C E O F A C. IN N E A M .C M C E O C n lie t

Hn M tv d v mtc yp in h h

My ch v my ch CSDL: Mt my ch l mt nt ch dn trc tip mt giao tc phn tn hoc c hi ti nt tham gia trong mt giao tc v nt khc yu cu d liu t CSDL c gi l my ch CSDL. Cc iu phi cc b: Mt nt phi ch dn trn cc nt khc hon thnh phn ca n trong giao tc phn tn c gi l nt iu phi. Mt nt iu phi cc b c trch nhim cho vic iu phi giao tc gia cc nt n lin kt trc tip bi: *3 Nhn v truyn thng tin trng thi giao tc ti v t cc nt ny. 60

VieBooks

*4 Chuyn cc cu hi ti cc nt ny. *5 Nhn cc cu hi t cc nt v chuyn chng n cc nt khc. *6 a li kt qu ca cc cu hi cho cc nt khi to ra chng. iu phi ton cc: Nt m ti giao tc bt u (nt ng dng CSDL u ra giao tc phn tn trc tip kt ni) c gi l iu phi ton cc. Nt ny s tr thnh gc ca cy phin. iu phi ton cc thc hin cc thao tc sau trong qu trnh mt gioa tc phn tn: Ton b cc lnh ca mt giao tc phn tn, Cc li gi th tc xa, ... c gi bi v tr iu phi ton cc ti trc tip cc nt ch dn. Theo cc hnh thnh cy phin. V tr iu phi ton cc ch dn ton b cc nt ch dn khc v tr im chuyn giao (commit point site) chun b giao tc. Nu ton b cc nt hon thnh chun b, v tr iu phi ton cc ch dn v tr im chuyn giao khi to chuyn giao ton cc giao tc. Nu c mt thng bo Abort, v tr iu phi ton cc ch dn tt c cc nt khi to rollback giap tc. V tr im chuyn giao: Cng vic ca v tr im chuyn giao l khi to chuyn giao hoc rollback nh ch dn ca v tr iu phi ton cc. Ngi qun tr h thng lun lun ch ra mt nt l v tr im chuyn giao trong cy phin bng vic phn chia tt c cc nt mt commit point strength. Nt c chn nh v tr in chuyn giao c th l nt lu tr d liu ti hn (d liu c s dng rng khp). V tr im chuyn giao l ring bit vi vi tt c cc nt khc lin quan n mt giao tc phn tn: V tr im chuyn giao khng bao gi vo trng thi chun b. iu ny n cha mt thun li v n lu tr hu ht cc d liu ti hn, d liu khng bao gi li trong tnh trng nghi vn, mc d mt li xut hin (Trong tnh hung li, cc nt li cn trong trng thi chun b nm gi cc kho cn thit trn d liu n khi s nghi ng c gii quyt.) Hu qu ca giao tc phn tn ti v tr im chuyn giao xc nh c hay khng giao tc ti tt c cc nt chuyn giao hoc rollback. V tr iu phi ton cc chc 61

VieBooks

chn rng ton b cc nt hon thnh giao tc cch tng t v tr im chuyn giao lm. Mt giao tc phn tn c cn nhc c chuyn giao mt ln tt c cc nt c chun b v giao tc chuyn giao ti v tr im chuyn giao (mc d mt vi nt tham gia c th vn trong trng thi chun b v giao tc vn cha thc s chuyn giao). Nht k redo ca v tr im chuyn giao c cp nht sm nh c th giao tc phn tn c chuyn giao ti nt ny. Ngc li, mt giao tc phn tn c cn nhc khng chuyn giao nu n khng c chuyn giao ti v tr im chuyn giao. Commit point Strength: Mi nt hnh ng nh mt my ch CSDL phi c phn chia mt Commit point Strength. Nu mt my ch CSDL c ch dn trong mt giao tc phn tn, gi tr Commit point Strength ca n xc nh vai tr n thc hin trong cc pha chun b v chuyn giao. c bit Commit point Strength xc nh c khng mt nt l v tr im chuyn giao trong giao tc phn tn. Gi tr ny c xc nh s dng tham s khi to COMMIT_POINT_STRENGTH. V tr im chuyn giao c xc nh ti lc bt u pha chun b.V tr im chuyn giao ch c chm t cc v tr tham gia giao tc. Mt khi n c xc nh, v tr iu phi ton cc s gi thng bo ti tt c cc v tr tham gia. Trong cc nt c ch dn trc tip bi v tr iu phi ton cc, nt vi Commit point Strength cao nht c chn. Sau , khi to nt c chn xc nh nu bt k mt my ch ca n (cc nt khc m n ly thng tin t cho giao tc ny) c mt Commit point Strength cao hn. Mi nt vi Commit point Strength cao nht c ch dn trc tip trong giao tc, hoc mt trong cc my ch ca n c t cao hn tr thnh v tr im chuyn giao.

62

VieBooks S LE .A M . A S C E C M(1 0 O 4)

W R H UE A E O S .A C E O (1 0 M .C M 4 )

H .A M .C M(1 5 Q C E O 6)

F A C .A M .C M(4 ) IN N E C E O 5

H .A M .C M(4 ) R C E O 5

Hn C cC m itp in Sr n t v x chv t i c u g o o m o t t e gh r m h y n ia h n

Cc iu kin sau p dng khi xc nh v tr im chuyn giao: Mt nt ch c khng th c ch nh nh mt v tr im chuyn giao. Nu nhiu nt c ch dn trc tip bi v tr iu phi ton cc c cng Commit point Strength, Oracle7 s ch nh mt trong cc nt ny nh v tr im chuyn giao. Nu giao tc phn tn kt thc vi mt rollback, cc pha chun b chuyn giao l khng cn, do mt v tr im chuyn giao khng bao gi c ch ra. Thay th, v tr iu phi ton cc gi mt lnh ROLLBACK ti ton b cc nt v kt thc tin trnh ca giao tc . Commit point Strength ch xc nh v tr im chuyn giao trong mt giao tc phn tn. V v tr im chuyn giao lu tr thng tin v trng thi ca giao tc, v tr im chuyn giao khng th l mt nt thng xuyn khng tin cy hoc khng sn sng trong trng hp cn thng tin v trng thi ca giao tc. Cc s giao dch h thng: Mi giao tc chuyn giao c mt s giao dch h thng c kt ni (SCN) nh danh duy nht cc thay i c lm bi cc cu lnh SQL trong giao tc. Trong mt h phn tn, cc s SCN ca kt ni cc nt c iu phi khi: Mt kt ni xy ra s dng ng dn c miu t bi mt hoc nhiu database link. Mt cu lnh SQL thc hin. Mt giao tc chuyn giao.

63

VieBooks

Vic iu phi cc SCN gia cc nt ca h phn tn cho php c xc thc phn tn ton cc c hai mc cu lnh v mc giao tc. Trong pha chun b, Oracle7 xc nh SCN cao nht ti ton b cc nt lin quan trong giao tc. Giao tc sau chuyn giao vi SCN cao nht ti v tr im chuyn giao. SCN chuyn giao l sau khi gi ti tt c cc nt chun b vi quyt nh chuyn giao. Cc giao tc phn tn: C ba trng hp trong ton b hoc mt phn giao tc phn tn l ch c: Mt giao tc phn tn c th l ch c mt phn nu: -Ch cc cu hi c da ra ti mt hoc nhiu nt. -Cc cp nht khng sa i bt k mt bn ghi no. -Cc cp nht rollback do cc s vi phm cc rng buc ton vn hoc cc trigger being fired. Trong tng ny trng hp, cc nt ch c cng nhn s kin ny khi chng c hi thc hin pha chun b. Chng tr li tng v tr iu phi cc b vi c read-only. Bi vic lm ny, pha chuyn giao nhanh hn v Oracle loi tr cc nt ch c t tin trnh sau. Giao tc phn tn c th l hon ton ch c (khng d liu no c thay i ti bt k nt no) v giao tc khng c bt u vi cu lnh SET TRANSACTION READ ONLY. Trong trng hp ny, tt c cc nt cng nhn chng ch c trong pha chun b, v pha chuyn giao khng c yu cu. Tuy nhin, v tr iu phi ton cc, khng bit c hay khng ton b cc nt ch c, vn phi thc hin cc thao tc lin quan trong pha chuyn giao. Giao tc phn tn c th hon ton ch c (ton b cc cu hi ti tt c v tr) v giao tc khng c bt u vi cu lnh SET TRANSACTION READ ONLY. Trong trng hp ny, ch cc cu hi c php trong giao tc, v v tr iu phi m nhn pha chun b v pha chuyn giao. Cc cp nht bi cc giao tc khc khng lm suy gim tnh c xc thc (read consistency) mc giao tc ton cc, v n c m bo tnh nguyn t bi iu phi ca cc SCN ti tng nt ca h phn tn. Gii hn s giao tc trn tng nt: 64

VieBooks

Tham s khi to DISTRIBUTED_TRANSACTION iu khin s cc giao tc c th trong mt instance qui nh kim v tr tham gia, c nh mt client v mt server. Nu gii hn ny c t ti v mt ngi s dng sau c gng a ra mt lnh SQL tham kho mt CSDL xa, lnh ny c rollback v mt thng bo li c tr li: ORA-2024: too many global transactions. Cc vn cp nht phn tn: Mt mng hoc mt h thng li c th dn n cc vn sau: Chun b/Chuyn giao ang thc hin mt li xy ra c th cha c hon thnh ti ton b cc nt ca cy phin. Nu mt li vn cn (v d nu mng hng trong thi gian di), d liu dnh ring c kho bi cc giao tc trong nghi ng (in-doubt transaction) l khng sn sng cho cc cu lnh ca cc giao tc khc. Cc li cm truy nhp d liu: Khi mt ngi s dng a ra mt cu lnh SQL, Oracle7 c gng kho cc ti nguyn c yu cu thc hin thnh cng cu lnh ny. Tuy nhin, nu cc d liu c yu cu ang c nm gi bi cc cu lnh ca cc giao tc cha chuyn giao khc v tip tc c kho trong tng s thi gian qu mc, mt qu hn thi gian xy ra. Xem xt hai hon cnh sau: Giao tc qu hn thi gian: Mt cu lnh DML SQL yu cu kho trn CSDL xa c th b tc nghn t vic lm nh vy nu mt giao tc (phn tn hoc khng phn tn) ang lm ch cc kho trn d liu c yu cu. Nu cc ny tip tc lm tc nghn yu cu ca cu lnh SQL, mt thi gian qu hn xy ra, cu lnh c rollback, v mt thng bo li c tr li ngi s dng. Khong thi gian qu hn c iu khin bi tham s khi to DISTRIBUTED_LOCK_TIMEOUT (n v tnh l giy). In-doubt: Mt truy hi hoc mt cu lnh SQL yu cu cc kho trn mt CSDL cc b c th b tc nghn t vic lm khng r hn nh ti cc ti nguyn b kho ca mt giao tc phn tn cn nghi ng. Trong trng hp ny, cu lnh SQL rollback ngay lp tc. Overriding In-doubt Transaction: 65

VieBooks

Mt ngi qun tr CSDL c th hiu lc th cng chuyn giao hoc rollback ca mt giao tc phn tn In-doubt. Tuy nhin, mt giao tc In-doubt xc nh l th cng c hiu lc cao hn ch khi cc tnh hung sau tn ti: Giao tc in-doubt kho d liu c yu cu bi cc giao tc khc. Mt giao tc in-doubt ngn chn khong rng mt on rollback c s dng bi cc giao tc khc. Phn u ca mt ID giao tc a phng ca giao tc phn tn In-doubt giao tip vi ID ca on rollback, nh c lit k bi cc view t in d liu DBA_2PC_PENDING v DBA_ROLLBACK_SEGS. Li khng cho php cc pha chun b v chuyn giao hon thnh s khng c chnh xc trong mt giai on c chp nhn. Bnh thng, mt quyt nh hiu lc a phng mt giao tc phn tn In-doubt c th c lm trong vic tham kho vi cc ngi qun tr ti cc cc a phng khc. Mt quyt nh sai c th dn n CSDL khng thun nht iu rt kh tm vt v bn phi thao tc chnh xc. Nu iu kin trn khng c p dng, lun lun cho php cc khi phc mt cch t ng hon thnh giao tc. Tuy nhin, nu bt k mt chun trn c gp, ngi qun tr c th xem xt mt a phng c quyn cao hn ca mt giao tc In-doubt. Nu mt quyt nh c lm hiu lc a phng giao tc hon thnh, ngi qun tr CSDL phn tch thng tin sn sng vi cc ch sau: C gng tm mt nt chuyn giao hoc rollback giao tc. Nu c th tm thy mt nt sn sng gii quyt giao tc, sau c th hnh ng ti nt ny. Xem bt k thng tin c gi trong ct TRAN_COMMENT ca DBA_2PC_PENDING cho giao tc phn tn. Xem thng tin bt k thng tin c gi trong ct ADVICE ca DBA_2PC_PENDING cho giao tc phn tn. mt ng dng c th ch ra li khuyn c hay khng hiu lc chuyn giao hoc rollbackca cc phn ring r ca mt gia tc phn tn vi tham s ADVICE ca cu lnh SQL ALTER SESSION. Override: Cc c im khi phc giao tc phn tn:

66

VieBooks

Nu mun, c th hiu lc li ca mt giao tc phn tn quan st RECO, gii quyt mt cch t ng phn a phng ca mt giao tc. s dng tham s COMMENT ca cu lnh COMMIT vi c php: COMMIT COMMENT ORA-2PC-CRASH-TEST-n; vi n l mt trong cc s sau: n Tc dng 1 v v tr im chuyn giao sau tp hp. 2 v v tr khng phi v tr im chuyn giao sau tp hp. 3 v trc prepare (khng phi v tr im chuyn giao). 4 v sau prepare (khng phi v tr im chuyn giao). 5 v tr im chuyn giao trc commit. 6 v tr im chuyn giao sau commit. 7 v v tr khng phi v tr im chuyn giao trc commit. 8 v v tr khng phi v tr im chuyn giao sau commit. 9 v v tr im chuyn giao trc forget. 10 v v tr khng phi v tr im chuyn giao trc forget.

II/Mi trng sao bn trn Oracle7: 1/Gii thiu: Vn sao bn d liu l mt trong nhng c trng c bn ca cc ng dng phn tn. N c ngha l t mt bn CSDL tp chung u tin ngi ta tin hnh copy ra mt s bn sao (nh) cn thit, v t chng ti cc v tr thch hp trong mng my tnh phc v nhu cu phn tn d liu. Mi trng sao bn c nh ngha l tp hp cc i tng c sao bn, cc nh, v cc phng php thc hin vic sao bn. Khi to mt mi trng sao bn chng ta phi quan tm ti cc vn sau:

67

VieBooks

-Trc tin phi xc nh r cc i tng m ta mun sao bn. Cc i tng phi l thnh vin ca mt nhm sao bn. Mt nhm sao bn c th bao gm cc i tng t nhiu lc , nhng mi i tng c th ch thuc v mt nhm i tng. -Tip theo, ta phi xc nh ni ta mun c cc sao bn. Ta cng cn xc nh v tr no s l v tr ch cha tt c cc sao bn, v xc nh v tr no l v tr Snapshot s cha ng mt tp con cc sao bn. -Xc nh cch thc m Oracle dng truyn i cc thay i gia cc v tr sao bn -ng b hay khng ng b. Nu chn phng php khng ng b ta phi xc nh thng xuyn ta mun truyn i cc thay i nh th no. -Cui cng, ta phi phn quyn d liu, ngn nga xung t khi cp nht, hoc ta phi chn mt phng php gii quyt cc xung t. Tuy nhin, nu tt c cc v tr ch v Snapshot u truyn cc thay i ca mnh theo phng php ng b th ta khng phi quan tm n vn xung t. Sau khi xc nh c cc i tng mun sao bn, ta phi c cc quyn cn thit to cc i tng ti mi v tr. Hn na khi xc nh c cc v tr s to nn mi trng sao bn, ta phi chc chn rng cc v tr c th lin lc vi nhau bng vic to ra cc CSDL kt ni cn thit. C ba phn cp dnh cho ngi s dng nh sau: *7 Ngi qun tr sao bn: To ra cu hnh v bo tr mi trng sao bn. Ta c th to mt ngi qun tr sao bn t ngi qun tr tt c cc i tng ti mt v tr, hoc ta c th c nhiu ngi qun tr khc nhau cho cc i tng sao bn trong tng lc . to qun tr sao bn cho cho mt lc n, gi th tc DBMS_REPCAT_ADMIN.GRANT_ADMIN_REPGROUP. V d: To quyn qun tr sao bn cho User ACCTNG trong lc ACCTNG. DBMS_REPCAT_ADMIN.GRANT_ADMIN_REPGROUP (userid => 'acctng'); C th to qun tr sao bn cho tt c cc nhm sao bn (c hiu l qun tr sao bn tng th) bng cc thao tc sau: -To ti khon qun tr sao bn. V d: CREATE USER repadmin IDENTIFIED BY repadminpasword;

68

VieBooks

-Cho qun tr sao bn nhng quyn cn thit ca qun tr sao bn tng th bng cch gi th tc DBMS_REPCAT_ADMIN.GRANT_ADMIN_ANY_REPGROUP. V d: DBMS_REPCAT_ADMIN.GRANT_ADMIN_ANY_REPGROUP (userid => 'repadmin'); -Ngoi ra c th thm cc quyn qun tr khc nu cn thit. *8 Symmetric replication faclity: Bo m s hot ng ca sao bn nh SYS v phi thc hin trn cc v tr xa. *9 Ngi s dng: Gi cc yu cu v cp nht vo cc i tng sao bn. Thc cht, cc i tng c sao bn l do cc bn SQL DDL ca chng c sao bn. Trong mt mi trng sao bn, mi v tr cha mt bn sao cc d liu cn thit cho cc chc nng ca n thc hin, cng tn ti nhiu v tr c cc bn sao ca cng mt d liu. Vic bo v nhiu bn sao d liu ti cc v tr yu cu mt h thng ln hn, v i hi phi c s ph hp trong vn yu cu cc a phng truy nhp ti d liu t nhiu a im, l vic gii quyt cc xung t trong khi thao tc vi d liu ca H CSDL phn tn. 2/Cc khi nim c bn v Sao bn. a.Sao bn c s: Sao bn c s l sao bn s dng cc Read-only Snapshot v tun theo mt dng ca v tr sao bn u tin. D liu cc Read-only Snapshot s c nh k lm ti, qu trnh ny c so snh tng t nh vic cp nht cc thay i v d liu t bng CSDL chnh ca cc Read-only Snapshot. Ton b qu trnh c th hin qua Hnh 1:

69

VieBooks S LE T E C .. F O .. ; RM

Sas o L g nph t o

Bn c g h

Bn c g h

CD SL

M g n

Hn 1 S ob nC D c s t o gOale : a S L r n r c h

b.Cc nhm sao bn (Replication Groups): Mt i tng sao bn (Replication Object): L mt phn CSDL c sao ti mt hay nhiu v tr trong h thng phn tn. Cc nhm sao bn: -L n v c bn cho vic iu khin v qun l tin trnh sao bn. -L c trng to ra bi ngi qun tr sao bn cho ton b cc i tng sao bn l: Kt hp mt c tnh ng dng v c sao bn ti mt tp cc v tr. Oracle s dng ngn ng thao tc d liu (Data Manipulation Language : DML) thay i tng sao bn trong mt giao tc m bo yu cu v tnh ton vn d liu gia cc bng. Oracle cho php sao bn: Cc bng. Cc i tng cha cc bng: Views, Trigges, Packages, Indexes, Sequences, Synonyms. Ngoi ra, Oracle cho php nh ngha, sao bn, v qun l cc nhm sao bn ca cc i tng nh mt n v chng trnh. C cc ch l: -Cc thnh vin ca mt sao bn nhm c th ni qua nhiu lc v ngc li, mt lc c th cha nhiu cc sao bn nhm. -Mt sao bn i tng c th l thnh vin ca ch mt sao bn nhm. 70

VieBooks

c.Cc v tr sao bn (Replication Sites): Mt nhm sao bn c th c sao t mt hoc nhiu v tr sao bn. C hai vn c bn cho cc v tr sao bn l: -Cc v tr ch (Master sites): Phi cha mt bn sao y ca tt c cc i tng trong sao bn nhm. Mi v tr ch s chuyn cc thay i ca n ti v tr ch khc cho cc nhm sao bn. -Cc v tr Snapshot (Snapshot sites): L v tr c th cha mt hay mt tp cc i tng trong nhm sao bn. Cc v tr Snapshot phi c s cng tc vi v tr ch (mc d v tr ch ny c th thay i nu cn thit) v khng ging cc v tr ch, cc v tr Snapshot ch nhn s thay t v tr ch cng tc (K thut truyn cc thay i gia v tr ch v v tr Snapshot s c gii thch k hn trong phn sau). Cc nhm sao bn phi c mt v ch mt nh ngha v tr ch. S nh ngha v tr ch c s dng nh cch iu khin cho hot ng qun l thc hin, v cc v tr ch c th c nh ngha t bt k v tr no trong h thng. Hnh 2 th hin mt sao bn c th tham d trong nhiu nhm sao bn. V tr A l Snapshot cho 3, l nh ngha v tr ch cho 2, v l v tr ch cho 1.
M i t gs ob n r n a N 1 hm v th r c N 1 hm hn hav t h g r c n M i t gs ob n r n a N 2 hm hn hav t h g r c n M i t gs ob n r n a N 3 hm v t n ph t r s a s o v t r A N 3 hm hn hav t h g r c n v t r B v t r C N 2 hm v t h r c N 1 hm v t n ph t r s a s o

C v t a bn c r s o Hn 2C cv t a b nt o gmi t gs ob n r s o r n r n a h

71

VieBooks

d.Danh mc sao bn: Sao bn s dng mt danh mc sao bn thng tin, ging nh cc i tng c sao bn, ni chng c sao bn v cp nht nh th no cn c truyn ti danh mc sao bn , t cc bng d liu c th quay tr li v tm c. 3/Phn loi mi trng sao bn: a.n ch vi nhiu v tr Read-only Snapshot: C ngha l t mt CSDL chnh, ngi ta tin hnh to ra cc Read-only Snapshot khc nhau, v cc bng chnh c quyn truy nhp a phng cho nhiu v tr Read-only Snapshot . b.a sao bn ch: T mt v tr ch ngi ta sao bn CSDL ra lm nhiu bn v nh v vo cc v tr m t s c mt tp hp cc v tr khc sao bn d liu t n. Ton b cc bng ch ti tt c cc v tr c th c cp nht. Khi c s thay i t mt bng ch, thay i s c truyn chnh xc ti tt c cc bng ch khc theo phng thc ng b hoc khng ng b.
A C s hm C T ce a A C _R C CT E r pgo p e ru V t h r c

A C s hm C T ce a A C _R C CT E r pgo p e ru V t h r c

A C s hm C T ce a A C _R C CT E r pgo p e ru Vr c t h

Hn 3 as ob nc : h a h

c.n ch vi a v tr Updatable Snapshot: Nhiu v tr Updatable Snapshot c th s dng thng tin t mt v tr ch n (hnh 4). Tuy nhin cc yu cu c a vo theo th t v c x l ti cc v tr c nh.

72

VieBooks

Mt Updatable Snapshot c lm ti t bng ch trong mt giao tc thng nht. Cc thay i t Updatable Snapshot c th c tin hnh t bng ch l ng b hoc khng ng b. Ngoi ra cc thay i ngay trn cc Updatable Snapshot cng c gi ti v tr ch, tuy nhin Oracle 7 cha h tr vic to cc Updatable Snapshot.
H a q at r ed ur es Odr Mse T b r es at r a le od r o c s_n r e_n ut o 59 7 12 6 62 3 14 6 10 01 13 6 12 03 18 6 26 08 15 6 Sobn a N r hr r g n ot en e io Odr U dt b S a s o r es p ae le nph t Od r o r e_n C s_n ut o 59 7 12 6 62 3 14 6 . . . E senr g n at r e io Odr U dt b S a s o r es p aa le nph t Od r _n r es o C s_n ut o 10 01 13 6 12 03 18 6 . . .

Hn 4 v t p aa leS a s o s d n t gt t mtb n c :C c r U d t b n ph t g h n in g h h

d.n ch vi nhiu v tr Read-Only Snapshot v a sao bn ch: L s kt hp gia sao bn nhiu bn chnh v nhiu cc v tr Read-only Snapshot.

73

VieBooks

N s obn hm a

N s obn hm a

V t h r c
N s obn hm a Vr S a s o t n ph t N s obn hm a Vr S a s o t n ph t Hn 5D gp at n h r n h

V t h r c
N s obn hm a Vr S a s o t nph t

a sao bn Snapshot ch l: C mt s v tr Snapshot ch, bng y v tp cc bng sao bn c th c kt hp trong mt h thng. Hnh 5 th hin a sao bn gia hai Snapshot ch c th cha sao bn bng y gia hai v tr ch cha hai min. Cc Snapshot c th c nh ngha trn cc Snapshot ch t cc bng sao bn y hoc tp cc bng t cc v tr thuc cc min. Li ch ca a sao bn: Cc Snapshot c th c iu khin t cc v tr ch khc. Nu mt v tr ch b li, cc Snapshot c th c lm ti t v tr ch khc v tip tc qu trnh x l. e.S khc nhau gia Updatable Snapshot v cc sao bn ch: -Cc sao bn ch phi gm d liu ca mt bng y c sao bn. Cc Snapshot c th sao bn cc tp con d liu ca bng ch. -Nhiu sao bn ch cho php sao bn cc thay i cho mi giao tc nh chng tm thy, trong khi cc Snapshot l tp c nh, lan truyn thay i t nhiu giao tc hiu qu hn. -Nu cc mu thun xy ra nh kt qu ca cc thay i ti nhiu bn sao ca cng d liu, cc mu thun c tm ra v gii quyt bi cc v tr ch. 4/Lan truyn s thay i gia cc sao bn: a.Gii thiu: Khi thay i mt i tng trong mi trng sao bn, thay i ny ngay lp tc s c lan truyn ti tt c cc v tr ch, cc v tr Snapshot cng c thay i tng ng. La chn 74

VieBooks

gia hai phng php: Phng php khng ng b v phng php ng b chnh l s la chn gia nhng thuc tnh sn c v nhng thuc tnh phc tp hn. C hai phng php ng b v khng ng b u c u im ring theo yu cu v cc bn sa i a phng ca d liu. Vi mi trng ng b bn c th cp nht d liu ti tt c cc v tr, cc mu thun cp nht khng bao gi xy ra. Vi mi trng khng ng b, u im l s dng nhng thuc tnh sn c. Khng c s ph thuc vo cc thay i mt v tr khc. Nu c mt v tr b li bn c th chuyn ti v tr khc v tip tc lm vic. Nhng vn bn cn s xc nh bi mt phng php truyn thch hp. b.Phng php ng b: C cc c im l: -S thay i ti cc v tr s lp tc phn x ti v tr ca bn. -Mc d trong mi trng sao bn, mt d liu c th c cp nht ti nhiu v tr, chng ta khng phi quan tm n cc mu thun s xut hin trong qu trnh cp nht. -Nu bn bit khi h thng mng b li ti mt v tr sao bn, cc thay i s c truyn ng b, bn s khng thc hin c vic cp nht a phng cho n khi li mng c khc phc hoc g b cc v tr li trong mi trng sao bn. -Thi gian tr li cc thay i c th chm hn, v phi tr li t tt c cc v tr trc khi chuyn giao hoc quay li mt giao tc. -Cc th tc truyn d liu ng b l tu chn cho cc mi trng vi d liu Read-Often/Write-Occasionally. c.Phng php khng ng b: C cc c im l: -Li ti cc v tr hoc li mng khng lm Snapshot hng cc v tr khc. -Kh nng chu li c th lin quan n mt s nhim v quan trng. -Thi gian p ng cc thay i c ci thin hn so vi phng php ng b v khng phi i p ng t mt v tr xa. -Lm chm cc giao tc c lan truyn ti bt c khong cch. 75

VieBooks

-Thay i ti cc v tr khng ngay lp tc phn x ti v tr ca bn, kt qu tm thi mu thun gia cc sao bn. -Mu thun thay i c th lm ti nhiu v tr. Cc mu thun s khng c tm ra trong khi cc thay i c truyn. d.Lan truyn s thay i v tr d liu khng ng b: ORACLE s dng hai k thut chnh lan truyn ti s thay i v tr d liu gia cc sao bn l: Lm chm cc giao tc, v lm ti Snapshot. d1.Lm chm cc giao tc: Cho nhiu sao bn ch v sao bn t Updatable Snapshot ti cc v tr ch. ORACLE sinh ra mt Trigger v th tc lu tr bng cha sao bn ca cc v tr d liu b thay i. Khi c mt thay i a phng cc th tc c gi v thc hin vic cp nht cc thay i. d2.Lm ti Snapshot: Cc Snapshot s dng k thut lm chm giao tc c miu t trong phn trc lan truyn v tr d liu ti cc Updatable Snapshot t cc bng chnh ca chng. Lan truyn cc thay i t bng chnh ti cc Read-Only Snapshot hoc Updatable Snapshot, ORACLE s dng k thut lm ti Snapshot thay cho vic sao bn v tr hng. Thc hin lm ti Snapshot: -Mt thay i ti v tr ch t khi Snapshot c to hoc c lm ti trc c truyn ti Snapshot. -S thay i cc giao tc c lan truyn c hiu qu, x l nh hng tng t. V Snapshot l mt n v c s c sao hoc lm ti, nn nu mun lm ti hai hoc nhiu Snapshot cng mt thi im th ta ch cn to ra mt nhm cc Snapshot c lm ti (Snapshot Refresh Groups). e.K thut sao bn lun phin: Kt hp vi phng php lm chm giao tc v lm ti Snapshot, ORACLE cung cp hai phng php lun phin cho vic truyn s thay i v tr d liu gia cc sao bn: Sao bn v tr hng ng b, sao bn th tc. Sao bn ng b s dng nh sao bn v tr hng, truyn cc thay i v tr d liu nh k thut lm chm giao tc 76

VieBooks

nhng khng s dng hng i lm chm giao tc. Hnh 7: Khi c s thay i t mt sao bn bng, ORACLE kch hot mt Trigger. Trigger gi cc th tc thc hin ti mi v tr ch tng ng vi cc thay i.
S uc D t bs o r e aa ae
N s obnA C N hm a C T G

D sint nD t bs et aio aa ae
N s obnA C N hma C T G

S ht t c in h Ta hy i C cl i S ob nb n a g E P M S ht ig e in r g r

G i t t cx h a C cl i

S ht t c in h S ob nbn a g E P M S ht ig e in r g r

Hn 7T u s t a v t u g h r y n hy r d li i n b Cc thay i thnh cng gn vi bng a phng v

mt sao bn chp t bng a phng . Sao bn ng b l c ch khi mng my tnh n nh v yu cu v tr sao bn cn li tip tc c sao bn ng b. Sao bn th tc: Gi th tc lu tr c s dng cp nht d liu. Sao bn th tc khng sao bn cc bng t cp nht. f.La chn phng php lan truyn: Khi thm mt v tr CSDL mi, ta phi la chn cho n mt phng php lan truyn ngm nh v phng php lan truyn ny s xc nh cch thc v tr mi ny s nhn v gi i cc thay i t tt c cc v tr khc, v th t v tr c thm vo l rt quan trng. Ta c th thay i bng mt phng php lan truyn khc khi cn bng cch gi DBMS_REPCAT.ALTER_MASTER_PROPAGATION. V d: DBMS_REPCAT.ALTER_MASTER_PROPAGATION (gname => ' acct ' , master => ' site_a' , dblink_list => ' site_b, site_c , propagation_mode => ' Synchronous ') ;

77

VieBooks

III/Cc Read-Only Snapshot: 1/Cc khi nim c bn v Snapshot. a.Snapshot: L mt yu cu phn tn tham chiu ti mt hay nhiu bng chnh, cc View, hoc cc Snapshot khc. Mi sao bn ca bng chnh c gi l mt Snapshot v thng tin c c ti bt k thi im no c th nh k c "lm ti ", ngha l n c trng thi tng t trng thi mi nht ca bng chnh. -Snapshot n: L Snapshot cn c trn mt bng n l xa v khng km theo: S khc bit hoc tp hp cc hm; Cc nhm (GROUP BY) hay s kt ni (CONNECT) bi cc mnh , tp cu hi, cc kt ni, hoc tp cc php tnh ton. Ngc li mt Snapshot bao gm cc mnh hoc cc php tnh c gi l mt Snapshot hon chnh. -Read-only Snapshot: L mt bn sao y ca mt bng hay mt tp cc bng. N l s phn nh y tnh trng mi nht ca bng chnh. -Snapshot Updatable: C th sa i bn sao ca bng ch v c nh ngha bao hm bn sao y ca bng ch hoc tp cc hng trong bng ch. b.u im ca cc Read-Only Snapshot: Vic bo tr cc Read-Only Snapshot ca bng chnh gia cc trm ca CSDL phn tn l hu ch v: +Cc cu hi c th c a ra tri ngc cc Snapshot a phng, kt hp vi thc hin cu hi l nhanh d liu c yu cu khng phi chuyn qua mng. +Nu v tr ch khng c gi tr v mng b li chng hn, bn c th tip tc lm vic vi cc bn Read-Only Snapshot ca d liu ny. c.Bng so snh Read-Only Snapshot v Updatable Snapshot: Read-Only Snapshot Ch cho cc yu cu Loi Snapshot n gin hoc hon chnh Updatable Snapshot Cho cc yu cu v cp nht Loi Snapshot n gin

78

VieBooks

2/Cc thao tc chnh vi Read-Only Snapshot. a.Quy tc t tn cho Snapshot: Cc Snapshot c lu tr trong luc v ngi s dng v vy tn ca cc Snapshot phi l duy nht. Mc d tn ca Snapshot c th di 30 bytes, nhng ch t tn cho Snapshot ln nht l 19 bytes, qu 19 bytes ORACLE s t ng ct b v thm t hp ca bn con s sao cho m bo cho tn Snapshot l duy nht. b.To Read-Only Snapshot: Mun to mt Snapshot ta s dng cu lnh CREAT SNAPSHOT. Tng t nh vic to cc bng, cc SNAPSHOT to ra c th c nh r s lu tr cc k t, kch thc Extent v s phn phi, Tablespace hoc Cluster cha Snapshot. Cng c th ni r Snapshot s c lm ti v cc yu cu phn tn nh th no. V d 1: nh ngha mt Snapshot a phng c sao t bng chnh EMP nh v trn NY. CREAT SNASPHOT emp_sf PCTFREE 5 PCTUSED 60 TABLESPACE users STORAGE (INITIAL 50K NEXT 50K PCTINCREASE 50) REFRESH FAST TART WITH sysda NEXT sysdate + 7 AS SELECT * FROM scott . emp@sales . ny. com ; Sau cu lnh ORACLE t ng thc hin bng c s vi cc hng c khai bo trong cc yu cu nh ngha ca Snapshot. Sau , Snapshot c lm ti bi cu lnh REFRESH (Vn lm ti Snapshot s c bn k hn trong phn sau). Ta xt thm v d 2 gii thch cch thc to Snapshot ca ORACLE. Tng qut ho qu trnh nh sau: Khi c yu cu to Snapshot, ORACLE to mt s cc i tng trong lc ca Snapshot. Ti v tr Snapshot, mt bng c s c to v c tn l SNAP$_tn Snapshot, cha cc hng c khi phc bi s nh ngha Snapshot. Cho cc Snapshot n gin ORACLE cng to mt ch s (index) trn ct ROWID ca bng c s t tn l I_SNAP$_tn Snapshot.

79

VieBooks

ORACLE to cc khung nhn (View) Read-Only ca bng c s, n c s dng khi c yu cu Snapshot. Khung nhn ny s dng tn l kt qu a ra t cu lnh to Snapshot. ORACLE to ra khung nhn a phng th hai c tn l MVIEW$_tn Snapshot trn bng ch xa. ORACLE s dng khung nhn ny khi lm ti Snapshot. Cc kt qu ca yu cu c lu tr trong bng c s, thay th cc d liu Snapshot trc . Cho cc Snapshot n, bn c th chn to Snapshot log cho bng ch. Phn ny t tn l TLOG$_tn bng ch v Trigger s dng cho vic thay i Log c tn l TLOG$_tn bng ch. Thng tin trong Log cho php lm ti nhanh Snapshot n. Lm ti nhanh Snapshot ch thay i cc hng ca Snapshot. Mi khi c s thay i bng ch, ORACLE tm cc thay i trong Snapshot log bao gm c ROWID ca cc hng thay i. Vic sinh ra index (I_SNAP$) trn ct ROWID ca bng ch cho php cc thay i km theo cc Snapshot. Mt Snapshot hon chnh hoc Snapshot n khng c Snapshot log, phi sinh li t bng chnh trong thi gian lm ti Snapshot. V d 2: Gi s c cu lnh to Snapshot nh sau: CREAT SNAPSHOT emp_snap AS SELECT * FROM emp WHERE deptn0 = 20; Ton b qu trnh ORACLE c minh ho qua hnh v:

80

VieBooks V t n r h S a s o Q ey nph t ur cets a s o e p n pA r a n ph t m_s a S s let*fr m m ec o ep weed pn = 0; hr e t o 2 S a $ m_S a np _E p np e p o e a e d pn mn nm et o 1 0 Jo e 0 ns 2 0


11 0 12 0 K im B u ra n 2 0 2 0

I_S a $ m_S a np _E p np

mseR W at r O ID 10 07
52 41 58 49

E p np m_S a e p o e a e d pn mn n m et o 1 0 Jo e 0 ns 2 0 11 K 0 im 2 0 1 2 Ba n 0 ru 2 0

V t h r c E P M e po mn 10 0 11 0 12 0 13 0 14 0 ea e nm Jo e ns K im Ba n ru Co o S it mh d pn et o 2 0 2 0 2 0 3 0 4 0 L G _E P O$ M mse R W at r O ID 58 97
...

TO$ M L G _E P

Hn :K nt S as o i r c nph t h Khi to mt Snapshot, ta phi tun theo cc yu cu sau: -Nu to Snapshot trong lc ca ring mnh, ta phi c quyn h thng cho php thc hin cc cu lnh CREAT SNAPSHOT, CREAT TABLE, v CREAT VIEW, cng nh SELECT trn cc bng ch. -Nu to Snapshot trong lc ca User khc, ta phi c quyn CREAT ANY SNAPSHOT, cng nh SELECT trn bng ch. V ch nhn ca Snapshot phi c kh nng to Snapshot. c.Sa i cc Snapshot: Nh i vi cc bng, cc Snapshot cng c th sa i, ta c th t li cc cc bin lu tr bng cu lnh ALTER. V d: ALTER SNAPSHOT emp PCTFREE 10; Tuy nhin sa i cc bin lu tr , Snapshot phi nm trong lc ca bn hoc phi c quyn ALTER ANY SNAPSHOT v ALTER ANY TABLE trong h thng. d.Xo Snapshot:

81

VieBooks

Ch c ngi l ch hoc cc User c quyn DROP ANY SNASPHOT c th xo Snapshot. Ta c th xo Snapshot khng ph thuc vo bng ch ca n hoc Snapshot log. Cu lnh xo mt Snapshot a phng l DROP SNAPSHOT. V d: DROP SNAPSHOT emp; e.Index Snapshot: tng vic thc hin yu cu khi s dng Snapshot, c th to index cho Snapshot. Index mt ct (hoc nhiu ct) ca Snapshot, ta phi index trn bng "SNAP$" c to lu gi cc hng ca Snapshot. Ta khng cn s dng cc rng buc to index. V d: S dng cu lnh: CREATE index Khng s dng cu lnh : CREATE unique index f.Qun l cc Snapshot: iu khin trn bng ch hng ti cc Snapshot: -Ton b cc thay i to ra bi cc cu lnh INSERT, UPDATE, DELETE c a ra t mt bng c phn hi trong cc Snapshot khi m cc Snapshot c lm ti. -Nu xo mt bng ch, cc Snapshot c gi nguyn tuy nhin Snapshot log ca bng ch cng b xo. Khi ta th lm ti Snapshot, ORACLE s thng bo li. -Nu khi phc li bng ch, Snapshot c th c lm ti tr li. Tuy nhin ta khng th thc hin lm ti nhanh Snapshot, cho n khi to li Snapshot log. Nu sau khi to li bng ch vn khng lm ti c Snapshot th phi xo v to li Snapshot. g.S dng Snapshot: Cc yu cu gi ti Snapshot ging nh cc yu cu c gi ti table hoc View. V d: SELECT * FROM emp; Tuy nhin khng c thao tc d liu trong bng c s ca Read-only Snapshot. Ta khng th a cu lnh INSERT, UPDATE, DELETE khi s dng Read-Only Snapshot, nu s dng s c thng bo li, mc d cc cu lnh trn vn c a ra t bng c s ti Snapshot, v lm thay i cc Snapshot. Vic cp nht ch cho php trn bng ch, sau cc Snapshot s c lm ti. Nu mun thay i Snapshot bn phi to n nh mt Updatable Snapshot s c bn lun trong phn sau. h.To View v Synonyms da trn Snapshot: 82

VieBooks

View hoc Synonyms c th c nh ngha da trn Snapshot. Di y l cu lnh to mt View da trn Snapshot EMP. V d: CREAT VIEW sales_dept AS SELECT ename, empno FROM emp WHERE deptno = 10; 3/Updatable Snapshot: Oracle to Updatable Snapshot cc bc u tng t nh khi to Read-Only Snapshot v thm hai bc sau: -Oracle to mt bng t tn l USLOG$_tn ca Snapshot cha ROWID v timestamp (ngha?) ca cc hng cp nht trong Snapshot. The timestamp column khng c cp nht cho n khi c mt log c s dng trong qu trnh lm ti Snapshot. -Oracle to mt trigger AFTER ROW trn Snapshot da vo bng chn ROWID v timestamp ca cc hng c cp nht v xo vo trong Updatable snapshot log. Trigger c t tn l USTRG$_tn snapshot. S khc nhau chnh gia Read-Only Snapshot v Updatable Snapshot l Oracle to Read-Only View cho Read-Only Snapshot cn Writable View cho Updatable Snapshot. V d: To Updatable Snapshot emp CREATE SNAPSHOT emp FOR UPDATE8 AS SELECT * FROM scott. emp@sales. ny.com WHERE empno > 500; 4/Cc vn c bn v Snapshot log. a.nh ngha: Snapshot log l mt bng m cc hng ca n ghi danh sch nhng thng tin c thay i ca bng ch, v nhng thng tin v cc Snapshot cp nht hoc cha cp nht nhng thay i trn. Vic to cc Snapshot log lm gim s lng x l v thi gian cn thit lm ti Snapshot n . Snapshot log khng s dng cho cc Snapshot hon chnh.

83

VieBooks

Mt Snapshot log c kt hp vi mt bng ch; Cng nh vy mt bng ch c th ch c mt Snapshot log. Nu nhiu Snapshot log da trn cng mt bng ch th chng c s dng nh l mt Snapshot log. Tip sau y chng ta s tm hiu cch to, qun l v xo cc Snapshot log. b.To cc Snapshot log: t tn Snapshot log: Oracle t ng to Snapshot log trong lc cha bng ch nu ta khng ch r tn ca Snapshot log. To mt Snapshot log trong CSDL nh cc bng ch s dng cu lnh CREATE SNAPSHOT LOG. ta c th t cc tu chn vng lu tr cho cc on d liu ca Snapshot log, c ca Extent v a phng, cc Tablespace lu tr Snapshot log. t tu chn vng lu tr nh sau: -t PCTFREE t 0, v PCTUSED t 100. t cc bin lu tr Extent tu theo s cp nht (s cc cu lnh INSERT, UPDATE, DELETE), trn bng ch. V d 1: To Snapshot log ca bng EMP. CREATE SNAPSHOT LOG ON scott.emp TABLESPACE users STORAGE (INITIAL 10K PCTINCREASE 50) PCTFREE 5; Cch thc thc hin ca Oracle khi to Snapshot log: -Oracle to mt bng, t tn l MLOG$_ tn_bng_ch, lu tr ROWID v cc hng c cp nht trong bng ch. -Oracle to mt Trigger AFTER ROW trn bng ch thc hin vic chn ROWID v cc thay i ca cc hng vao trong Snapshot log ch. Trigger c t tn l TLOG$_tn_bng_ch. iu kin to mt Snapshot log: Nu to trong bng ch ca chnh mnh ta cn phi c quyn CREATE TABLE v CREATE TRIGGER. Nu to Snapshot log cho mt bng trong lc ca User khc ta phi c quyn h thng l CREATE ANY TABLE v CREATE ANY TRIGGER. c.Sa i cc tham bin ca Snapshot log: Ta c th thay i cc tham bin lu tr ca Snapshot log. Tuy nhin ch c ngi ch ca bng ch, hoc cc User c quyn h thng l ALTER ANY TABLE c th thay i. V d 2: 84

VieBooks

ALTER SNASPHOT LOG sale-price PCTFREE 25 PCTUSED 40; d.Xo cc Snapshot log: Ta c th xo mt Snapshot log c lp vi bng ch hoc cc Snapshot ang tn ti. Ta c th quyt nh xo mt Snapshot log nu cc iu sau y l ng: Tt c cc Snapshot n ca bng ch c xo, v cc Snapshot n ca bng ch c lm ti hon chnh, khng phi l lm ti nhanh. xo mt Snapshot log a phng, s dng cu lnh DROP SNAPSHOT LOG, v ch ch nhn ca bng ch hoc cc user c quyn h thng DROP ANY TABLE. V d: DROP SNAPSHOT LOG emp_log; e.Qun l Snapshot log: Oracle t ng theo di cc hng trong Snapshot log c s dng trong sut qu trnh lm ti ca cc Snapshot, v lc cc hng t log cho log khng tng mt cch v hn. V nhiu Snapshot n c th s dng cng mt Snapshot log, cc hng s dng trong vic lm toi ca mt Snapshot vn c th cn c lm ti cho Snapshot khc; Oracle khng xo cc hng trong log tr khi tt c cc Snapshot s dng xong. c im t ng ny c th dn ti s pht trin v hn nh mt Snapshot log nu Snapshot kt hp vi n khng bao gi c lm ti. V d: Snapshot EMP_B thng xuyn c lm ti. Nhng Oracle khng th lc cc hng s dng trong sut qu trnh lm ti ca Snapshot EMP_B v Snapshot EMP_A cn chng cho vic lm ti sp ti ca n. Tnh hung ny xy ra khi c mt s cc Snapshot n gin da trn cng mt bng ch v: -Mt Snapsshot khng c t t ng lm ti bi Oracle; Khi Snapshot phi c lm ti "bng tay". -Mt Snapshot c khong thi gian lm ti lu, c hai vn l: e1. Mng b li ngn cn qu trnh t ng lm ti ca mt hay nhiu Snapshot da trn bng ch. e2. Mng hoc mt v tr li ngn cn qu trnh xo Snapshot t bng ch ca n.

85

VieBooks

5/Gii thiu v cc nhm lm ti Snapshot: Trong phn ny ta tm hiu cc th tc c cung cp trong DBMS_REFRESH, cc th tc ny cho php ta to, sa i, v xo cc nhm lm ti, cc thng tin v s t ng lm ti cc Snapshot ... a.To nhm lm ti Snapshot: Ghi r cc thnh vin ca nhm v khong thi gian xc nh khi cc thnh vin ca nhm cn c lm ti, V gi th tc MAKE ca DBMS_REFRESH. V d: To nhm lm ti ACCTG vi hai thnh vin ACCT_REC v ACCT_PAY. Hai Snapshot thnh vin s c lm ti mi gi. DBMS_REFRESH.MAKE( name => 'acctg' , list => 'acct_rec, acct_pay' , next_date => SYSDATE, interval => 'SYSDATE +1/24' , implicit_destroy =>TRUE); b.Sa i nhm lm ti Snapshot: DBMS_REFRESH cha cc th tc phc v cho vic to thm thnh vin mi, di chuyn, t nhm l ti, v sa i t ng l ti nh k cho mt nhm l ti. -Thm mt thnh vin mi t nhm lm ti: thm cc Snapshot vo nhm lm ti, gi th tc ADD trong DBMS_REFRESH. V d: DBMS_ REFRESH.ADD (name => 'acctg' , list => 'acct_bill' , lax => TRUE); Tng t nh vy ta c th di chuyn sa i v xo cc nhm lm ti tun t theo cc th tc sau: DBMS_REFRESH.SUBTRACT, DBMS_REFRESH.CHANCE, DBMS_REFRESH.DESTROY. 6/Vn lm ti cc Snapshot: a.Gii thiu: Lm ti mt Snapshot l lm cho Snapshot phn nh c tnh trng mi nht ca bng ch. Oracle c hai cch lm ti: Lm ti nhanh v lm ti hon chnh. Lm ti nhanh s dng Snapshot log ca bng ch lm ti Snapshot n bng cch 86

VieBooks

truyn i cc thay i cho cc Snapshot cp nht. Ch cc Snapshot n (tp hp cc hng v cc ct ca mt bng n) c th thc hin lm ti nhanh. Lm ti hon chnh thay th ton b d liu trong Snapshot n hoc Snapshot y . Cng nh vy cc Snapshot c lm ti t ng hoc bng tay, lm ti n l hoc lm ti theo nhm. Cc vn cn quan tm l: -Cc Snapshot n ni chung s dng phng php lm ti nhanh v chng mang li hiu qu hn phng php lm ti hon chnh. -Nu cc bng ch nhn c d bo cp nht, n s t ng lm ti cc Snapshot theo mt khong thi gian thch hp. -Sau khi chuyn cc thay i t cc bng ch, thc hin lm ti bng tay cc Snapshot da vo cc bng ch, y l qu trnh truyn cc hng mi ca bng ch ti cc Snapshot. -Nu ta cn lm ti tp hp cc Snapshot t mt v tr no , cng nh c mt quan h cha/con gia mt phn ca cc Snapshot, s dng cc nhm lm ti Snapshot. b.Cc iu kin thc hin lm ti Snapshot: Mun lm ti c Snapshot ta phi c hai iu kin sau: -Phi l ch ca Snapshot hoc phi c quyn sa i Snapshot (ALTER ANY SNAPSHOT) trong h thng. -Phi c quyn vo (SELECT) bng ch v cho lm ti nhanh trn Snapshot log. c.T ng lm ti Snapshot: Nu mun Snapshot c t ng lm ti nh k ta phi thc hin: -nh r khong thi gian v phng php lm ti. - Phi c mt hoc nhiu tin trnh ngm SNP gip cho vic thc hin nh k lm ti cc Snapshot. c1.nh khong lm ti Snapshot: Nu mun lm ti t ng mt Snapshot, ta phi nh r khong thi gian lm ti bng cch dng hai tham bin START WITH v NEXT trong mnh REFRESH ca cu lnh CREAT SNAPSHOT hoc ALTER SNAPSHOT. Sau Oracle s t ng to ra nhm lm ti ch cha chnh xc mt Snapshot, v c tn gi l tn ca chnh Snapshot m n cha.

87

VieBooks

Nu mun lm ti t ng mt tp hp Snapshot t mt v tr n, ta phi to nhm lm ti bng cch s dng th tc DBMS_REFRESH.MAKE. Lm ti t ng nhm lm ti, cung cp hai gi tr NEXT_DATE v INTERVAL khi ta to nhm. Khi nh khong lm ti cho Snapshot ta phi bit: -Hai tham bin START WITH, v NEXT (ca mt Snapshot n l) hoc INTERVAL, v NEXT_DATE (trong th tc gi cho mt nhm lm ti) cha cc k hn.phi nh lng t mt thi im trong tng lai. Gi tr INTERVAL c nh lng trc khi qu trnh lm ti bt u. Nh vy ta phi chn khong thi gian ln hn thi gian yu cu thc hin mt ln lm ti. Mt nh lng sai phi c cha trong li trch dn. -Nu mt Snapshot c nh k lm ti trong mt tp hp cc khong thi gian, s dng hai tham bin NEXT hoc INTERVAL vi k hn n gin t "SYSDATE+7". V d: Nu ta t khong thi gian t ng lm ti t "SYSDATE+7" v vo ngy th hai, nhng c mt vi l do xy ra nh mng b li, Snapshot khng c lm ti cho n ngy th ba. Nu bn mun lm ti nhm Snapshot t ng theo nh k, khng ch n ln lm ti cui hai tham bin NEXT hoc INTERVAL phi nh r mt k hn n t "NEXT_DAY(TRUNC(SYSDATE),'MONDAY')". V d 1: To Snapshot SNAP, v n c nh k lm ti 7 ngy mt ln k t ngy c lm ti gn nht , ln lm ti u tin vo ngy 01/6/1994. CREATE SNAPSHOT snap . . . REFRESH COMPLETE START WITH '01-JUN-94' NEXT sysdate + 7 AS . . . ; V d 2: Nhm lm ti ACCT gm ba Snapshot c nh k lm ti vo th hai hng tun. dbms_refresh.make( name => 'acct' , list => 'sctt.acct, scott.finance, scott.inventory' , next_date => SYSDATE ,

88

VieBooks

interval 1, "MONDAY")'

=> 'next_day (SYSDATE +

implicit_destroy => TRUE , lax => TRUE , c2.Xc nh phng php lm ti: Khi lm ti mt Snapshot ta c th nh r cho Oracle thc hin phng php FAST, COMPLETE, hoc FORCED (nhanh, hon chnh, hay bt buc). Ch nh mt trong ba phng php trn bng cch s dng mnh REFRESH trong cu lnh CREATE SNAPSHOT hoc ALTER SNAPSHOT. Cc Snapshot trong mt nhm lm ti c th khng cng chung mt phng php lm ti, nu ta khng nh r phng php lm ti cho tng Snapshot, Oracle s t ng thc hin lm ti theo phng php FORCED (phng php ny thc hin nhanh hay hon chnh nu c th). c3.Khi to mt tin trnh ngm: iu kin thun li lm ti Snapshot bng cch s dng cc hng i cng vic t bn lit k s thc hin nh k ca th tc DBMS_ REFRESH.REFRESH. Hng i cng vic yu cu c t nht mt tin trnh ngm SNP thc hin. Tin trnh ngm ny lm vic nh k, kim tra hng i cng vic v thc hin cng vic c coi l quan trng nht. Tin trnh ngm SNP c iu khin bi hai tham bin JOB_QUEUE_PROCESSES v JOB_QUEUE_INTERVAL. d.Lm ti Snapshot bng tay: C hai tu chn l: -Lm ti mt nhm lm ti Snapshot. -Lm ti mt hoc nhiu Snapshot, cc Snapshot c th hoc khng l mt phn ca mt hay nhiu nhm lm ti. d1.Lm ti bng tay mt nhm lm ti: Ta ch cn gi th tc REFRESH trong DBMSREFRESH. Qu trnh lm ti s c thc hin ngay lp tc thay v phi i t ng lm ti theo nh k v khng Snapshot hng ti cc ln t ng lm ti nhm v sau. V d lm ti nhm ACCTG: DBMS_REFRESH.REFRESH('acctg'); d2.Lm ti bng tay mt hay nhiu Snapshot: lm ti mt hay nhiu Snapshot khng phi l thnh vin ca cng mt nhm lm ti, s dng th tc REFRESH trong DBMS_SNAPSHOT s cho php ta cung cp danh sch cc 89

VieBooks

Snapshot m ta mun lm ti t mt giao tc trong thi im bt k. Cc Snapshot c th thuc v cc nhm lm ti Snapshot khc. Vic lm ti chng s dng th tc ny s khng Snapshot hng n danh sch lm ti nh k nu chng l mt phn ca nhm lm ti Snapshot nh k. V d sau thc hin lm ti hon chnh SCOTT.EMP, lm ti nhanh SCOTT.DEPT v lm ti ngm nh SCOTT.SALARY. DBMS_ SNAPSHOT. REFRESH ( list => ' scott.emp, scott.dept, scott.salary, method => 'CF' ) ; IV/Vn gii quyt xung t trong Oracle 7: Oracle lun lun pht hin v ghi vo s nht k cc xung t cp nht, cc xung t khng duy nht, v xo cc xung t. Thm vo, Oracle cung cp cc th tc gii quyt xung t c h thng nh ngha, cc th tc hiu lc mt mi trng s dng sao bn mc hng ng b gii quyt xung t cp nht v cc xung t khng duy nht ca bn. Phn ny bao ph cc phn sau: Lm th no pht hin xung t. Lm th no nhm cc ct c s dng trong vic pht hin xung t. Oracle h tr cc phng php gii quyt xung t. Lm th no thit k mt phng php gii quyt xung t. Nhn din xung t. Chn mt chin lc gii quyt xung t. S dng cc nhm ct. S dng cc nhm u tin. S dng cc v tr u tin. Khi no s dng cc phng php gii quyt xung t: Cc mc ch cho s gii quyt xung t l: m bo mt s hi t d liu. Trnh cc li dy truyn. m bo s hi t l ton b cc v tr trong mi trng sao bn ca bn tn thnh v c cng mt d liu. Trnh cc li dy truyn m bo rng h thng ca bn s chy mt cch m thm. Ch : Nu mt hoc nhiu hng trong mt giao tc dn n mt xung t khng gii quyt c, ton b giao tc c 90

VieBooks

ghi vo s nht k li. Cc giao tc xy ra sau ph thuc vo giao tc gc c th xung t lc ny, v ln lt, c ghi vo s nht k li. Nu mt hoc nhiu v tr trong mi trng sao bn ca bn lan truyn cc thay i khng ng b, cc xung t c th xy ra nu hai hoc nhiu v tr cp nht cng mt d liu bn sao. Thm ch, mi trng ca bn c thit k trnh xung t (v d bng s chia phn quyn lm ch d liu), n l s thn trng : Gim st s xut hin ca bt k xung t khng gii quyt c. S dng mt phng php khai bo bit bt k xung t khng ch i. Ch : Nu bn khng thit k mt phng php gii quyt xung t, Oracle ghi bt k mt xung t khng gii quyt c nh mt li giao tc trong DefError view ca v tr nhn. Nu ton b cc v tr ca bn lan truyn cc thay i ng b v bn c v tr snapshot khng cp nht, s xung t cp nht khng th xy ra, v bn khng cn thit k mt phng php gii quyt xung t. Vic xo cc xung t: Khi bn lan truyn cc thay i trong mt mi trng sao bn bi vic c gng lm tr hon hng i giao tc, symmetric replication facility ca Oracle gi mt th tc t xa trong gi c sinh ra ti v tr nhn. Oracle s dng th tc xa pht hin cc xung t. cho v d, hai v tr sa i cng mt hng trc s truyn lan cc cp nht ca chng ti cc v tr khc, mt xung t xy ra. (Nu bn t mt phng php gii quyt xung t, Oracle c gng gii quyt xung t). Cho mi hng thay i Oracle sm bit gi tr c v mi ca tng ct trong hng. Nh hnh v di, Oracle ti v tr nhn so snh gi tr c v gi tr hin ti ca hng ra mt xung t nu c bt k s khc nhau gia cc gi tr ny cho bt k ct no trong hng. Ch : V mt hng c th c cc ROWID khc nhau ti cc v tr khc nhau, Oracle s dng cc kho chnh ca hng xc nh hng no so snh. Nu bn khng mun s dng kho chnh, thit k mt hay nhiu ct khc c gi DBMS_REPLICAT.SET_COLUMNS.

91

VieBooks V t h A r c U D T e pS Tc m =o m 7 P A E m E o mc m + 5 W E Ee a e Jo e; H R n m= ns E pt b m a le e p o ea e mn nm 10 0 11 0 12 0 10 0 10 0 Jo e ns K im Ba n ru cm om 2 0 20 0 30 5 L nt u g a r y n i t v m r c i V t h B r c U D T e pS Tc m =o m 2 0 P A E m E o mc m + 8 W E Ee a e Jo e; H R n m= n s E pt b m a le e p o ea e mn nm 10 0 11 0 12 0 Jo e ns K im Ba n ru cm om 2 0 20 0 30 5

Jo e 2 ns 0 Jo e 9 ns 5

S s hc g o n c i 1 0 Jo e 2 0 ns 0 t i t v g r h n i i 1 0 Jo e 9 0 ns 5 t rc P th nx n c pn h i u g ht t

P h nc cx n h t i u g t

Nu th tc ti v tr nhn pht hin khng xung t, my ch ti v tr nhn ghi cc gi tr mi. Nu mt xung t c pht hin, Oracle p dng th tc gii quyt xung t thch hp, nu mt th tc l sn sng. Bt k xung t khng gii quyt c ghi vo nht k trong DefError view ti v tr nhn. Khi bn sao bn mt bng s dng sao bn mc hng bn c th thit k mt hoc nhiu phng php gii quyt xung t. Oracle p dng cc phng php ny trong th t u tin bn nh ngha n khi xung t gii quyt xong, hoc khng cn th tc no sn sng. Ch : Cho sao bn th tc bn phi h tr mt phng php gii quyt xung t nh phn ca th tc sao bn ca bn. Cc kiu xung t: C ba kiu xung t d dng c pht hin trong sao bn i xng: -Xung t cp nht. -Xung t khng duy nht. -Xung t xo. Cc th tc ti v tr nhn pht hin mt xung t cp nht nu c mt s khc nhau gia cc gi tr c v cc gi tr hin thi ca mt hng sao bn ging hng ti v tr nhn. Mt xung t khng duy nht c pht hin nu mt rng buc duy nht b chng li trong khi mt thao tc chn hoc sa i ca mt hng sao bn.

92

VieBooks

Mt xung t xo c pht hin nu bn thay i mt hng ti mt v tr xa sau khi bn xo hng ny t v tr a phng. Xung t xo xy ra v gi tr ca hng ti v tr a phng khng hp gi tr hin thi ca hng ti v tr xa. Vic hiu cc nhm ct: S nh x i xng s dng nhm ct pht hin v gii quyt xung t cp nht. Mt nhm ct lin kt mt tp cc ct trong mt bng thnh mt ct logic n. Mt nhm ct c th bao gm mt ct n, bt c s ct, hoc ton b cc ct trong bng. Mi ct, tuy nhin, ch c th thuc v mt nhm ct. C th thit k mt phng php gii quyt xung t cho cc ct bn n nh vo mt nhm ct. Cc nhm ct v hnh: Bt k ct bn khng n nh vo nhm ct no c t ng n nh vo mt nhm ct v hnh cho pht hin xung t. Mt nhm ct v hnh khng trng thy c t ngi dng. Bn khng th thit k n nh phng php gii quyt xung t ti cc ct trong nhm ct v hnh. Khng s dng mt nhm ct v hnh cho cc ct nu bn ch i cc xung t xy ra trn cc ct ny. Thit k mt phng php gii quyt xung t: C cc nhm ct cho php bn thit k cc phng php khc gii quyt xung t cho cc kiu d liu khc. V d, d liu s thng km theo phng php gii quyt s hc, v d liu k t thng km theo phng php gii quyt nhn thi gian. S hi t d liu i vi ton vn d liu: Oracle nh gi tng nhm ct mt cch ring r, mt vi phn ca mt hng c th c cp nht s dng d liu t v tr gc, khi cc phn khc c th duy tr cc gi tr ca d liu ti v tr ch. Khi bn s dng nhiu nhm ct, mt c ch gii quyt xung t c th kt qu trong s hi t d liu (ton b cc v tr c cng mt gi tr cho mt hng cho) khng vi s cn thit kt qu trong ton vn d liu (d liu hi t trn mt gi tr thch hp). Cho v d, nu ct zipcode s dng phng php gii quyt nhn thi gian trong khi ct city s dng phng php gii quyt v tr u tin, ton b cc v tr c th hi t trn mt zipcode ph hp vi city. Ch : Nu hai hoc nhiu ct trong bng phi duy tr nht qun vi lu ti mi ci khc. Pht hin xung t cp nht trong mt nhm ct: 93

VieBooks

Khi kho st mt hng xc nh nu mt xung t cp nht xy ra, sao bn s dng thut ton sau: *10 Bt u vi nhm ct u tin, kho st tng trng xc nh nu n thay i v, nu c mt xung t gia cc gi tr mi, c, hin thi. *11 Nu khng c xung t xy ra, tip tc vi nhm ct tip theo. Nu mt xung t xy ra, gi mt th tc gii quyt xung t vi n nh thp nht dy s cho nhm ct ny. *12 Nu th tc gii quyt xung t gii quyt thnh cng xung t, nm gia gi tr thch hp cho cc ct cn treo s xc nh trng thi. *13 Nu th tc khng gii quyt c cc xung t, sao bn tip tc vi th tc tip theo trong th t u tin cho n khi xung t c gii quyt hoc khng cn th tc no sn sng. *14 Sau khi nh gi ton b cc nhm ct (bao gm c nhm ct v hnh) v gii quyt thnh cng cc li, sao bn i xng lu tr gi tr mi cho cc ct. *15 Nu sao bn khng c kh nng gii quyt xung t cho mt nhm ct (bao gm nhm ct v hnh. Khng c thit k trong phng php gii quyt xung t), n ghi mt li vo DefError view v khng thay i hng a phng. Chn mt phng php gii quyt xung t: C ch gii quyt xung t khai bo ca sao bn i xng cung cp cc th tc nh ngha h thng cho gii quyt cc xung t cp nht v xung t khng duy nht. Cc th tc h thng nh ngha khng h tr cc tnh th: -Xung t xo. -Thay i cc ct kho chnh. -Cc gi tr Null trong cc ct bn ch ra gii quyt xung t. -Chng li rng buc ton vn tham chiu Cho cc tnh th ny, cung cp cc th tc gii quyt xung t ca bn hoc xc nh mt phng php gii quyt cc li ny sau khi chng c ghi vo DefError view. Cc th tc gii quyt xung t cp nht h thng nh ngha:

94

VieBooks

Bng sau ch ra cc phng php gii quyt cho xung t cp nht m bo s hi t trong 3 kiu ca mi trng sao bn. Bt k s v tr Mt hoc hai v Mt v tr ch v ch (4 phng tr ch (9 phng nhiu v tr snapshot php) php) (12 phng php) Thi gian chm nht Cng thm Gi tr ti thiu (lun lun gim) Gi tr ti a (lun lun tng) Thi gian sm nht Gi tr ti thiu Gi tr ti a V tr u tin cao nht Gi tr u tin cao nht Trung bnh Ph hu t v tr snapshot Ghi v tr ch Ghi ch: cc phng php gii quyt bn n nh cn m bo s hi t d liu v cung cp kt qu thch hp cho nghip v s dng d liu ca bn. Cc th tc gii quyt xung t rng buc khng duy nht h thng nh ngha: Symmetric replication facility cung cp 3 phng php cho gii quyt xung t khng duy nht: -Gn tn ton cc ca v tr gc ti gi tr ct t v tr gc. -Gn vo s th t sinh ra ti gi tr ct t v tr gc. -Hu b gi tr hng t v tr gc. Ti sao s dng nhiu phng php gii quyt: 95

VieBooks

Cc nhm ct cung cp nhiu phng php cung cp cho mt hng n. Bn cng c th s dng nhiu phng php gii quyt xung t cho tng nhm ct. -C mt hoc nhiu phng php backup. -Nhn thng bo ca cc xung t. Nhiu phng php gii quyt c p dng trong dy bn t. Cc phng php a hn ca bn c th khng lun lun thch thnh cng. Bn c th ch ra mt phng php backup mt b to ra thay i gii quyt xung t khng cn thao tc th cng xen vo. Vi phng php gii h thng nh ngha, nh l nhn thi gian chm nht, thng thong i hi mt phng php backup gii quyt thnh cng xung t.(u tin v tr l mt phng php backup). Phng php nhn thi gian chm nht s dng mt ct nhn thi gian c bit xc nh v ghp vo thay i mi nht. Trong s kin khng may bi ti v tr gc v bi ti v tr khc thay i ti chnh xc cng mt giy, bn phi cung cp phng php backup. Ghi ch: Thi gian lu tr ca Oracle l mt phn nh ca giy. Bn cng c th cung cp mt phng php ngi dng nh nghi phng php v ghi thng tin xung t hoc d bo xung t DBA nu xung t khng c gii quyt. Bn c th sp t nhn thng bo cho ton b cc xung t, hoc ch cho cc xung t khng gii quyt c. Bn c th ho trn s cc th tc gii quyt xung t ngi dng nh ngha v h thng nh ngha. Tng kt cc phng php gii quyt xung t: S hi t c ngha l ton b v tr ph hp cui cng trn cng mt gi tr. Bng sau tng kt cc phng php gii quyt xung t h thng nh ngha, v trong bt k trng hp no m bo s hi t gia nhiu v tr chnh v cc v tr snapshot lin i. Kiu xung Cc phng S hi S hi t vi t php gii t? nhiu hn 2 v quyt tr ch? Cp nht Ti thiu C Khng, tr khi lun lun gim Ti a C Khng, tr khi 96

VieBooks

Nhn thi gian sm nht Nhn thi gian chm nht nhm u tin u tin v tr Ghi Ph hu Trung bnh Cng thm Gn tn v tr Gn s th t B qua ph hu Khng c

C C C C C, ch 1 v tr ch C, ch 1 v tr ch C, ch 1 v tr ch C Khng Khng Khng

lun lun tng Khng C, vi phng php backup Khng, tr khi lun lun tng Khng Khng Khng Khng C Khng Khng Khng

Xo

Cc phng php gii quyt xung t cp nht ti thiu v ti a: Khi sao bn pht hin mt xung t vi mt nhm ct v gi th tc gii quyt xung t gi tr nh nht, n so snh gi tr mi t v tr gc vi gi tr hin thi ti v tr ch cho mt ct c ch ra trong nhm ct. Bn phi thit k ct ny khi bn chn th tc gii quyt xung t gi tr nh nht. Nu gi tr mi ca ct c ch ra l thp hn gi tr hin thi, cc gi tr nhm ct t v tr gc c p dng ti v tr ch (lc quan rng tt c cc li khc c gii quyt thnh cng cho hng ny). Nu mt gi tr mi ca ct c ch ra ln hn gi tr hin thi, xung t c gii quyt bi vic loi b cc gi tr hin thi ca cc nhm ct khng thay i. Thit k mt phng php gii quyt xung t backup c s dng trong trng hp ny. Phng php gi tr ti a l ging nh phng php gi tr ti thiu, tr cc 97

VieBooks

gi tr t v tr gc ch c p dng nu gi tr ca ct c ch ra ti v tr gc l ln hn gi tr ca ct c ch ra ti v tr ch. Khng c hn ch kiu d liu ca cc ct trong nhm ct. S hi t cho nhiu hn hai v tr chnh ch l s m bo nu: -Cho phng php ti a, gi tr ct lun lun tng. -Cho phng php ti thiu, gi tr ct lun lun gim. Ghi ch: bn khng th lm cho c hiu lc mt gii hn lun lun tng bng s dng rng buc kim tra bi v rng buc c th gy tr ngi gii quyt xung t. Cc phng php gii quyt xung t cp nht nhn thi gian chm nht v sm nht: Cc phng php nhn thi gian sm nht v chm nht l bin th ca cc gi tr ti a v ti thiu. Cho phng php nhn thi gian, ct ch nh phi l kiu DATE. Bt c ct no trong nhm ct c cp nht, ng dng ca bn cp nht gi tr ca ct nhn thi gian vi SYSDATE a phng. Cho mt thay i p dng t mt v tr khc, gi tr nhn thi gian s c t ti gi tr khc nhaut v tr gc. Lu cc dy s kin ny: Mt khch hng trong Phoenix gi mt ngi bn hng a phng v cp nht thng tin a ch ca c ta. Sau khi nhc in thoi, khch hng nhn ra rng postal code ngi bn hng a phng c ta gi l sai. Khch hng c gng gi cho ngi bn hng a phng vi postal code chnh xc, nhng khng c. Khch hng gi cho tr s chnh ti New York. v tr New York kh hn v tr Phoenix, cp nht thng tin a ch chnh xc. Mnh kt ni tr s chnh vi cc ngi bn hng a phng ti Phoenix go down tm thi. Khi mng New York/Phoenix kt ni tr li (comes back up), Oracle coi hai cp nht cho cng mt a ch, v php hin ra mt xung t ti mi v tr. S dng phng php nhn thi gian chm nht, Oracle chn cp nht gn nht, v p dng a ch vi postal code chnh xc. Ghi ch: Nu mi trng sao bn xuyn qua cc vng thi gian, ng dng ca bn chuyn i ton b cc nhn thi gian thnh mt vng thi gian chung. Nu khng, mc d d liu ca bn s hi t, bn khng th p dng cp nht gn nht.

98

VieBooks

Oracle khng hiu lc ng b thi gian, ci c th c cung cp bi mt c ch khc. Phng php nhn thi gian sm nht p dng cc thay i t v tr vi nhn thi gian sm nht, v phng php nhn thi gian chm nht p dng cc thay i t v tr vi nhn thi gian chm nht. S gi : Ch ra mt phng php backup, nh mt v tr u tin, c gi nu hai v tr c cng mt nhn thi gian nh nhau. C ch chun ho nhn thi gian ca bn; cho v d, bn c th chuyn nhn thi gian sang vng thi gian ch nh, ging nh Greenwich Mean Time (GMT). Mt ng h m cc giy nh mt gi tr tng. Lc quan rng bn c th thit k c ch nhn thi gian hp l v khi to mt phng php back up trong trng hp hai v tr c cng mt nhn thi gian nh nhau, phng php nhn thi gian chm nht (ging phng php gi tr ti a) m bo s hi t. Phng php nhn thi gian sm nht, tuy nhin, khng m bo cho hn hai v tr chnh. Cc phng php gii quyt xung t cp nht cng thm v trung bnh: Cc th tc cng thm v trung bnh lm vic vi cc nhm ct bao gm mt ct s n. Cc th tc cng thm cng cc s khc nhau gia cc gi tr c v mi ti v tr gc ti gi tr hin thi ti v tr ch. gi tr hin thi = gi tr hin thi + (gi tr c gi tr mi). Png php gii quyt xung t cng thm cung cp s hi tc cho bt k s v tr chnh. Phng php gii quyt xung t trung bnh tnh trung bnh gi tr ct mi t v tr gc vi gi tr hin thi ti v tr ch. gi tr hin thi = (gi tr hin thi + gi tr mi)/2. Phng php trung bnh khng m bo s hi t nu mi trng sao bn nhiu hn mt v tr chnh. Phng php ny hiu qu cho mt mi trng vi mt v tr chnh n v nhiu snapshot c th cp nht. Cc phng php gii quyt xung t cp nht nhm u tin v u tin v tr: Cc nhm u tin cho php gn mt mc u tin ti tng gi tr ca mt ct c th. Nu mt xung t c pht hin, bng c

99

VieBooks

ct u tin c gi tr thp hn s c cp nht s dng d liu t bng vi gi tr u tin cao hn. Customer Table: Custno nam add1 add2 site e 153 Kell 104 First Jones, ny New_york.wo y St. rld 118 Klei 22 Iris Ln. Planes, Houseton.wo n NE rld 121 Lee 71Blue Ct. Aspen, Houseton.wo CO rld 204 Pott 181 First Aspen, Houseton.wo er Av. CO rld Rppriority: PriorityPriorit ... Value Group y Site-Priority 1 Houston.worl d Site-Priority 2 New_york.wor ld Order1 Ordered Status Order2 Shipped Status Order3 Billed Status Khi chn phng php nhm u tin cho gii quyt xung t, bn ch ra ct no trong bng ca bn l ct u tin. u tin v tr l mt loi c bit ca nhm u tin. Vi u tin v tr, ct u tin bn ch ra mt cch t ng c cp nht vi tn CSDL ton cc ca v tr khi cp nht c pht sinh. Khi bn s dng u tin v tr, s hi t vi nhiu hn hai v tr chnh c m bo. Bn c th m bo s hi t nhiu hn hai v tr chnh khi s dng cc nhm u tin, tuy nhin, nu gi tr ca ct u tin l lun lun tng. iu ny c ngha l gi tr trong ct u tin phn nh mt th t cc s kin; v d: ordered, shipped, billed.

100

VieBooks

Cc phng php gii quyt xung t cp nht ph hu v ghi : Cc phng php ph hu v ghi b qua cc gi tr t mt trong hai v tr gc hoc v tr ch v v vy c th khng m bo s hi t vi nhiu hn mt v tr chnh. Cc phng php ny c thit k s dng bi mt v tr chnh v nhiu v tr snapshot, hoc vi mt vi form ngi dng nh ngha. Th tc ghi thay th gi tr hin thi ti v tr ch vi gi tr mi t v tr gc. Ngc li, phng php ph hu b qua gi tr mi t v tr gc. Cc phng php gii quyt xung t khng duy nht km thm sequence/km thm tn v tr: Cc km thm tn v tr v km thm sequence lm bi vic km thm mt chui vo mt ct ci sinh ra mt. Phng php gii quyt xung t khng duy nht ph hu: Th tc gii quyt xung t khng duy nht ph hu gii quyt cc xung t khng duy nht bi vic ph hu n gin hng t v tr gc hng dn n li. Phng php ny khng m bo s hi t vi nhiu v tr chnh v c th c s dng vi mt phng tin nhn bit. Khng ging nh phng php km thm, phng php khng duy nht ph hu ti thiu ho s lan truyn ca d liu n khi chnh xc c kim tra. Nhn bit xung t: Mt th tc nhn bit xung t l mt th tc gii quyt xung t ngi dng nh ngha cung cp mt s nhn bit, hn l gii quyt. Bn c th c thng tin xung t c ghi trong khung nhn CSDL, hoc bn c th vit mt th tc , v d, gi mt th in t ti DBA (or dials a beeper). Bn c th t s nhn bit xy ra khi bn mun: *16 Sm nh Oracle pht hin mt xung t. *17 Trc khi Oracle c gng mt th tc gii quyt ch ra. *18 Ch nu Oracle khng th gii quyt xung t. Ch : Nu xung t khng th phn tch c gii quyt, ton b giao tc, km thm bt c cp nht vo bng nhn ra, s c roll back.Bn c th thit k c ch nhn bit ca bn s dng gi Oracle DBMS_PIPES hoc giao din ti Oracle Office chc chn s nhn bit xy ra. Khai bo phng php gii quyt xung t: 101

VieBooks

Nh bn to ra mt bng bn sao, bn c th ch ra mt hoc nhiu phng php gii quyt bt k xung t tim n no. khai bo phng php gii quyt xung t, u tin hon thnh pha thit k: *19 Phn tch d liu ca bn xc nh cc nhm ct c chim gi, v ci m cc phng php gii quyt xung t c chim gi tng nhm ct. *20 To cc ct, ging nh nhn thi gian, v trigger bo qun (maintenance trigger) nh cn thit bi cc phng php phng php bn chn. *21 Nu mong mun, cc gi nhn bit nh ngha. -To mt bng nm gi thng tin nhn bit xung t ti tng v tr chnh. -To th tc PL/SQL ghi ghi cc nhn bit xung t trong bng. -Cng cc gii quyt xung t ngi dng nh ngha vo gi hoc cng cc th tc t ng nhn bit. *22 Nu bt k nhm ct trong bt k bng no s s dng u tin v tr hoc nhm u tin cho gii quyt xung t, nh ngha cc mc u tin cho tng v tr hoc gi tr. Sau vic thit k, gi cc th tc thch hp trong gi DBMS_REPLICAT: Nu bn cng thm gii quyt xung t vo mi trng sao bn tn ti, bn u tin phi nh ch ton b sao bn hiu lc. Nu bn tng mt nhm cc sao bn, sau vic xy dng cho vic tng mt nhm sao bn v cc i tng c sao bn Bt u. nh ngha cc nhm ct cho tng bng. Phn tn cc gi nhn bit xung t v bng ghi nht k nhn bit cc v tr xa bi vic ghi chng nh mt i tng sao ban trong cc nhm i tng nh vy nh bng gim st xung t. Gn mt hoc nhiu phng php xung t cho tng nhm ct. Sinh h tr cho cc bng bn sao. To ra cc nhn thi gian v cc trigger bo qun nu cn. Ly li hiulc sao bn. Pht trin mt chin lc gii quyt xung t: Trc khi chn hoc vit mt th tc gii quyt xung t, bn u tin chc chn rng bn hon thnh mi th c th

102

VieBooks

trnh xung t trong v tr u tin.on ny c hnh dng nh th no : *23 Nhn bit v trnh xung t. *24 Chn mt th tc gii quyt xung t thch hp. nh ngha cc ranh gii chc nng: Khi thit k mt mi trng sao bn, cc ng li ch o cho thit k lc CSDL n tt p dng: -ng dng c th c modular, vi cc ranh gii chc nng v cc chc nng ph thuc c nh ngha khng c tr ngi g. -D liu c chun ho gim tng cc chc nng ph thuc n gia cc modul. gim cc xung t tim tng s dng: -Mt m hnh v tr kho c bn chia s d liu gia cc mdul, m hnh cho php ch mt modul cp nht d liu, khi cc modul khc c d liu. -Mt m hnh v tr kho ci tin, ni quyn s hu ca d liu c phn on ngang. S dng kho chnh c sn sinh: S dng cc s tun t c sn sinh lm kho chnh cho tng bng. Bng vic s dng cc s tun t duy nht ti mi v tr, c th trnh xung t duy nht v xc nh ch ca cc dng da trn kho chnh. Mc d vic phn chia n gin cc s tun t gia cc v tr, iu ny c th dn n vn kh gii quyt nh s ca cc v tr, hoc s ca cc thc th tng. Thay vo, cho php mi v tr hiu qu th t ca cc gi tr tun t, v km mt nh danh v tr duy nht nh mt phn ca kho chnh. Cc phng php gii quyt xung t cho quyn s hu ng: Nu quyn s hu v tr kho hoc truy nhp phn tn vo d liu l khng thch hp, cn nhc quyn s hu ng ca d liu. Quyn s hu ng cho php ch mt CSDL (ngi ch) cp nht d liu ti mt thi im. Quyn s hu d liu c php chuyn i gia cc v tr, nhng ch bng cch m bo rng ngi ch c d liu hu nh tn thi nht. Khng ch c th c d liu li thi, v xung t th t c th xy ra, nhng xung t loi ny c gii quyt chnh xc v d dng nu s dng phng nhm u tin hoc phng php ti a.

103

VieBooks

Lu rng cc phng php v tr ch n nh ghi , c th gy ra s khng nht qun. Quyn s hu ng l rt hiu qu trong trng hp: -S chnh xc ca d liu l ct yu, v -C s cnh tranh mc thp ca d liu, hoc -C ch dn a phng (v tr cp nht d liu gn y nht l v tr ph hp lm cp nht d liu tip theo). S dng phng php gii quyt xung t nhn thi gian: Quyn s hu ng khng cn thit hn nh cho nhiu kiu d liu. D liu nh l ngy sinh hoc a ch l t ct li cho vic iu khin chinha xc ca mt ng dng. Do c th mt xung t rt thp. Xa hn na, trn thc t thng c kim tra v cn bng b cho thng tin li thi. Thng c th gii quyt xung t vi kiu d liu ny bng vic s dng phng php nhn thi gian chm nht. (Ch nh mt phng php backup, nh u tin v tr, trong trng hp nhn thi gian ng nht.) Phng php nhn thi gian l c bit hiu qu bi v d liu hi t khng quan tm ti s v tr, nhng phi lm: -Cc kho ng b. -S dng vng thi gian nht qun. -Chc chn vic tng nhn thi gian cho cp nht a phng. Cc phng php ngi dng nh ngha: Phng php nhn thi gian l khng thch hp cho ton b d liu vi quyn s hu chia s. Cc th tc gii quyt xung t ngi dng cung cp c th c s dng khi cc ng ngha ca d liu no khng tng xng cc th tc gii quyt xung t c nh ngha trc ca Oracle cung cp. Cc th tc ngi dng nh ngha cng c th c s dng cho vic gim st v nhn bit trong trng hp xung t. Ghi ch: cc phng php gii quyt xung t cn m bo s hi t d liu v cung cp cc kt qu thch hp cho nghip v s dng d liu ca bn. Trnh xo: ng dng sao bn khng nn lm dng vic xo. Cc xung t lin quan n vic xo l kh gii quyt bi v chng i hi mt lch s v cc dng xo. S sao bn i xng Oracle khng duy tr lch s ny. Thay th, ng dng nh du mt dng 104

VieBooks

nh c xo. Mt cch nh k, cc dng c nh du nh xo c th c loi b. t thi gian lan truyn: Nu cc xung t l c th, nh ngha mt thi gian lan truyn- khong thi gian ti thiu trung bnh gia cc cp nht cng mt dng. Vic s dng cc nhm ct: Cc th tc sn sng trong gi DBMS_REPCAT cho php to v xo cc nhm ct, v cng thm cc thnh phn, xo cc thnh phn, t mt nhm ct ang tn ti. To mt nhm ct vi cc thnh phn: to mt nhm ct mi vi mt hoc nhiu thnh phn, gi th tc MAKE_COLUMN_GROUP trong gi DBMS_REPCAT. Cng thm cc thnh phn vo mt nhm ct ang tn ti: Gi th tc ADD_GROUPED_COLUMN. Xo Cc thnh phn t mt nhm ct: Gi th tc DROP_GROUPED_COLUMN. Xo mt nhm ct: Gi th tc DROP_COLUMN_GROUP. To mt nhm ct rng: Gi th tc DEFINE_COLUMN_GROUP. Ch nh mt th tc gii quyt xung t cho mt bng: C cc th tc ring l trong gi DBMS_REPCAT cho vic ch nh cc phng php gii quyt xung t, S dng th tc ADD_UPDATE_RESOLUTION ch nh mt phng php cho gii quyt xung t cp nht cho mt nhm ct. S dng th tc ADD_DELETE_RESOLUTION ch nh mt phng php cho gii quyt xung t xo cho mt bng. S dng th tc ADD_UNIQUE_RESOLUTION ch nh mt phng php cho gii quyt xung t khng duy nht lin quan n mt rng buc duy nht. Bn phi gi th tc ny v tr nh ngha ch. Phng php gii quyt xung t ny khng thc s c cng n sau thi gian bn GENERATE_REPLICATION_SUPPORT cho bng. Bn c th ch ra nhiu phng php gii quyt xung t cho mt nhm ct, mt bng, mt rng buc. Nu bn cung cp nhiu phng php, chng s c p dng trong mt th t n khi xung t dc gii quyt hoc khng cn phng php no sn sng. Bn phi cung cp mt s th t cho mi phng php bn thm vo. Bn cng c th ch ra mt trng cc phng php chun c cung cp vi symmetric replication 105

VieBooks

facility, hoc bn c th cung cp tn ca mt chc nng bn t vit. Nu bn vit mt th tc gii quyt xung t bn phi gi DBMS_MASTER_REPOBJECT chc nng ny m bo rng n tn ti ti tng v tr ch. Thay i mt th tc gii quyt xung t: thay i phng php gii quyt xung t cho mt bng phi lm nhng bc sau: 1. nh ch hiu lc sao bn i vi cc nhm i tng ca bng bng vic gi DBMS_REPCAT.SUSPEND.MASTER_ACTIVITY. 2. Gi th tc DBMS_REPCAT.ADD_Conflicttype_RESOLUTION vi phng php gii quyt xung t mi. 3. Sinh li h tr sao bn cho i tng bng vic gi DBMS_REPCAT.GENERATE_REPLICATION_SUPPORT. Hoc DBMS_REPCAT.GENERATE_REPLICATION_PACKAGE. V n khng cn thit to li cc trigger sao bn v cc gi lin kt ca chng. 4. Ly li hiu lc sao bn bng vic gi DBMS_REPCAT.RESUME_MASTER_ACTIVITY. Sinh cc th tc sao bn: sinh cc gi h tr cho mt i tng sao bn ti ton b cc v tr ch, nh kim tra cc bng v cc gi gii quyt xung t, gi th tc DBMS_REPCAT.GENERATE_REPLICATION_PACKAGE. Bn phi gi th tc ny ti v tr nh ngha ch cho i tng sao bn. Oracle phi to thnh cng cc gi cn thit ti cc v tr nh ngha ch cho th tc ny. Cc i tng ny c to ng b ti cc v tr ch khc. B mt th tc gii quyt xung t: Cc th tc ring l trong gi DBMS_REPCAT cho vic loi b cc th tc gii quyt xung t. S dng th tc DROP_UPDATE.RESOLUTION loi b mt th tc gii quyt xung t cp nht cho mt nhm ct. S dng th tc DROP_DELETE.RESOLUTION loi b mt th tc gii quyt xung t xo cho mt bng. S dng th tc DROP_UNIQUE.RESOLUTION loi b mt th tc gii quyt xung t khng duy nht lin quan ti mt rng buc duy nht. Cc th tc ny phi c gi t v tr nh ngha ch. Th tc bn ch ra khng thc s loi b n sau thi gian bn GENERATE_REPLICATION_SUPPORT cho bng. 106

VieBooks

S dng cc nhm u tin: s dng phng php nhm u tin gii quyt cc xung t cp nht, u tin to mt nhm u tin, sau thm cc phng php gii quyt xung t ny cho mt nhm ct. to mt nhm u tin, lm nh sau: 1. nh ngha tn ca mt nhm u tin v kiu d liu ca cc gi tr trong nhm. 2. nh ngha mc u tin cho tng gi tr c th ca ct u tin. Nhng thng tin ny lu gi trong RepPriority view. Mt nhm u tin n c th c s dng bi nhiu bng. Do tn bn chn cho ct u tin phi duy nht trong mt nhm i tng sao bn. Ct giao tip vi nhm u tin ny c th c cc tn khc nhau trong cc bng khc nhau. To mt nhm u tin: S dng th tc DEFINE_PRIORITY_GROUP trong gi DBMS_REPCAT. Cng thm cc thnh phn vo mt nhm u tin: S dng cc th tc: ADD_PRIORITY_CHAR. ADD_PRIORITY_VARCHAR2. ADD_PRIORITY_NUMBER. ADD_PRIORITY_DATE. ADD_PRIORITY_RAW. Phi gi th tc ny t v tr nh ngha ch. V c hiu lc sau khi chy GENERATE_REPLICATION_SUPPORT. Nu sa i mt nhm u tin gi cc th tc trong th t sau chc chn vic gii quyt xung t thch hp: 1. DBMS_REPCAT.SUSPEND_MASTER_ACTIVITY. 2. DBMS_REPCAT.ADD_PRIORITY_type. 3. DBMS_REPCAT.GENERATE_REPLICATION_SUP PORT. 4. DBMS_REPCAT.RESUME_MASTER_ACTIVITY. Thay i cc gi tr ca mt thnh phn: c mt vi th tc cho thay i gi tr ca cc thnh phn ca mt nhm u tin. C php ALTER_PRIORITY_type: ALTER_PRIORITY_CHAR. ALTER_PRIORITY_VARCHAR2. ALTER_PRIORITY_NUMBER. ALTER_PRIORITY_DATE. 107

VieBooks

ALTER_PRIORITY_RAW. Nu sa i mt nhm u tin gi cc th tc trong th t sau chc chn vic gii quyt xung t thch hp: 1. DBMS_REPCAT.SUSPEND_MASTER_ACTIVITY. 2. DBMS_REPCAT.ALTER_PRIORITY_type. 3. DBMS_REPCAT.GENERATE_REPLICATION_SUP PORT. 4. DBMS_REPCAT.RESUME_MASTER_ACTIVITY. Thay i mc u tin ca mt thnh phn: S dng th tc ALTER_PRIORITY thay i mc u tin lin kt vi mt thnh phn nhm u tin. Loi b mt thnh phn qua gi tr: C php DROP_PRIORITY_type: DROP_PRIORITY_CHAR. DROP_PRIORITY_VARCHAR2. DROP_PRIORITY_NUMBER. DROP_PRIORITY_DATE. DROP_PRIORITY_RAW. Loi b mt thnh phn qua u tin: S dng th tc DROP_PRIORITY. V d: DBMS_REPCAT. DROP_PRIORITY( gname acct; pgroup status; priority 4); Loi b mt nhm u tin: S dnh th tc DROP_PRIORITY_GROUP. Trc khi s dng th tc ny phi gi th tc DROP_UPDATE_RESOLUTION cho bt k nhm ct no trong nhm i tng sao bn s dng phng php gii quyt xung t nhm u tin vi nhm u tin ny. S dng u tin v tr: u tin v tr l dng c bit ca nhm u tin. C nhiu th tc c lin kt vi u tin v tr chy nh cc th tc c lin kt vi nhm u tin. Nu bn chn s dng phng php u tin v tr gii quyt xung t cp nht, u tin bn phi to mt nhm v tr u tin trc khi cng phng php gii quyt xung t ny cho mt nhm ct. Vic to mt nhm v tr u tin bao gm hai bc: 1. nh ngha tn ca nhm v tr u tin.

108

VieBooks

2. Cng tng v tr vo nhm v nh ngha mc u tin ca n. Thng tin ny c ct gi trong RepPriority view. Ni chung bn ch c mt nhm u tin v tr trong mt nhm i tng sao bn. Nhm u tin v tr ny c th c s dng bt k s lng bng sao bn. To mt nhm u tin v tr: S dng th tc DEFINE_SITE_PRIORITY. Cng thm mt v tr vo nhm: S dng th tc ADD_SITE_PRIORITY_SITE. Thay i mc u tin ca mt v tr: S dng th tc ALTER_SITE_PRIORITY. Thay i v tr lin kt vi mt mc u tin: S dng th tc ALTER_SITE_PRIORITY_SITE. Loi b mt v tr qua tn v tr: S dng th tc DROP_SITE_PRIORITY_SITE. Loi b mt v tr qua mc u tin: S dng th tc DROP_PRIORITY. Loi b mt nhm u tin v tr: S dng th tc DROP_SITE_PRIORITY. Ch trc khi gi th tc ny phi gi th tc DROP_UPDATE_RESOLUTION cho bt k nhm ct trong nhm i tng sao bn ang s dng phng php gii quyt xung t u tin v tr vi nhm u tin v tr ny. Xem thng tin gii quyt xung t: Symmetric replication facility cung cp mt vi view ngi dng c th xc nh phng php gii quyt xung t no c s dng bi tng bng v cc nhm ct trong mi trng sao bn. Mi view c ba phin bn USER_*, ALL_*, SYS.DBA_*: RepResolution_Method: Lit k ton b phng php gii quyt xung t sn sng. RepColumn_Group: Lit k ton b cc nhm ct nh ngha cho CSDL. RepGgouped_Column: Lit k ton b cc ct trong tng nhm ct trong CSDL. RepPrioity_Group: Lit k ton b cc nhm u tin v cc nhm u tin v tr nh ngha trong CSDL. RepPrioity: Lit k cc gi tr v vic tng ng cc mc u tin cho tng u tin hoc nhm u tin v tr.

109

VieBooks

RepConflict: Lit k cc kiu xung t (cp nht, xo, khng duy nht) cho mt phng php gii quyt xung t c ch ra, cho cc bng, cc nhm ct, v rng buc duy nht trong CSDL. RepResolution: Trnh by thm cc thng tin v phng php gii quyt xung t s dng gii quyt xung t cho tng i tng. RepParameter_Column: Trnh by cc ct c s dng bi cc th tc gii quyt xung t gii quyt mt xung t. V/Cng vic v hng i cng vic (Job, Job queue): Trong chng ny tho lun: Khi to cc tham s cn t cc hng i cng vic s dng. Gi DBMS_JOB v cc th tc ca n cho php qun l cc cng vic trong hng i cng vic. Cc vn lu tm vi vic thc hin cng vic. Cc view t in d liu c th s dng xem cc thng tin hng i cng vic. Cc hng i cng vic: S dng hng i cng vic, c cc th tc lp lch thc hin mt cch nh k. Mt th tc ch c th l m PL/SQL. lp lch mt cng vic (job), phi a n ti mt hng i cng vic v xc nh tn s ti cng vic c chy. Cc tin trnh SNP Backgroud: Cc tin trnh background, c gi tin trnh SNP background, thc hin cc hng i cng vic. Tin trnh SNP c nh thc mt cch nh k v thc hin bt k cng vic c chy. Phi c ti thiu mt tin trnh SNP chy thc hin cc cng vic trong background. Tin trnh SNP background khng ging cc tin trnh background khc ca Oracle l li ca mt tin trnh SNP khng dn n instance b li. Nu mt tin trnh SNP li Oracle khi ng li chng. a tin trnh SNP: Mt instance c th c trn 36 tin trnh SNP, c t tn t SNP0 ti SNP19 v SNPA ti SNPZ. Nu mt instance c nhiu tin trnh SNP, nhim v thc hin cc cng vic c th c chia sgia cc tin trnh ny. Lu bao gi mi cng vic chy bi mt tin trnh trong mt thi im. Cc cng vic n khng th c chia s ng thi bi cc tin trnh SNP. 110

VieBooks

Khi ng cc tin trnh SNP: Cc tham s khi to hng i cng vic cho php iu khin cc thao tc ca cc tin trnh SNP background. t cc tham s ny trong file tham s khi to cho mt instance. Tn tham s M t JOB_QUEUE_PROCESS Mc nh: 0 ES Min gi tr: 0..36 a instance: C th c cc gi tr khc nhau t s ca tin trnh SNP background cho mi instance. JOB_QUEUE_INTERVAL Mc nh: 0 (giy) Min gi tr: 1..3600(giy) a instance: C th c cc gi tr khc nhau t khong gia cc ln khi ng cc tin trnh SNP background ca instance. S dng cc hng i cng vic: lp lch v qun l cc cng vic trong hng i cng vic, s dng cc th tc trong gi DBMS_JOB. Th tc M t SUBMIT a mt cng vic vo hng i cng vic. REMOVE Loi b mt cng vic c ch nh trong hng i cng vic. CHANGE Thay i cng vic c ch nh.C th thay i m t cng vic, vo lc cng vic sp c chy, hoc trong khong gia cc ln thc hin cng vic. WHAT Thay i m t cng vic cho mt cng vic c ch nh. NEXT_DAT Thay i ln thc hin tip theo cho mt cng E vic c ch nh. INTERVAL Thay i khong gia cc ln thc hin cho mt cng vic c ch nh. BROKEN Lm mt kh nng hoc c kh nng thc hin cng vic. Nu mt cng vic c nh du nh cng vic b ph hu, Oracle khng c gng 111

VieBooks

RUN

thc hin chng. Hiu lc cng vic c ch nh chy.

Chia quyn v cc hng i cng vic: Khng c quyn CSDL kt ni vi vic s dng cc hng i cng vic. Bt k ngi s dng no cng c th thc hin cc th tc hng i cng vic c th s dng hng i cng vic. Mi trng ca mt cng vic: Khi bn a mt cng vic vo hng i cng vic hoc thay i nh ngha ca cng vic, Oracle ghi cc c im ca mi trng hin ti. Cc c im ny nh sau: Ngi s dng hin ti. Schema hin ti. Cc phn quyn MAC (nu thch hp). Cc tham s NLS nh sau: -NLS_LANGUAGE. -NSL_TERRYITORY. -NSL_CURRENCY. -NSL_ISO_CURRENCY. -NSL_NUMERIC_CHARACTERS. -NSL_DATE_FORMAT. -NSL_DATE_LANGUAGE. -NSL_SORT. Mi ln mi cng vic c thc hin, Oracle lu gi mi trng ca cng vic. Mt cng vic c th thay i mi trng ca nbng vic s dng gi DBMS_SQL v cc lnh SQL ALTER SESSION. Nhp/Xut (Import/Export) v cc hng i cng vic: Cc cng vic c th c nhp v xut. Nu nh ngha mt cng vic trong mt CSDL, c th chuyn n sang mt CSDL khc. Khi export v import cc cng vic, s, mi trng, v nh ngha ca cng vic vn khng c thay i. a mt cng vic vo hng i cng vic: a mt cng vic mi vo hng i cng vic, s dng th tc SUBMIT trong gi DBMS_JOB. Th tc ny s tr li s cc cng vic c a vo hng i. Ngi ch cng mt vic: Khi mt ngi s dng a mt cng vic vo hng i cng vic, Oracle xc nh ngi s dng nh ngi ch ca cng vic. 112

VieBooks

Ch ngi ch ca cng vic c th thay i cng vic, hiu lc cng vic chy, hoc loi b cng vic trong hng i cng vic. Tuy nhin ngi s dng a cng vic phi c cc quyn thch hp ti v tr xa. Cc s cng vic: Mt hng i cng vic c nh ngha bi s cng vic ca n. Khi a mt cng vic, s cng vic c t ng sinh ra t SYS.JOBSEQ. u tin cng vic c gn mt s cng vic, s ny khng th thay i. Nu cng vic c xut v nhp s cng vic vn gi nguyn. Cc nh ngha cng vic: nh ngha cng vic l m PL/SQL xc nh trong tham s WHAT ca th tc SUBMIT. Khong thc hin cng vic: Thc hin cc cng vic nh th no: Cc tin trnh SNP background thc hin cc cng vic. thc hin mt cng vic, tin trnh to mt phin chy cng vic. Khi mt tin trnh SNP chy mt cng vic, cng vic c chy. -Trong mi trng ging mi trng cng vic c a vo. -Vi cc quyn mc nh ca ngi ch cng vic. Khi hiu lc mt cng vic chy bng vic s dng th tc DBMS_JOB.RUN, cng vic c chy bi mt tin trnh ngi s dng. Khi tin trnh ngi s dng chy mt cng vic, n c chy vi ch cc quyn c chia trc tip ca ngi s dng, Cc quyn c chia thng qua cc vai l khng hiu lc. Cc kho hng i cng vic: Oracle s dng cc kho hng i cng vic chc chn rng mt cng vic c thc hin ch bi mt phin ti mt thi im. Khi mt cng vic chun b c chy, phin ca n ginh c mt kho hng i cng vic cho cng vic . Cc database link v cc cng vic: Nu cng vic bn a s dng mt database link, database link phi km theo username v password. Mt database link giu tn s khng thnh cng. Loi b mt cng vic t hng i cng vic: loi b mt cng vic t hng i cng vic, s dung th tc REMOVE trong gi DBMS_JOB. Cc cng vic ang c thc hin 113

VieBooks

s khng b ngt, c ngha l khng loi b c cc cng vic ang c thc hin. Ch c th loi b cc cng vic bn lm ch. Thay i mt cng vic: thay i mt cng vic c a vo hng i cng vic, s dng cc th tc CHANGE, WHAT, NEXT_DATE, hoc INTERVAL trong gi DBMS_JOB. Cc cng vic b ph v: Mt cng vic c gn nhn b ph v hoc khng b ph v. Oracle s khng c gng chy cc cng vic b ph v. C hai kh nng mt cng vic b ph v: Oracle b li thc hin thnh cng sau 16 ln c gng. nh giu mt cng vic nh mt cng vic b hu b, s dng th tc DBMS_JOB.BROKEN. Hiu lc mt cng vic s c thc hin: S dng th tc DBMS_JOB.RUN. Oracle s tnh li ngy thc hin tip theo, v t li b m ca s ln thc hin li ca cng vic trong trng hp cng vic b ph v. Hu b (killing) mt cng vic: C th hu b mt cng vic ang chybng vic nh du cng vic nh cng vic b hu b, xc nh phin ang chy cng vic, v hu b kt ni vi phin ny. c th hu b kt ni vi phin ang chy cng vic bng vic s dng cu lnh SQL ALTER SYSTEM. Xem thng tin hng i cng vic: Cc view t in d liu sau hin th thng tin v cc cng vic trong hng i cng vic: DBA_JOBS. USER_JOBS. DBA_JOBS_RUNNING.

114

VieBooks

Chng 4: C S D Liu Phn Tn trong bi ton Wsc I/Gii thiu khi qut v h thng v cc vn lin quan n h thng: 1/M hnh t chc v m hnh mng ca Cng ty cp nc thnh ph H Ch Minh (WSC): WSC l c quan c nhiu nm ng dng my tnh trong sn xut v qun l kinh doanh. T trc nm 1997 WSC s dng h my tnh IBM sau l cc chng trnh vit bng FoxBase v FoxPro qun l v tnh ho n tin nc.n nm 1997 WSC c trang b mt h thng mng my tnh hin i i hi mt h thng phn mm mi, ng dng cng ngh hin di, c kh nng kt ni din rng, qun l lng khch hng ln v p ng yu cu nghip v l: -p ng 142 yu cu do cc chuyn gia t vn nc ngoi a ra bao trm ln cc lnh vc chnh: Khch hng. Yu cu v khiu ni ca khch hng. ng h vt t, thit b v cc v tr lp t ng h. Biu gi tin nc v tin ph thu. Ch s ng h v x l ho n tin nc. Thu tin. Thng pht khch hng. Phiu cng tc, thi cng v nhn s -p ng yu cu nghip v hin ti. a.T chc cng ty: Th hin qua s :

115

VieBooks

C n t c pn g y c

WC S

H o n

C cp g hn c nn hc g N n M c T h c

C i n h h hn Si G n

C i n h h hn C Ln h

C i n h h hn G h ia n

C i n h h hn T h c

X nh p g i s ac ha X nh p g i t icn h g X nh p g i v nh n h

H g p n

Hn :T c C n t WC h c g y S h b.M hnh mng ca Cng ty WSC: Ti trung tm c hai my ch chnh l Billing v Account c ni vi nhau v chy theo ch d phng. Khi my th nht c s c, th my th hai s m nhn nhim v ca my ch th nht. Trong trng hp my ch chi nhnh c s c th c th khi phc y d liu t trung tm. Ton b mng my tnh ca cng ty WSC c th hin qua hnh sau:

Trn c s t chc mng nh trn, H qun l khch hng v x l ho n tin nc c thit k theo m hnh CSDL phn tn trn mi trng Oracle. 2/Phm vi ca h thng: H thng p ng 142 yu cu do chuyn gia t vn nc ngoi a ra v cc yu cu nghip v hin ti ca WSC. H c chia thnh 4 phn h chnh: -H qun l khch hng. -H x l ho n v thu tin. -H tng hp v phn tch thng tin. -H qun tr. Bao gm hn 120 module chng trnh, 70 module lm bo co, 30 database triggers, 105 thc th, 83 th tc v hm. S bn ghi h thng phi lu khong 35 000 000 bn ghi. 116

VieBooks

II.Cc m hnh phn tn d liu c th p dng cho bi ton: C hai vn c c cp trong khi nim phn tn l: + X l phn tn: + D liu phn tn: Trong phm vi ca lun vn ny s trnh by cc vn lin quan n phn tn d liu. Mc ch chnh l a ra c cc gii php phn tn d liu hiu qu nht cho tng ng dng c th trong thc t. Da vo cc phng php thit k phn on CSDL ngi ta tin hnh phn tn d liu theo nhiu cch khc nhau, trong c ba phng php chnh thng c s dng l: + Phn tn d liu hon ton. + Phng php phn tn partition. + Phng php phn tn s dng replication. 1. Phn tn d liu hon ton. a. nh ngha: L phng php thc hin phn chia bng d liu ca quan h tng th thnh cc phn hon ton c lp vi nhau, sau nh v chng vo cc v tr thch hp theo cc ng dng v yu cu thc t. b. M hnh phn tn d liu hon ton:
Vtr1 CSDL 1
database link

Vtr... CSDL ...

database link

Vtr2 CSDL 2

database link

117

VieBooks

Phng php phn tn d liu hon ton thng s dng k thut phn on dc. Cc CSDL t xa c kt ni vi nhau thng qua database link. Mi khi v tr 1 mun truy nhp ti CSDL ca v tr 2 th thng qua database link v tr 1 s c p ng qua ng truyn trc tip hoc qua ng in thoi. Tuy nhin khi lng d liu mi khi cn truyn l tng i ln cho nn mun p dng c phng php ny th trc ht l yu cu ng truyn phi tt phc v c nhu cu truyn d liu trong thc t. Khng c khi nim v cc v tr ch trong phng php phn tn ny, cng nh vy s tn ti ca v tr trung tm lu tr ton b CSDL l khng cn thit v khi cn tng hp d liu c th thc hin ti bt k v tr no trong h thng mng ca ng dng, d liu s hon ton c truyn trc tip. Gii php gi cho d liu c an ton th ti mi v tr cn c ti thiu hai Server trong c mt Server hot ng theo ch d phng hoc ch cn mt my c kh nng lu tr ton b d liu ca h thng. Vi cc c im nh trn phng php phn tn d liu kiu ny trnh c d tha d liu cao nht, d liu c phn tn thc s ti cc v tr. V d: H thng qun l vt t ca Cng ty TNHH ABC Thc trng ca Cng ty l: Cng ty TNHH ABC chuyn kinh doanh cc loi vt t. Cng ty c ba chi nhnh m nhn cng vic kinh doanh ca mt s loi vt t nh sau: - Chi nhnh 1: Chuyn kinh doanh xi mng, st, thp. - Chi nhnh 2: Chuyn kinh doanh cc trang tr ni tht. - Chi nhnh 3: Chuyn kinh doanh cc in gia dng. Cc chi nhnh ca Cng ty nm trong cng mt Qun ca thnh ph v Cng trang b c mt h thng mng ni b hin i. Nhim v ca h thng: Qun l thng tin ( S lng tn, s lng xut, ...) v cc loi mt hng ca Cng ty. Gii php phn tn d liu cho bi ton: Da trn thc trng l cc chi nhnh ca Cng ty kinh doanh cc loi mt hng l c lp vi nhau, cc chi nhnh c phn b kh gn ng thi Cng ty cng c mt h thng mng cc b tng i tt. Gii php phn tn d liu ph hp cho bi ton ny l dng phng php phn tn d liu hon ton. 118

VieBooks

M hnh phn tn d liu ca Cng ty ABC:


Chi nhnh 1 CSDL 1
database link

Chi nhnh 3 CSDL 3

database link

Chi nhnh 2 CSDL 2

database link

CSDL 1: Cc thng tin v mt hng Xi mng, St, Thp. CSDL 2: Cc thng tin v mt hng Trang tr ni tht. CSDL 3: Cc thng tin v mt hng in gia dng. c. Cc u im ca phng php phn tn d liu hon ton: + Xy dng CSDL v cc ng dng n gin. + Gim mc d tha d liu. + CSDL thng c truyn qua ng truyn trc tip nn an ton d liu cao, tc truyn ln v t xy ra li ng truyn. d. Cc nhc im ca phng php phn tn d liu hon ton: + Gi thnh u t cho cc trang thit b ln: V gii php tt nht l phi c h thng mng cc b vi ng truyn tt. Tuy nhin cng c th truyn d liu qua ng in thoi trong trng hp cn thit. + Phm vi phn tn hn ch. e. Cc ng dng ph hp: + Cc ng dng c CSDL nh v va. + CSDL t n c s phn chia thnh cc phn c lp. + Ni s dng cc ng dng ny phi c ng truyn tt. 2. Phng php phn tn Partition. a. nh ngha: 119

VieBooks

Phng php phn tn Partition thc hin phn chia bng d liu ca quan h tng th thnh cc bng d liu c lp nhng c cu trc ging ht nhau, sau nh v chng vo cc v tr thch hp. b. M hnh phn tn d liu ca phng php Partition:
CSDL 1
database link

CSDL 3
database link

Trung t m
database link database link

CSDL 2

CSDL ...

Nh vy phng php Partiton s dng k thut phn on ngang c s trong qu trnh phn tn d liu. Cc CSDL t xa kt ni vi nhau thng qua database link. Cc khi nim v v tr ch v v tr nh trong phng php ny c cp n: Thng thng cc CSDL c nh v ti cc v tr ( trong thc t thng l cc chi nhnh ), trung tm s tng hp CSDL ti cc chi nhnh qua cc Snapshot. Nh vy, cc chi nhnh thng ng vai tr l v tr ch v trung tm l v tr nh. Cng c d liu ch c cp nht ti v tr trung tm, cc chi nhnh mun tra cu s qua Snapshot. Khi trung tm ng vai tr l v tr ch cn cc chi nhnh ng vai tr l v tr nh. Mi v tr c mt CSDL c lp nhng khng ging nh phng php phn tn hon ton. Trong phng php ny mi khi cn tng hp bo co thng tin v mt loi d liu no th ti v tr trung tm, theo nh k d liu s c lm ti ton b, phn nh ng tnh trng d liu ti cc v tr. Sau mi bt u cng vic tng hp bo co cc thng tin theo yu cu. Qu trnh lm ti d liu thng s dng phng php lm ti nhanh ( Ch cp nht cc thay i ) do lng d liu truyn i 120

VieBooks

hn ch hn nn c th truyn trc tip hoc qua ng in thoi. m bo cho cc d liu c an ton, ti trung tm phi c t nht hai my ch trong mt my s hot ng theo ch d phng. V d: CSDL v Khch hng trong WSC. Thc trng ca Cng ty WSC: WSC c 4 chi nhnh ( Si Gn, Gia nh, Th c, Ch Ln) c phn b trn phm vi rng. Mi chi nhnh u c nhim v qun l Khch hng trong khu vc ca chi nhnh: + Chi nhnh Si Gn: Qun l Khch hng trong khu vc Si Gn. + Chi nhnh Gia nh: Qun l Khch hng trong khu vc Gia nh. + Chi nhnh Th c: Qun l Khch hng trong khu vc Th c. + Chi nhnh Ch Ln: Qun l Khch hng trong khu vc Ch Ln. Ngoi ra Cng ty WCA cn c mt h thng mng tng i hin i. Phn tch cc c im d liu v Khch hng: Cng ty WCA phi qun l mt lng Khch Hng ln trn din rng. Nh vy to ra cc iu kin thun li trong cng tc qun l th ngoi gii php phn vng chc chn khng cn gii php no khc. La chn gii php phn tn d liu: + Chn phng php phn tn hon ton: D liu v Khch Hng tp chung mt chi nhnh l khng th ph hp cho cng tc qun l gy kh khn khng nhng cho Cng ty m cn cho c Khch Hng v khong cch qu xa. Mt khc n lm nh hng n cc ng dng khc ( tnh ho n ... ) ca ton b h thng v nhng ng dng cng cn c cc thng tin chnh xc v Khch Hng. V cn rt nhiu cc kh khn khc nu d liu c phn tn theo phng php hon ton. + Chn phng php phn tn s dng cc replication: Ch trung tm mi c cp nht trc tip vo CSDL cn cc chi nhnh ch c tra cu CSDL qua cc Snapshot. Nh vy cc chi nhnh khng thc hin mt thao tc no i vi CSDL, qu trnh x l u

121

VieBooks

tp chung trung tm. Nh vy gii php ny cng s gp phi nhng kh khn tng t nh gii php phn tn hon ton. + Chn phng php phn tn Partition: y chnh l gii php ph hp cho bi ton ny, cc Khch Hng s c qun l trc tip ti chi nhnh thuc chnh khu vc ca Khch Hng ( Khch Hng Si Gn, Gia nh, Ch Ln, Th c s do cc chi nhnh tng ng Si Gn, Gia nh, Ch Ln, Th c qun l), cc ng dng khc nh tnh ho n cng c thc hin tng ng vi tng Khch Hng trong khu vc. Trung tm l ni lu tr cc d liu ca ring n v nh d liu (Snapshot) ca tt c cc v tr phc v cng tc qun l v tng hp bo co... Nh vy d liu v Khch Hng c cc chi nhnh lu tr trong cc bng c cu trc tng t nh nhau ( cng c cc thuc tnh: M Khch Hng, tn Khch Hng, a ch, ... ) ch cc thng tin c cp nht tht s vo cc bng ti cc chi nhnh l khc nhau. Trong cc phn sau s trnh by c th cch thc hin gii php trn trong ng dng ca WSC. c. Cc u im ca phng php Partition: + Trnh insert mt hng sai v tr. + Cho php thc hin nhanh hn cc thao tc: Ly DL, sa, to index... ti tng Partition do gim c thi gian x l d liu. d. Cc nhc im ca phng php Partition: + Thc hin phn chia d liu tng i phc tp. e. Cc ng dng ph hp: + ng dng c lng d liu ln. + Cc ng dng c phm vi a l tng i rng. + Cc d liu b rng buc bi mt s iu kin khch quan. 3. Phng php phn tn s dng cc Replication. a. nh ngha: L phng php s dng cc bng copy ( cn gi l cc bng nh) ca mt hay nhiu phn d liu t bng ch. b. M hnh phn tn d liu ca phng php phn tn d liu s dng cc Replication: 122

VieBooks

Replicate1
lm t i

Replicate2
lm t i

CSDL
lm t i lm t i

Replicate3

...

D liu c copy v tu theo yu cu v mc ch ca ngi s dng cn tra cu nh th no, cho nn ti cc v tr khc nhau c th c nhiu cc bn sao d liu trng lp. Tuy nhin cn nhn mnh rng d liu nh c to ra t phng php ny ch tra cu m khng cp nht c. V yu cu v mc ch ca ngi s dng tng i a dng cho nn phng php phn tn s dng cc Replication s dng kt hp tt c cc k thut phn on (nh) CSDL: Phn on ngang, phn on dc v phn on hn hp. D liu thng c truyn qua ng in thoi. V d: CSDL v Vn Bn Php Quy ca Vn phng Chnh Ph. CSDL v Vn Bn Php Quy c c im l cc thao tc lm thay i CSDL ch c thc hin ti Vn phng Chnh Ph nhng c tra cu bi tt c cc Tnh, Thnh Ph trong c nc. Da trn c im nh trn ca CSDL, nu s dng hai phng php phn tn d liu: Hon ton v Partition l khng hp l c v chuyn mn v tnh cht kinh t ca ng dng. Vy gii php thch hp cho CSDL ny l s dng Replication. c. Cc u im ca phng php phn tn s dng cc Replication: + D xy dng CSDL cng nh cc chng trnh ng dng.

123

VieBooks

+ Truy nhp nhanh, v thi gian truyn thng tin trn mng gim. + C th s dng ng in thoi truyn d liu i xa. + Mi v tr u c th s dng ton b d liu ca CSDL. d. Cc nhc im ca phng php phn tn s dng cc Replication: + Mc d tha d liu cao. + Tng thi gian truy nhp d liu cc b, v phi truy nhp trn mt CSDL ln. e. Cc ng dng ph hp: + Cc CSDL khng qu ln nhng phm vi a l ng dng rng.

III/M hnh phn tn d liu ti WSC. 1/Phn tn chc nng hot ng gia trung tm v chi nhnh ti WSC: -Trung tm c cc chc nng sau: +Qun l cc danh mc ca h thng. +Cc thng s h thng. +Cc n v trc thuc: cc chi nhnh, cc nh my nc. +To cc bo co phc v cho cng vic hot ng trn ton cng ty. -Cc chi nhnh c cc chc nng sau: +Qun l khch hng. +Qun l cc dch v i vi khch hng. +Qun l vic c ng h ca khch hng. +Cc bo co phc v cho cng vic qun l ti chi nhnh. 2/M hnh d liu chung ti WSC:

124

VieBooks

Sig n ao Dt b aa a s e C nea et r l D t bs aa ae

Co n h lo D t bs aa a e

G dn ia h D t bs aa ae

T uu hdc D t bs aa ae

S d liu -Trung tm: D liu ti trung tm phi l hnh nh y v hot ng ca cng ty. -Chi nhnh: L mt phn con ca d liu ti trung tm, sao cho d liu chi nhnh c th thc hin cc chc nng ca mnh. 3/M hnh d liu phn tn ti WSC: H thng ca chng ta s dng m hnh Basic Replication: Primary Site Replication v Advanced Primary Site Replication. -Primary Site Replication: Mt s bng c qun l ti trung tm v c cc bn sao (read-only snapshot) ca chng ti cc chi nhnh. Nh vy, quyn lm ch ca bng l thuc trung tm. -Advanced Primary Site Replication: Cc bng cn li c chia thnh nhiu phn ring bit, mi phn c qun l bi mt chi nhnh. Tng ng vi mi phn d liu s c mt bn sao ti trung tm, cc bn sao ca cc phn ring bit ca cung mt bng ti trung tm s c gp li thnh mt tng duy nht (bn sao tng hp ca cc chi nhnh) phc v cho qu trnh x l d liu. 4/Cc ch khi to cc bng ti cc chi nhnh trong cu hnh CSDL phn tn: -m bo cc rng buc: Cc rng buc ca cc bng ti cc chi nhnh (tc l ti mt CSDL) ng nhin phi c m bo. 125

VieBooks

Ngoi ra cc rng buc ny phi c m bo trn ton b h thng d liu (bao gm nhiu CSDL). Oracle Server ti mt CSDL khng th m bo c iu ny, do ta phi thit k mt cch hp l m bo c iu ny. -Phi xc nh c ni pht sinh d liu cho mt bng nht nh (ti cc chi nhnh, ti trung tm hoc c hai). -Tn ca cc bng: Cc module ti cc chi nhnh khi thc hin thao tc ln CSDL c mt yu cu l tn cc i tng c s dng phi n nh mc d i tng c th c kiu khc nhau (table, view, synonym, snpashot...). Trong khi cc bng c to ra cha chc l cc i tng truy nhp trc tip ca cc module, m n phi kt hp vi cc i tng mi, do cc bng c th phi i tn cho cc i tng c th s dng tn . Nh vy cc module mi c th truy nhp trc tip cc i tng. m bo cho m hnh d liu phn tn p ng c cc ch trn ta phi thc hin vic phn tch tng bng trong h thng c c nhng thng tin cn thit trong bng sau:
T b nm a le a e O nr C nt a t we o sr ins Sq e c s e une

Ch thch: -Table name: L tn bng theo thit k hin ti. -Owner: Xc nh xem quyn lm ch bng s l trung tm hay chi nhnh. Gi tr cho ct ny c th l mt trong hai gi tr 'Trung tm' hoc 'Chi nhnh'. Quyn lm ch y c ngha l cc thao tc Update ln bng s do pha no thc hin. Nu mt bng no c th Update c t c trung tm v chi nhnh th m hnh d liu phn tn trn s khng p dng c. -Constrains: Lit k tt c cc rng buc trn bng theo th t v khun dng sau: Primary key: PK_NAME(column1,column2,...) Unique key:UK_NAME(column1,column2,...) Foreign key: FK_NAME(col1,col2,...) => REF_TABLE(ref_col1,ref_col2,...) -Sequences: Lit k tt c cc sequence m bng c s dng n theo khun dng sau: SEQ_NAME(column_use_this_sequence) V d 1: 126

VieBooks

ABC: Assign billing cycle to customers. Owner: Branch. Constraints: + ASS_BCY_PK(CUST_ID, STT) + ASS_BCY_BLL_CYS_FK (BRANCH_ID,BC_CODE)=> BILLING_CYC (BARANCH_ID, CODE) + ASS_BCY_CUST_FK (CUST_ID) => CUSTOMERS(ID) Sequences: Notes: Names: + Branch: Table ABC + Center: Snapsshot ABC$TD, ABC$SG ...; View ABC V d 2: ACTIVITIES_CUST_PARAMETERS Owner: Center Constraints: + ACTIVITY_C_PK(ID,CPRS_ID) + ACTIVITY_C_ ACTIVITY_FK(ID) => ACTIVITY(ID) + ACTIVITY_C_CPRS_FK (CPRS_ID) => CUST_ PARAMETERS(CPRS_ID) Sequences: Notes: nh ngha ti trung tm v c s dng ti cc chi nhnh trong cc giao dch vi khch hng. a.Cch t tn: -Nu mt bng c ngun gc t chi nhnh th cch t tn n nh sau: Ti cc chi nhnh c cc bng cng tn. Ti trung tm c cc Snapshot c tn to bi tn bng ghp vi du $ v m chi nhnh, v mt View c cng tn vi bng tng hp d liu t cc Snapshot. V d : Bng ABC c ngun gc t cc chi nhnh do n c cch t chc nh sau: Ti cc chi nhnh Si Gn, Ch Ln, Th c, Gia nh c cc bng tn l ABC. Ti trung tm c 4 snapshot l ABC$SG, ABC$CL, ABC$TD, ABC$GD ly d liu t cc bng cc chi nhnh theo cu lnh sau: CREATE SNAPSHOT ABC$SG AS SELECT * FROM ABC@saigon; v mt View tng hp d liu t 4 chi nhnh: CREATE VIEW ABC AS 127

VieBooks

SELECT *FROM ABC$SG UNION SELECT *FROM ABC$CL UNION SELECT *FROM ABC$TD UNION SELECT *FROM ABC$GD; -Nu mt bng c ngun gc t trung tm v d liu ca n khng ph thuc vo tng chi nhnh th n c cch t tn nh sau: Ti trung tm c mt bng nh tn nh. Ti mi chi nhnh c mt Snapshot c cng tn. V d: Bng EXCHANGES c ngun gc t trung tm. Ti trung tm c mt bng c tn l EXCHANGES. Ti mi chi nhnh c mt Snapshot c tn EXCHANGES v c to ra nh sau: CREATE SNAPSHOT EXCHANGES AS SELECT * FROM EXCHANGES@wsc; -Nu bng c ngun gc trung tm nhng bn thn d liu li ph thuc tng chi nhnh th n cng c cch t tn nh trn nhng khc cu lnh to Snapshot. V d: To Snapshot BILLS ti chi nhnh Ch Ln CREATE SNAPSHOT BILLS AS SELECT * FROM BILLS@wsc WHERE BRANCH_CODE = 'CL'; b.Cch to cc FK: Ti cc chi nhnh cc FK c dnh dng n cc Snapshot (n hoc i t) vn c gi nguyn, ch c tn bng cha Snapshot c s dng thay v tn Snapshot. Ti trung tm cc FK c dnh dng n cc Snapshot c tch thnh 4 FK. c.Tin hnh: S dng Designer/2000 thc hin vic to cc DDL scripts. -To hai Application i din cho trung tm v chi nhnh (CENTER v BRANCH), v to mt Application tn l ALL_OBJECTS phc v cho mc ch to ra cc FK ca tt c cc bng trong h thng mt cch tng th.

128

VieBooks

-Vo cc ng dng WBL, WCA, WMA v WMI share tt c cc bng cho hai ng dng ny mt cch tng ng (bng no c ngun gc trung tm th a vo ng dng CENTER v ngc li bng no c ngun gc chi nhnh th a vo ng dng BRANCH. Share tt c cc bng v sequence ca 4 ng dng WBL, WCA, WMA, WMI cho ng dng ALL_OBJECTS. -Ti CENTER to tt c cc snapshot cn thit tham chiu n cc bng ca cc chi nhnh theo cch t tn trn, sau to cc Views tng ng tng hp thng tin t cc Snapshot. -Ti BRANCH to tt c cc Snapshot tham chiu n cc bng ca CENTER, cn n iu kin chn lc trong mt s bng c lin quan n chi nhnh. to iu kin chn lc kh thi, c mt s cch nh sau: Bng BRANCH ti chi nhnh ch cha thng tin ca ring chi nhnh . Tuy nhin mt s module (mc d hot dng ti chi nhnh) cn bit n tt c cc chi nhnh khc. Bng BRANCH cha thng tin v tt c cc chi nhnh v c mt bngringcngcu trc vi BRANCH cha thng tin v chi nhnh hin ti.. Bng BRANCH cha thng tin v tt c cc chi nhnh v trong bng WSC_PARAMETERS c cha mt bn ghi ch ra m ca chi nhnh hin thi.. Ta s chn cch th 3 thc hin. V d vi chi nhnh Ch Ln, ta thc hin lnh sau: INSERT INTO WSC_PARAMETERS (NAME, VALUE, DESCRIPTION) VALUES('BRANCH_CODE', 'CL', 'M ca chi nhnh hin ti'); Khi iu kin ly bng BNR nh sau: CREATE SNAPSHOT BNR AS SELECT * FROM BNR@wsc WHERE BRANCH_ID IN SELECT BRANCH.ID FROM BRANCH, WSC_PARAMETERS WHERE BRANCH.BRANCH_CODE = WSC_PARAMETERS.VALUE AND WSC_PARAMETERS.NAME = 'BRANCH_CODE' ;

129

VieBooks

Ln lt vo 3 ng dng CENTER, BRANCH, ALL_OBJECTS thc hin vic to ra cc DDL script.

IV/Phn tn d liu v khch hng trong WSC: V WSC l mt h thng kh ln, nn trong phm vi ca lun n xin ch trnh by chi tit cch thc thc hin phn tn mt phn d liu y v Khch Hng trong h thng WSC. 1/Gii thiu cc thc th trong ng dng qun l Khch Hng: +Khch Hng (CUSTOMER) : H thng lu cc thng tin v khch hng: CUSTOMER_N0: L m s duy nht ng vi mi khch hng gi l m danh b, m ny c thit lp da trn a danh ph (STREET), phng (WARD), tiu khu (SUBAREA) v qun (DISTRICT). CONTRACT_N0:M ca hp ng c k kt gia khch hng v cng ty v s dng nc. CONTRACT_DATE: Ngy k hp ng. NAME:Tn khch hng. ADDRESS: a ch ca khch hng. INST_ADDRESS: a ch ci t ng h. PAYMENT_TYPE: Kiu thanh ton tin ca khch hng. Mt s cc thuc tnh khc l: TELFAX, IDCARD_N0, SORT_NAME, STATUS,HOUSE_NUM, PERSON_NUM, BANK_ACCOUNT, BANK_OWNER, BANK_NAME, TOTAL_QUOTA, USAGE_LIST, WSC_SIGNED . Ngoi ra ng vi mi khch hng chnh cn c th c cc khch hng ph (SUB_CUSTOMER) c phn bit bi SUB_CUST_ID (nu l khch hng chnh th thuc tnh ny nhn gi tr NULL). Vi mi loi khch hng thuc mt trong cc loi: T gia,Tp th,C quan, Ngi nc ngoi. Khch hng c th s dng nc cho nhiu mc ch khc nhau nh dng cho sinh hot v sn xut v mi mt ch c mt gi biu ring. Mt khch hng thuc mt

130

VieBooks

t tnh ho n/thu tin/c s nht nh. ng h lp t c lu y cc thng s k thut v v tr vt l. Mt s cc thc th khc ca ng dng qun l Khch Hng: +STREET: Ph +WARD: Phng +SUBREA: Tiu khu +DISTRICT: Qun +CUSTOMER CATEGORY: Loi khch hng +ACTIVITY: Hot ng +BRANCH: Chi nhnh +ACTIVITY_ASSIGN +CURRENCY: Tin t +CUST NOTE: Cc ch thch v khch hng +AUDITTRAIL +SUB_CUSTOMER: Khch hng ph +USAGE ASSIGN: Kiu s dng +METER_INSTALLATION: Ci t ng h +SERVICE ORDER: Danh sch cc dch v +SUPPORT_CALL:ng k khch hng +COMPAINT : Yu cu khiu ni ca khch hng Hin nay tng s khch hng ca cng ty l 500,000 khch hng. 2/Thc hin phn tn CSDL. Ti trung tm (Center) c cc bng d liu nh trong kt qu ca cu lnh SELECT di y: SQL> select * from tab where tabtype='TABLE'; TNAME TABTYPE CLUSTERID ------------------------------ ------- --------ACTIVITY TABLE BRANCH TABLE 131

VieBooks

CCATS TABLE COMPLAINTS TABLE CURRENCY TABLE WSC_PARAMETERS TABLE WSC_USERS TABLE Cc chi nhnh Si Gn, Gia nh, Ch Ln, Th c c cc bng d liu: ACTIVITY_ASSIGN, AUDIT_TRAILS ... SQL> select * from tab where tabtype='TABLE'; TNAME TABTYPE CLUSTERID ------------------------------ ------- --------ACTIVITY_ASSIGN TABLE AUDIT_TRAILS TABLE CUSTOMERS TABLE CUST_NOTE TABLE DISTRICTS TABLE STREETS TABLE SUBAREA TABLE SUB_CUSTOMERS TABLE SUPPORT_CALL TABLE USAGE_ASSIGN TABLE WARDS TABLE WSC_PARAMETERS TABLE WSC_USERS TABLE Ti trung tm c cc Snapshot ca cc table ti cc chi nhnh, v ti cc chi nhnh cng c Snapshot ca d liu trung tm. Script thc hin vic to Database link kt ni vi CSDL t xa DBlink.sql. Kt qu l 8 Database link (4 Database link l Center ti 4 chi nhnh v cc Database link: SaiGon, Giainh, Thuc, ChoLon ti Center) c to ra: REM REM REM REM REM REM REM REM Create database links CENTER CENTER CENTER CENTER SAIGON GIADINH 132

VieBooks

REM REM REM

CHOLON THUDUC

PROMPT Create database link CENTER for SAIGON branch CONNECT SAIGON/SAIGON@STU; Create database link CENTER connect to CENTER identified by CENTER using 'VPCP' ; PROMPT Create database link CENTER for GIADINH branch CONNECT GIADINH/GIADINH@STU; Create database link CENTER connect to CENTER identified by CENTER using 'VPCP' ; PROMPT Create database link CENTER for CHOLON branch CONNECT CHOLON/CHOLON@STU; Create database link CENTER connect to CENTER identified by CENTER using 'VPCP' ; PROMPT Create database link CENTER for THUDUC branch CONNECT THUDUC/THUDUC@STU; Create database link CENTER connect to CENTER identified by CENTER using 'VPCP' ; PROMPT Create database link SAIGON for CENTER site CONNECT CENTER/CENTER@VPCP; Create database link SAIGON connect to SAIGON identified by SAIGON using 'STU' ; 133

VieBooks

PROMPT Create database link GIADINH for CENTER site CONNECT CENTER/CENTER@VPCP; Create database link GIADINH connect to GIADINH identified by GIADINH using 'STU' ; PROMPT Create database link CHOLON for CENTER site CONNECT CENTER/CENTER@VPCP; Create database link CHOLON connect to CHOLON identified by CHOLON using 'STU' ; PROMPT Create database link THUDUC for CENTER site CONNECT CENTER/CENTER@VPCP; Create database link THUDUC identified by THUDUC using 'STU' ; REM Database links created connect to THUDUC

Mt phn Script thc hin vic to cc Snapshot ti v tr trung tm Sna_cen.sql nh sau: REM Create PROMPT Create REM REM REM Create PROMPT Create REM GIADINH REM ACTIVITY_ASSIGN$GD REM AUDIT_TRAILS$GD REM CUSTOMERS$GD REM CUST_NOTE$GD REM DISTRICTS$GD snapshots from BRANCHS snapshots from BRANCHS snapshots from GIA DINH snapshots from GIA DINH

134

VieBooks

REM STREETS$GD REM SUBAREA$GD REM SUB_CUSTOMERS$GD REM SUPPORT_CALL$GD REM USAGE_ASSIGN$GD REM WARDS$GD REM WSC_PARAMETERS$GD REM WSC_USERS$GD REM REM REM REM REM Create snapshots from THU DUC PROMPT Create snapshots from THU DUC REM THUDUC REM ACTIVITY_ASSIGN$TD REM AUDIT_TRAILS$TD REM CUSTOMERS$TD REM CUST_NOTE$TD REM DISTRICTS$TD REM STREETS$TD REM SUBAREA$TD REM SUB_CUSTOMERS$TD REM SUPPORT_CALL$TD REM USAGE_ASSIGN$TD REM WARDS$TD REM WSC_PARAMETERS$TD REM WSC_USERS$TD REM CONNECT CENTER/CENTER@VPCP; REM PROMPT Create snapshot ACTIVITY_ASSIGN$GD Create snapshot ACTIVITY_ASSIGN$GD as select * from ACTIVITY_ASSIGN@GIADINH ; REM PROMPT CREATE SNAPSHOT AUDIT_TRAILS$GD

135

VieBooks

Create snapshot AUDIT_TRAILS$GD as select * from AUDIT_TRAILS@GIADINH ; REM PROMPT CREATE SNAPSHOT CUSTOMERS$GD Create snapshot CUSTOMERS$GD as select * from CUSTOMERS@GIADINH ; REM PROMPT CREATE SNAPSHOT CUST_NOTE$GD Create snapshot CUST_NOTE$GD as select * from CUST_NOTE@GIADINH ; REM PROMPT CREATE SNAPSHOT DISTRICTS$GD Create snapshot DISTRICTS$GD as select * from DISTRICTS@GIADINH ; REM PROMPT CREATE SNAPSHOT STREETS$GD Create snapshot STREETS$GD as select * from STREETS@GIADINH ; REM PROMPT CREATE SNAPSHOT SUBAREA$GD create snapshot SUBAREA$GD as select * from SUBAREA@GIADINH ; REM PROMPT CREATE SNAPSHOT SUB_CUSTOMERS$GD create snapshot SUB_CUSTOMERS$GD as select * from SUB_CUSTOMERS@GIADINH ; 136

VieBooks

REM PROMPT CREATE SNAPSHOT SUPPORT_CALL$GD create snapshot SUPPORT_CALL$GD as select * from SUPPORT_CALL@GIADINH ; REM PROMPT CREATE SNAPSHOT USAGE_ASSIGN$GD create snapshot USAGE_ASSIGN$GD as select * from USAGE_ASSIGN@GIADINH ; REM PROMPT CREATE SNAPSHOT WARDS$GD create snapshot WARDS$GD as select * from WARDS$GD@GIADINH ; REM PROMPT CREATE SNAPSHOT WSC_PARAMETERS$GD create snapshot WSC_PARAMETERS$GD as select * from WSC_PARAMETERS@GIADINH ; REM PROMPT CREATE SNAPSHOT WSC_USERS$GD create snapshot WSC_USERS$GD as select * from WSC_USERS@GIADINH ; REM REM REM Sau khi Script Sna_cen.sql thc hin ti Center ngoi cc bng d liu c cn c thm mt tp cc Snapshot t cc chi nhnh. Bng TAB1 trong phn ph lc m t ton b CSDL ca Center. Tng t nh vy cc Script Sna_SG.sql, Sna_GD.sql, Sna_CL.sql, Sna_TD.sql s to cc Snapshot t v tr Center ti cc chi nhnh tng ng. 137

VieBooks

Trc khi trnh by cc Script dng thc hin lm ti cc Snapshot, xin gii thiu Script: Log_cen.sql l mt trong 5 Script thc hin vic to cc Snapshot log ti v tr ch.

REM This is log_cen.sql script REM Create snapshot log at CENTER site PROMPT Create snapshot log at CENTER site REM REM REM ACTIVITY REM BRANCH REM CCATS REM COMPLAINTS REM CURRENCY REM REM CONNECT center/center@vpcp; REM Create Create Create Create Create snapshot snapshot snapshot snapshot snapshot log log log log log on on on on on ACTIVITY; BRANCH; CCATS; COMPLAINTS; CURRENCY;

PROMPT snapshots created

138

VieBooks
USAGE ASSIGN
o o o * o PERCENTAGE AMOUNT QUOTA ASSIGN_DATE STATUS

SUB_CUSTOMER
* * o * * o

SUB_NO NAME CONTACT ADDRESS PERCENTAGE REG_DATE STATUS

USAGE CATEGORY

* USAGE_CODE * DESCRIPTION

AUDIT TRAIL
* * * * * * AUDIT_NO AUDIT_DATE ATTR_NAME OLD_VALUE NEW_VALUE PERSON

CUST_NOTE
* NOTE_DATE * REMARK

ACTIVITY_ASSIGN
* ASSIGN_DATE * STATUS

METER_INSTALLATI ON
* * * o o o CONNECT_DATE SERVICE_STATUS STATUS CHANGE_DATE X_COORDINATE Y_COORDINATE

ACTIVITY CUSTOMER
* * * * * o o o * * o o * o o o o o * CUSTOMER_NO CONTRACT_NO CONTRACT_DATE NAME ADDRESS TELFAX IDCARD_NO SORT_NAME INST_ADDRESS STATUS HOUSE_NUM PERSON_NUM PAYMENT_TYPE BANK_ACCOUNT BANK_OWNER BANK_NAME TOTAL_QUOTA USAGE_LIST WSC_SIGNEDBY

* ACTIVITY_CODE * DESCRIPTION

SERVICE ORDER
* * o o o o o * o

CUSTOMER CATEGORY

SVC_ORD_ID SVC_DATE START_DATE END_DATE PERCENT_COMPLETION PRE_COST POST_COST WORK_PROGRESS REMARK

* CCAT_CODE * DESCRIPTION

CURRENCY

* CURRENCY_CODE * CURRENCY_NAME o EXCHANGE_RATE

SUPPORT_CALL
* * * * * o o o o SUPPORT_NO CALL_DATE CALL_TYPE CONTENT OPERATOR STATUS SATISFACTION DONE_DATE REMARK

CRITICAL_PARA METER
# * * * o CP_CODE PERIOD_TYPE START_PERIOD END_PERIOD DESCRIPTION

STREET

* STREET_CODE * NAME

WARD

* WARD_CODE * NAME

SUBAREA

* AREA_CODE * NAME

DISTRICT

* DIST_CODE * NAME

COMPLAINT
* * * o

COMP_CODE DESCRIPTION COMP_TYPE HELPONLINE

BRANCH

* BRANCH_CODE * NAME

139

You might also like