SkillStack
テクノロジ系17 / 25問

データベーススペシャリスト試験 令和7年度 秋期 午前II 問17

DBMSにおいて、トランザクション間でデッドロックが発生していることを検出するために使用するものはどれか。

選択肢を押すと答え合わせができます。

正解と解説を見る

【正解】エ

待ちグラフは、トランザクション同士のロック待ち関係を有向グラフで表したものです。例えば、T1がT2の保持する資源の解放を待つ場合、T1からT2へ辺を引きます。さらにT2がT1の保持する別の資源を待っていれば、T2からT1への辺も生じ、循環ができます。このように、待ちグラフに循環が存在すれば、互いに資源の解放を待ち続けるデッドロックが発生していると検出できます。したがって、エが正解です。

アの2相ロックは誤りです。これは、ロックを獲得する成長相と、ロックを解放する縮退相に分けることで、スケジュールの直列化可能性を確保する同時実行制御方式です。デッドロックを防ぐとは限らず、検出手段でもありません。

イの時刻印アルゴリズムは誤りです。これは、各トランザクションに時刻印を割り当て、その順序に従って読込みや書込みの可否を制御する方式です。

ウのチェックポイントは誤りです。これは、障害回復時にログを遡る範囲を限定し、復旧処理を効率化するために記録する回復の基準点です。

【ポイント】 待ちグラフでは、頂点がトランザクション、辺が待ち関係を表します。 循環を検出した場合は、通常、いずれかのトランザクションを取り消して循環を解消します。

出典:令和7年度 秋期 データベーススペシャリスト試験 午前II 問17
※ 解説は SkillStack 編集部が作成したものです。Web 表示のため、図表の配置や表記を一部改めています。

この回の25問を、アプリで通しで解く

  • 本番と同じ問題数・制限時間で通し演習(模試モード)
  • 間違えた問題は自動で「復習すべき問題」に回る
  • 解説で分からない点はAIに質問できる
SkillStackで無料で始める