基本情報技術者 2009年 春期 午前(科目A) 問57
問題文
データベースシステムと業務アプリケーションが稼働しているサーバのOSのバージョンアップの案内が届いた。バージョンアップを行うか否かの判断のうち、適切なものはどれか。
選択肢
ア:業務アプリケーションは長期間使用しているが、データベースシステムは比較的新しいので,OSとデータベースシステムの相性をチェックしバージョンアップをする。
イ:今回のバージョンアップに伴い現在使用しているOSはサポート終了となるので、すぐにバージョンアップをする。
ウ:データベースシステムは,OSのメーカーが提供するデータベース管理機能を使っているのでトラブルはないと判断し、業務アプリケーションとOSの関係を調査し、問題がなければバージョンアップをする。
エ:バージョンアップされたOSでのデータベースシステムの稼働を確認した後に、業務アプリケーションの稼働を確認し、問題がなければバージョンアップをする。(正解)
🔒 解説は解答すると表示されます
OSバージョンアップ判断基準【午前解説】
正解の理由
選択肢の中で最も適切なのは エ です。理由は次の通りです。
- データベースはOSのABI、ライブラリ、ファイルシステム、ストレージ周りの挙動に強く依存するため、まずデータベースの稼働確認を行うことで致命的な不整合や性能劣化を早期に検出できます。
- データベースが問題なく稼働することを確認してから業務アプリケーションの動作確認を行えば、どちらが原因で問題が起きたかを切り分けやすく、修正やロールバックの対応も明確になります。
- いきなり本番で適用するのではなく、段階的な検証(データベース→業務アプリ→本番)を行うことがリスク低減の観点から最善策です。
解法ステップ
- インベントリ確認:OS、DB、業務アプリ、ミドルウェア、ドライバ、ライブラリのバージョンと依存関係を一覧化する。
- 互換性調査:OSベンダー・DBベンダーの互換性マトリクスとリリースノートを確認する。
- テスト計画作成:テスト項目(機能/性能/耐障害性/接続性)、テスト環境の構成、評価基準を定める。
- テスト環境でOSをバージョンアップ:ステージング環境にてOSを適用し、まずデータベースを展開・検証する。
- データ整合性と性能検証:バックアップ復元、トランザクション、リカバリ、クエリ性能を確認する。
- 業務アプリの検証:アプリからDB接続・機能・画面遷移・バッチ処理などを検証する。
- ロールアウト計画作成:スケジュール、バックアウト手順、監視、連絡体制を確立する。
- 本番適用と事後監視:メンテ実施後は継続的に監視し、問題発生時はロールバックする。
選択肢別の誤答解説
- ア: 業務アプリは長期間使用していることを軽視しています。DBとOSの相性確認は重要ですが、業務アプリ側の依存関係や動作確認を怠ると業務停止に直結します。したがって単独でDBとの相性だけを見て即決するのは不十分です。
- イ: サポート終了により早急な対応は必要ですが、「すぐにバージョンアップをする」ことは危険です。検証不足で重大な障害を招く恐れがあるため、計画とテスト、バックアップ・ロールバック手順を整えてから実施すべきです。
- ウ: DBがOSベンダーの管理機能に依存しているという理由だけで問題がないと判断するのは誤りです。管理機能があってもアプリとの相互作用やパフォーマンス問題は残るため、DBの実働確認を行わずに進めるのはリスクが高いです。
- エ: 正解。段階的に検証を行い、まずDBを確認してから業務アプリを確認することで、原因切り分けとリスク低減ができる適切な手順です。
よくある誤解
- 「ベンダー提供の管理機能があるから大丈夫」:管理ツールがあってもOSのAPI/ライブラリの差やパフォーマンス問題は発生し得るため、実稼働環境での検証が必要です。
- 「サポート終了だからすぐアップデート」:サポート期間は重要ですが、即時適用はリスクが高く、事前検証と移行計画を優先すべきです。
- 「新しいデータベースなら互換性問題はない」:データベース自体のバージョンが新しくても、OSの変更による細かな挙動差で障害が発生することがあります。
補足コラム
- 再現性の高いステージング環境を用意することが重要です。可能であれば本番と同等のデータ量、同じネットワーク/ストレージ構成でテストを行うと問題検出率が上がります。
- パフォーマンス劣化は静的な互換性チェックだけでは見つからないことが多いです。代表的な業務負荷をシミュレーションしてベンチマークを取り、許容範囲を決めておきましょう。
- ロールバック手順は事前に検証してください。OSやDBの変更は簡単に巻き戻せない場合があるため、スナップショットやバックアップからの復旧手順を確認しておく必要があります。
FAQ
Q: なぜデータベースを先に確認するのですか?
A: データベースはOSのカーネルAPIやストレージ、I/O周りに密接に依存し、問題発生時の影響が大きいため、先に確認することで重大インシデントを未然に防げます。
A: データベースはOSのカーネルAPIやストレージ、I/O周りに密接に依存し、問題発生時の影響が大きいため、先に確認することで重大インシデントを未然に防げます。
Q: ベンダーが動作保証していればテストは不要ですか?
A: ベンダー保証は一般指針に過ぎず、実環境の設定・データ量やカスタム設定により挙動が変わるため、実運用に近いテストは必須です。
A: ベンダー保証は一般指針に過ぎず、実環境の設定・データ量やカスタム設定により挙動が変わるため、実運用に近いテストは必須です。
Q: サポート終了が間近な場合、どうすべきですか?
A: 優先度は上がりますが、急ぎすぎて無計画に適用するのは避けるべきです。短期的リスク回避と長期的な移行計画(段階的な検証)を並行して進めてください。
A: 優先度は上がりますが、急ぎすぎて無計画に適用するのは避けるべきです。短期的リスク回避と長期的な移行計画(段階的な検証)を並行して進めてください。
Q: テスト環境が用意できない場合の対処は?
A: 最低限、読み取り専用のレプリカやスナップショット方式で検証する、あるいは段階的ローリングアップデートで影響範囲を限定する方法を検討します。
A: 最低限、読み取り専用のレプリカやスナップショット方式で検証する、あるいは段階的ローリングアップデートで影響範囲を限定する方法を検討します。
関連キーワード: OSバージョンアップ、データベース互換性、互換性テスト、ステージング環境、バックアップ、ロールバック、移行計画、性能検証、稼働確認、互換性マトリクス

\ せっかくなら /
基本情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

