Рассмотрим следующую последовательность записей двух транзакций на банковском счете с начальным балансом 12000, которые переводят 2000 в ипотечный платеж, а затем применяют 5% -ую процентную ставку.
1. T1 start 2. T1 B old=12000 new=10000 3. T1 M old=0 new=2000 4. T1 commit 5. T2 start 6. T2 B old=10000 new=10500 7. T2 commit
Предположим, что система базы данных дает сбой непосредственно перед записью 7 записи в журнал. Когда система перезапускается, какое утверждение верно для процедуры восстановления?
(A) Мы должны повторить запись в журнале 6, чтобы установить B на 10500
(B) Мы должны отменить запись журнала 6, чтобы установить B на 10000, а затем повторить записи журнала 2 и 3.
(C) Нам не нужно повторять записи журнала 2 и 3, поскольку транзакция T1 зафиксирована.
(D) Мы можем применять операции повтора и отмены в произвольном порядке, потому что они идемпотентны
Ответ: (Б)
Объяснение: Мы должны отменить запись журнала 6, чтобы установить B на 10000, а затем повторить сбой записи журнала 2 и 3 системы bcoz перед операцией фиксации. Поэтому нам нужно отменить активные транзакции (T2) и повторить зафиксированные транзакции (T1)
Примечание: здесь мы не используем контрольные точки.
Контрольная точка. Контрольная точка — это механизм, в котором все предыдущие журналы удаляются из системы и постоянно хранятся на диске. Контрольная точка объявляет точку, до которой СУБД находилась в согласованном состоянии, и все транзакции были зафиксированы.
Восстановление:
Когда происходит сбой и восстановление системы с одновременными транзакциями, она ведет себя следующим образом:
=> Система восстановления считывает журналы в обратном направлении от конца до последней контрольной точки.
=> Поддерживает два списка: список отмены и список повторов.
=> Если система восстановления видит журнал с и или просто, она помещает транзакцию в повторный список.
=> Если система восстановления видит журнал, в котором не найдено ни одного журнала фиксации или отмены, она помещает транзакцию в список отмены.
Все транзакции в списке отмены затем отменяются и их журналы удаляются. Все транзакции в повторном списке и их предыдущие журналы удаляются и затем переделываются перед сохранением их журналов.
Таким образом, ответ — B, повторите записи журнала 2 и 3 и отмените запись журнала 6
Тест на этот вопрос
Рекомендуемые посты:
- ВОРОТА | Sudo GATE 2020 Mock I (27 декабря 2019) | Вопрос 52
- ВОРОТА | Sudo GATE 2020 Mock I (27 декабря 2019) | Вопрос 65
- ВОРОТА | Sudo GATE 2020 Mock I (27 декабря 2019) | Вопрос 64
- ВОРОТА | Sudo GATE 2020 Mock I (27 декабря 2019) | Вопрос 53
- ВОРОТА | Sudo GATE 2020 Mock I (27 декабря 2019) | Вопрос 54
- ВОРОТА | Sudo GATE 2020 Mock I (27 декабря 2019) | Вопрос 55
- ВОРОТА | Sudo GATE 2020 Mock I (27 декабря 2019) | Вопрос 56
- ВОРОТА | Sudo GATE 2020 Mock I (27 декабря 2019) | Вопрос 57
- ВОРОТА | Sudo GATE 2020 Mock I (27 декабря 2019) | Вопрос 58
- ВОРОТА | Sudo GATE 2020 Mock I (27 декабря 2019) | Вопрос 59
- ВОРОТА | Sudo GATE 2020 Mock I (27 декабря 2019) | Вопрос 60
- ВОРОТА | Sudo GATE 2020 Mock I (27 декабря 2019) | Вопрос 61
- ВОРОТА | Sudo GATE 2020 Mock I (27 декабря 2019) | Вопрос 62
- ВОРОТА | Sudo GATE 2020 Mock I (27 декабря 2019) | Вопрос 63
- ВОРОТА | Sudo GATE 2020 Mock II (10 января 2019 года) | Вопрос 65
0.00 (0%) 0 votes