データベースが起動できない事例
最初に、実際にサポートセンターにお問い合わせいただいた「データベースが起動できない」トラブルの事例をご紹介します。
「データベースが起動できない」というお問い合わせの原因を分類分けしたのが図1です。最も多いのは、電源障害によるサーバ停止やディスク障害などによってデータファイルが破損しているケースです。
ここで着目していただきたいのは、人的ミスである設定ミスや操作ミス、リソース不足の3つが50%を占めている点です。つまり、事前の手順確認やリソースの使用状況を確認することでトラブルは半減できるということです。
図2はトラブルを最終的にどのように復旧したのか、原因ごとに表しています。人的なミスの中でも、誤って構成ファイルなどを削除したという操作ミスの場合には、バックアップからの復旧やデータベースの再作成といった大掛かりな復旧作業が必要になるケースがあります。
データベースに対して何かしらの変更を行う際には、必ず影響範囲を確認した上で慎重に行い、万が一の場合に備えてバックアップを取得しておくことが重要です。
また、データベースを構成する要素や、どのようなステップで起動するのかを知っておくことで、起動ができないトラブルが発生した時にも迅速に対応を行うことができます。
データベースを構成する要素のおさらい
データベースを構成する基本的な要素をピックアップしたものが図3です。データベースを起動するにはこれらのコンポーネントが正常に利用可能な状態である必要があります。
つまり、データベースの起動ができない場合にはこのコンポーネントの内のどれか1つ、あるいは複数が利用できない状態にあります。例えば、データベースを構成するファイルが存在しない、メモリが不足していてプロセスの起動ができない、などです。
データベースの起動ができないというのは非常にクリティカルなトラブルです。トラブルが発生した際には一刻も早い復旧が必要であり、とりあえずRECOVER DATABASEコマンドを実行したり、バックアップから一部の構成ファイルを戻した後で、サポートセンターに「起動はできたが原因を追求したい」や「それでも復旧できない」といったお問い合わせをいただくことも少なくありません。
しかし、復旧のために行った作業内容(コマンドや実行時間)が正確に残されていないために、原因追求に至らないケースや、かえって状況が悪化してしまい、最終的にフルバックアップをリストア/リカバリするなどの大掛かりな復旧作業が必要になってしまうケースもあります。
データベースが起動するにはいくつかのステップを経由するため、起動できないというのはこの各ステップのどこかに問題があります。各ステップで実行される内部動作を把握することで、データベースが起動できない状況でも焦ることなく、対応が必要な範囲を特定し、適切な対処を行うことが可能になります。
次の項目からは、データベース・アーキテクチャのおさらいも兼ねて、データベースが起動できないトラブルが発生した際に確認すべきポイントを説明します。