資料庫基礎

有交易T1~T5,在發生故障前取了一次檢查點。T1在檢查點之前開始並提交。T2與T3在檢查點之前開始,T2在檢查點之後、故障之前提交,T3在故障時尚未提交。T4與T5在檢查點之後開始,T4在故障前提交,T5尚未提交。故障後的復原中,需要使用日誌進行前滾(Rollforward)的交易是下列何者?

  1. AT3與T5
  2. BT1、T2、T4
  3. CT2與T4
查看答案與解析

正確答案:C. T2與T4

在檢查點時,會把到當時為止在記憶體上更新過的資料庫頁面寫入儲存裝置,並把這件事記錄在日誌中。因此,在檢查點之前提交的T1,其更新已經反映在資料庫本體,不需要復原處理。在檢查點之後、故障之前提交的T2與T4,雖然已完成提交,但部分更新可能尚未寫入本體,因此要使用日誌中更新後的值重做(前滾)。在故障時尚未提交的T3與T5,若有寫入本體的中途更新,要使用日誌中更新前的值取消(回復)。像T3這樣在檢查點之前開始的交易,只要尚未提交,也是取消的對象。事先取檢查點,就不必從頭追溯所有日誌,能縮短復原的時間。

  • A. T3與T5尚未提交,是回復的對象。
  • B. T1在檢查點之前已提交,更新已反映在本體,因此不在對象內。
  • C. 正確。對在檢查點之後、故障之前提交的T2與T4進行前滾。
練習這個領域 前往領域頁面

相關計算工具

資料庫基礎的其他題目

  1. 在有100萬筆資料列的會員表格之會員編號欄位上建立了B+樹索引。一般可預期的效果與代價組合,下列何者正確?
  2. 在有100萬筆資料列的日本會員表格中,考慮分別在會員編號(全部不同)、都道府縣(47種)、性別(2種,大約各半)欄位上建立B+樹索引。在WHERE子句中指定一個欄位的值進行搜尋時,索引效果可能最小的是哪個欄位?
  3. 在稱為NoSQL的資料庫中,關於鍵值(Key-value)型的特徵,下列何者一般而言正確?
  4. 關於在多台伺服器上放置資料副本的分散式資料庫,下列何者是對CAP定理的適當說明?
  5. 在關聯式資料庫的用語中,相當於表格(關聯)中一筆資料列的是下列何者?