8.8 Oracle????? - PowerPoint PPT Presentation

1 / 121
About This Presentation
Title:

8.8 Oracle?????

Description:

Title: PowerPoint Last modified by: User Created Date: 1/1/1601 12:00:00 AM Document presentation format: Other titles – PowerPoint PPT presentation

Number of Views:21
Avg rating:3.0/5.0
Slides: 122
Provided by: educ5480
Category:

less

Transcript and Presenter's Notes

Title: 8.8 Oracle?????


1
??? ????
???????????? ???
2
??? ????
  • 8.1 ??????
  • 8.2 ??
  • 8.3 ????
  • 8.4 ?????
  • 8.5 ?????????
  • 8.6 ?????
  • 8.7 ?????
  • 8.8 Oracle?????
  • 8.9 ??

3
??????
  • ???????
  • (1)??????
  • ????????????,????????????????????
  • ??????????,?????????????

4
????(?)
  • (2)??????(interleaved concurrency)
  • ?????????????????????????
  • ?????????????,????????????,????????

5
????(?)
  • (3) ??????(simultaneous concurrency)
  • ????????,?????????????,???????????????,?????????
    ?????
  • ????????,????????
  • ???????????

6
???????????
  • ??????????????,????????????????
  • DBMS??????????
  • ??????????????????DBMS??????????

7
8.1 ??????
  • ?????????
  • ???????????
  • ????????
  • ??????????

8
?????????????
????T1????T2???!
9
?????????????
  • ????(lost update)
  • ?????(non-repeatable read)
  • ????(dirty read)?

10
1. ????
  • ????????1???2??????
  • ????????
  • ??2??????????1?????,
  • ????1???????

11
2. ?????
  • ?????????1?????,??2
  • ??????,???1?????????
  • ???

12
???????
  • 1 .??1???????,??2??????,???1???????,?
    ??????????
  • 2.??1???????????????????,??2?????????
    ,???1????????????,?????????????
  • 3.??1???????????????????,??2???????,?
    ??1????????????,?????????
  • ???????????????(Phantom Row)???

13
3. ????
  • ??????1??????,???????,??2???????,??
    1?????????,????1???????????,??2?????????????????,?
    ???????,??2????????????

14
?8.1 ????????(a)
T1 T2
? ?A16   ?   ? A?A-1 ??A15   ?     ?A16         A?A-1 ??A15
(a) ????
15
?8.1 ????????(b)

(b) ?????
16
?8.1 ????????(c)

(c) ????
17
??? ????
  • 8.1 ??????
  • 8.2 ??
  • 8.3 ????
  • 8.4 ?????
  • 8.5 ?????????
  • 8.6 ?????
  • 8.7 ?????
  • 8.8 Oracle?????
  • 8.9 ??

18
8.2 ??
  • ???????
  • ????????
  • ???????????

19
???????
  • ??(Locking)????T????????(???????)????,
    ????????,?????
  • ?????T??????????????,???T???????,??????????????
    ?
  • ????????????????????

20
8.2 ??
  • ???????
  • ????????
  • ???????????

21
????????
  • DBMS????????????????????????????? ????????
    ???????????
  • ??????
  • ???(eXclusive locks,???X?)
  • ???(Share locks,???S?)?

22
???
  • ?????????
  • ???T?????A??X?,????T?????A,???????????A???????,
    ??T??A????
  • ??????????T??A?????,????????A?

23
???
  • ?????????
  • ???T?????A??S?,???T???A?????A,????????A?S?,????
    X?,??T??A??S??
  • ????????????A,??T??A??S???,???A???????

24
8.2 ??
  • ???????
  • ????????
  • ???????????

25
????????(?8.2)
??8.2??????????,?????????T1???????????????,
??????????.?????????T2??????????????.
T2???????????????Y?N??,??Y????T2??????T1???????,??
??????.N????T2??????T1???????, T2??????.
T1 T2
?8.2 ?????????
YYes,????? NNo,??????.
26
??? ????
  • 8.1 ??????
  • 8.2 ??
  • 8.3 ????
  • 8.4 ?????
  • 8.5 ?????????
  • 8.6 ?????
  • 8.7 ?????
  • 8.8 Oracle?????
  • 8.9 ??

27
8.3 ????
  • ???X??S?????????,????????????(Locking
    Protocol)
  • ????X??S?
  • ??????????
  • ???????,???????????
  • ??????????????
  • ?????????????????

28
????????
  • ????????T?????R????????X?,????????????????
  • ????(COMMIT)
  • ?????(ROLLBACK)?
  • ??????????????
  • ????????,????????,??????,???????????,??????????
    ??????

29
??????(?8.3a)
??????
30
????????
????
31
????????

?????
32
????????
  • ????????????????T?????R????????S?,???
    ????S??
  • ?????????????,?????????????
  • ????????,???????????S?,????????????

33
????????

?????
?
(??)
34
??????
  • ??????????T?????R????????S?,?????????
    ?
  • ?????????????????????????

35
?????????8.3(b)

T1 T2
?  Slock A ?A50 Slock B ?B100 ??150 ?     ? ?A50 ?B100 ??150 Commit Unlock A Unlock B ?     ?           Xlock B ?? ?? ?? ?? ?? ?? ?? ?? ??Xlock B ?B100 B?B2 ??B200 Commit Unlock B
????
36
????????

T1 T2
? Xlock C ?C 100 C?C2 ??C200 ?   ? ROLLBACK (C???100) Unlock C ?   ?               Slock C ?? ?? ?? ?? ??Slock C ?C100 Commit C Unlock C
?????
37
4.??????
  • ?????????
  • ??????????
  • ?????(?????)?

38
??????(?)
? 8.1 ?????????
39
??? ????
  • 8.1 ??????
  • 8.2 ??
  • 8.3 ????
  • 8.4 ?????
  • 8.5 ?????????
  • 8.6 ?????
  • 8.7 ?????
  • 8.8 Oracle?????
  • 8.9 ??

40
8.4 ?????
  • ?????????????????????,??????????
  • ??
  • ???

41
8.4.1 ?? ?8. 4 ( a)
42
??????
  • ??????????
  • ????????????????,??????????????????????,
    ???????????,??????????????????

43
8.4.2 ?? ?8.4(b)
  • T1 T2

44
???????
  • ????
  • 1. ????
  • 2. ?????????

45
1. ?????
  • ?????,??????????????????????????,???
    ???????????????????,????????
  • ????????????????????

46
?????(?)
  • ???????
  • ?????
  • ??????

47
(1)?????
  • ????????????????????????????,??????????
  • ????????????????
  • ??????????????????,??????????,??????????????

48
?????(?)
  • ????????????
  • ????????????,???????????,???????????????,??
    ???????????????????????
  • ???????????????????????,????????????

49
(2)?????
  • ?????????????????????,???????????????
  • ??????????
  • ?????
  • ??????????????????,????????????????????,??????????
    ?????????????,?????

50
?????(?)
  • ????
  • ??????????????????????,??????????????????,?
    ?????????????????
  • ?????????????A,B,C,D,E???T3??????????B,C,E,?
    ?????B,C?,????????A,???????????

51
?????(?)
  • ??
  • ?????????????????????????????
  • DBMS???????????????????????????

52
2. ????????
  • ??????
  • ????
  • ?DBMS?????????????????????
  • ???????,???????

53
???????
  • ???????????????????,?????????
  • ?? ????
  • ??
  • ???????
  • ????????,????????????

54
????
  • ????????????????????
  • ???????????G(T,U)
  • T??????,????????????
  • U?????,????????????
  • ?T1??T2,?T1,T2????????,?T1??T2?
  • ????????????????????????????????(????1
    min)???????,??????????,????????????

55
????????(?)
  • ????
  • ???????????????,????,????????????,????????
    ???? ??,?????????????????????? ?

56
??? ????
  • 8.1 ??????
  • 8.2 ??
  • 8.3 ????
  • 8.4 ?????
  • 8.5 ?????????
  • 8.6 ?????
  • 8.7 ?????
  • 8.8 Oracle?????
  • 8.9 ??

57
8.5 ?????????
  • ????????????????
  • ??????????????????

58
????????????????
  • ???????????????????????,?????????????????
  • ?????????????????????????
  • ???????????????????????,????????????????,?
    ????????????????????????

59
??????????????(?)
  • ????????????????????????,????????????????,????
    ????????
  • ???????????????,????????????????????
    ??????,??????????????(Serializable)????

60
??????????????(?)
  • ??????????????????
  • ?????????,????????
  • ??1?BAB1??A
  • ??2?ABA1??B
  • ??A????2,B????2?

61
??????????????(?)
  • ?????????????
  • ????
  • ??????1
  • ??????2
  • ????
  • ????????
  • ???????

62
?8.5 (a) ??????,?????

63
?8.5(b) ??????,?????

64
?8.5(c) ????????

65
?8.5(c) ????????(?)
  • (c) ????????????????(a)?(b)??????,??
    ???????

66
?8.5(d) ???????

67
?8.5(d) ???????(?)
  • ????????????(a)???????,?????????

68
8.5 ?????????
  • ????????????????
  • ??????????????????

69
?????????????????
  • ????????????,DBMS??????????????????????????
    ??
  • ?????,??????????????????????????????
    ?,???????????,?????????????,????????????????????,D
    BMS????????????????????,???????????

70
???????????????(?)
  • ??????????????
  • ???????(Two-Phase Locking,??2PL)????????????????
    ???
  • ????
  • ?????

71
??? ????
  • 8.1 ??????
  • 8.2 ??
  • 8.3 ????
  • 8.4 ?????
  • 8.5 ?????????
  • 8.6 ?????
  • 8.7 ?????
  • 8.8 Oracle?????
  • 8.9 ??

72
8.6 ?????
  • ????????
  • 1. ???????????????,???????????????
  • 2. ?????????,????????????????

73
?????(?)
  • ??????
  • ????????
  • ?????????,?????????????,?????????????????????
  • ?????????,????????????????????????????????,????
    ??????????

74
?????(?)
  • ??
  • ??1?????
  • Slock A ... Slock B ... Xlock C ... Unlock B
    ... Unlock A ... Unlock C
  • ??2?????
  • Slock A ... Unlock A ... Slock B ... Xlock C ...
    Unlock C ... Unlock B
  • ??1???????,???2????????

????
????
75
?????(?)
  • ??????????????????,???????????????????????
  • ????????????,???????????????
  • ?????????????????????,?????????????????????,
    ??????????????????????????????????????????????????
    ?????????

76
????????8.6 ??????

?????
77
?8.6 ?????? ??
  • ??8.6?,(a)?(b) ??????????,?(a)?T1?T2????????,
    (b)?T1?T2?????????????8.5?(d)?????????,?
    T1?T2???????????

78
?????(?)
  • ?????????????????????
  • ????????????????????????????,?????????,???
    ???????????
  • ??????????????????????????????,???????????
    ???????????8.7???

79
?????(?)

?8.7 ??????????????
80
?????(?)
  • ????????????
  • ?????????
  • ?????
  • ??????????
  • ?????????
  • ??????????????
  • ???????????????????

81
??? ????
  • 8.1 ??????
  • 8.2 ??
  • 8.3 ????
  • 8.4 ?????
  • 8.5 ?????????
  • 8.6 ?????
  • 8.7 ?????
  • 8.8 Oracle?????
  • 8.9 ??

82
8.7 ?????
  • 8.7.1 ????
  • 8.7.2 ?????
  • 8.7.3 ???

83
8.7.1 ????
  • ?????????
  • ???????????

84
?????????
  • X??S???????????????
  • ?????????,???? ?
  • ????????,????
  • ???? ???????????????????????????????
  • ?????(???????)???????

85
???????(?)
  • ??????????????
  • ?? ????????
  • ?????????
  • ??????????????(Granularity)
  • ?????(multiple granularity locking)
  • ?????????????????????????

86
8.7.1 ????
  • ?????????
  • ???????????

87
???????????
  • ???????(?),????????????????(?),??????(
    ?),???????(?)?
  • ??????
  • ??????????????
  • ??????????????

88
?????????(?)
  • ???????????????????????????
  • ?????????????????????
  • ?????????????????????

89
8.7 ?????
  • 8.7.1 ????
  • 8.7.2 ?????
  • 8.7.3 ???

90
8.7.2 ?????
  • ????
  • ??????????????
  • ?????????,?????????
  • ????????????

91
?????(?)
  • ???????????????,??????????,??????????

? 8.8 ?????
92
???????
  • ???????????????????
  • ????????????????????????????????
  • ????????????????????????????????

93
?????????
  • ???? ????????????????????
  • ???? ????????????,??????????????????????
  • ?????????????????

94
?????????????????
  • ???,?????????,???????????????????????????????
    ?,???????????????????????? (???????????????)?????
    ????????,???????????????????(??????????)???

95
8.7 ?????
  • 8.7.1 ????
  • 8.7.2 ?????
  • 8.7.3 ???

96
8.7.3 ???
  • ?????(intention lock)??
  • ????????????????????

97
??????
  • ?????????????????,??????????????????????????,
    ???????????????

98
???(?)
  • ??????? r ??,????????R?????
  • ??T????R?X?, ???????????????R??????????,?????
    ?????R???????????X??

99
?????
  • ?????(Intent Share Lock,??IS?)
  • ?????(Intent Exclusive Lock,??IX?)
  • ???????(Share Intent Exclusive Lock,??SIX?)?

100
???(?)
  • IS?
  • ??????????IS?,?????????(??)?S??
  •  
  • ?????????S?,????????????IS??

101
???(?)
  • IX?
  • ??????????IX?,?????????(??)?X??
  • ?????????X?,????????????IX??

102
???(?)
  • SIX?
  • ??????????SIX?,?????S?,??IX?,?SIX S IX?
  • ???????SIX?,???????????(???????S?),????????
    ?(???????IX?)?

103
???(?)
  • T1 T2 S X IS IX SIX -
  • S Y N Y N N
    Y
  • X N N N N N
    Y
  • IS Y N Y Y Y
    Y
  • IX N N Y Y N
    Y
  • SIX N N Y N N
    Y
  • - Y Y Y Y Y
    Y

?8.9(a)????????
104
?8.9(a)???????? ??
  • ?8.9(a)??????????? ,??????,???????????8.9(b)?
    ???????

105
???(?)
  • ????
  • ?????????????????
  • ?????????????????????,??????

?8.9 (b)?????????
106
???(?)
  • ?????????????
  • ?????????????????
  • ???????????????????
  • ????T??????????,???????????????

107
??? ????
  • 8.1 ??????
  • 8.2 ??
  • 8.3 ????
  • 8.4 ?????
  • 8.5 ?????????
  • 8.6 ?????
  • 8.7 ?????
  • 8.8 Oracle?????
  • 8.9 ??

108
8.8 Oracle?????
  • Oracle??????????????????
  • Oracle????
  • ???
  • ???(??DML?)?

109
1. ???
  • ORACLE DBMS????????????
  • ?DBMS??????????????,???????
  • ?????
  • ?????
  • DDL??

110
2. ???
  • ?????
  • ???(S?)
  • ???(X?)
  • ?????(RS?)
  • ?????(RX?)
  • ???????(SRX?)
  • ??RS??RX??SRX??????IS??IX??SIX??

111
???(?)
  • ????
  • ??
  • ???

112
???(?)
  • ????????
  • T1 T2 S X RS RX SRX -
  • S Y N Y N N
    Y YYes,???????
  • X N N N N N
    Y
  • RS Y N Y Y Y
    Y NNo,????????
  • RX N N Y Y N
    Y
  • SRX N N Y N N
    Y
  • - Y Y Y Y Y
    Y

113
???(?)
  • ?????????
  • ?????????,???????
  • ?????LOCK TABLE????????????

114
???(?)
  • ORACLE??????
  • ?????,??????
  • ORACLE?????(Rollback Segment)????????????????
  • ???????????

115
???(?)
  • ??
  • ??????????
  • ????????????
  • ????,?????????????????

116
??? ????
  • 8.1 ??????
  • 8.2 ??
  • 8.3 ????
  • 8.4 ?????
  • 8.5 ?????????
  • 8.6 ?????
  • 8.7 ?????
  • 8.8 Oracle?????
  • 8.9 ??

117
8.9 ??
  • ????????????????
  • ???????????????????????????
  • ????????????????????????????
  • ??????????????????????
  • ????,???????????????????????????,???????????

118
??(?)
  • ???????????????
  • ????????????????
  • ????????
  • ?????????????????????,???????????
  • ??????

119
??(?)
  • ????????????????????????????
  • ?????????????????????
  • ?????????????????,????????

120
??(?)
  • ?????????,????
  • ?? ?????
  • ??
  • ????
  • ?????
  • ?????
  • ????????
  • ???
  • ????

121
??(?)
  • ??????????????????????????????????????????????
    ??????????
Write a Comment
User Comments (0)
About PowerShow.com