Oracle Database(オラクル・データベース)とは、Oracleが開発したRDBMS(リレーショナルデータベース管理システム)です。パフォーマンスを向上させる機能や拡張性を高める機能など、様々なオプション機能を搭載するOracle Databaseは、大規模システム開発用のデータベースといっても過言ではありません。
万が一、Oracle Databaseが破損した場合は、どのように復旧・復元すべきでしょうか。Oracle Databaseが起動しない原因や注意点について説明します。
目次
Oracle Databaseが起動しない場合の主な原因
Oracle Databaseが起動できない場合の96%は、次のような原因によるものです。
- ファイル破損やディスクの故障
- 設定ミス
- 操作ミス
- リソース不足
- OS側のエラー
ファイル破損やディスクの故障
電源に障害があるために電源供給が不安定だったり、ディスクが故障した場合、Oracle Databaseのファイルが破損することがあります。この場合、データベースを再作成したりバックアップからデータを復旧・復元する対応をします。
設定ミス
誤った初期化パラメータが設定されていたためにデータが消失してしまうなど、人為的な設定ミスによる不具合です。
操作ミス
入力するコマンドを誤って構成ファイルを削除してしまうなど、人為的な操作ミスをしてしまうケースは少なくありません。この場合も、データベースを再作成したりバックアップからデータを復旧・復元するという大掛かりな作業が必要になります。
リソース不足
ディスクやメモリの空き容量が不足しているとOracle Databaseが起動できません。この場合は、リソースを追加します。
OS側のエラー
OSレベルでファイル操作を誤り、ログファイルなどを削除してしまった場合もOracle Databaseが起動できなくなります。また、OSのメモリが不足し、起動しようとしたプロセスにメモリが割り当てられないためにOracle Databaseが起動できないケースもあります。
Oracle Databaseが起動しない場合のチェックポイント
Oracle Databaseが起動しない場合は、標準出力とアラートログを確認して原因を検証します。
標準出力とアラートログを両方確認
Oracle Databaseの不具合を検証するときには、標準出力とアラートログの両方を確認します。
標準出力 | 管理コンソールから標準出力にメッセージを出力できます。初期状態では、重大度が”NOTICE”以上のメッセージが出力対象ですが、出力するメッセージの重大度は変更することができます。 |
---|---|
アラートログ | データベース操作中に発生したエラーについての情報が書き込まれるファイルがアラートログです。データベースの起動に失敗したときもアラートログが出力されます。 |
標準出力とアラートログでは内容が異なる部分があるため、必ず両方を見比べて確認することが大切です。
起動時の出力から問題発生箇所と内容を確認
アラートログファイルには、タイムスタンプと起動モードも出力されます。下記画像はアラートログの例です。タイムスタンプと起動モード(例ではnormal)が記録されています。
また、各ステップの開始と終了時もタイムスタンプが出力されます。よって、標準出力で問題発生ステップを確認し、アラートログでいつその問題が発生したのかを特定することができます。
前回の停止が正常だったかを確認
直近に行ったデータベースの停止が正常に行われず、データが破損してしまったためにOracle Databaseが起動しないこともあります。
前回のデータベースの停止が正常に行われていたかを確認するときは、アラートログで「Shutting down instance(停止モード)」の出力部分を確認します。「Instance shutdown complete」の記載があれば、データベースの停止は正常に行われています。「Instance shutdown complete」がなければ、制御ファイルやデータファイルが破損しているためにOracle Databaseの起動に失敗した可能性があります。
初期化パラメータの正当性を確認
初期化パラメータの設定が誤っているためにOracle Databaseが起動できないケースもあります。
初期化パラメータの誤設定を検証するためには、過去に正常に起動できたときのアラートログと、起動できなかったときのアラートログとを見比べます。正常起動時と不具合発生時のアラートログで、次の部分を確認しパラメータを比較します。
Using parameter settings in client-side pfile(in server-side pfile) | 起動時に読み込んだ初期化パラメータファイルのパス |
---|---|
System parameters with nondefault values | ファイル内で指定された初期設定以外のパラメータ |
正常起動時と不具合発生時のアラートログを比較し、追加・削除・変更されたパラメータがある場合、その設定値が妥当なのかを検証します。
Oracle Databaseのデータを復旧・復元する方法
データベースの障害には論理障害と物理障害とがあり、復旧・復元する方法が異なります。
フラッシュバック機能を使用(論理障害の場合)
Oracle Databaseには、論理的なデータ破損が発生したときに、Oracle Databaseを過去の特定の日時に戻すフラッシュバック機能があります。フラッシュバック(FLASHBACK DATABASE)の実行時点で存在するデータファイルに対し、Oracle Databaseが加えた変更をUNDO(巻き戻す)機能です。
よって、フラッシュバック機能では、物理的なディスクの障害や誤って削除したデータファイルの復旧・復元はできませんが、バックアップデータから復旧・復元するよりも非常に短時間でUNDO(巻き戻し)処理が完了します。
バックアップを使用(物理障害の場合)
データベースの構成ファイルが破損してしまったり、ディスクの障害が発生した場合などは、取得済みのバックアップを使用してデータを復旧・復元します。バックアップを使用した復旧・復元には次の種類があります。
バックアップ時点に復旧・復元(リストアのみ) | バックアップした時点の状態に戻す方法です。一旦データベースを停止してバックアップ(オフラインバックアップ)したデータが必要です。 |
---|---|
データベースを最新の状態に復旧・復元(完全リカバリ) | バックアップ以降のすべての変更ログを適用し、障害直前の状態に復旧・復元します。 |
過去の時点に復旧・復元(不完全リカバリ) | バックアップ以降の変更ログを途中まで適用して、過去の特定の時点の状態に復旧・復元する方法です。誤操作を取り消すために操作前の状態まで戻したいときなどに行います。 |
専門業社へ依頼する
バックアップが取得できていない場合、Oracle Databaseに物理障害が発生した後の復旧・復元は極めて困難です。例えば、誤操作などでファイルを損傷してしまった場合などは、破損したファイルだけをバックアップから取得してもデータベースファイルとして使用可能とは限りません。
このような場合は、データ復旧・復元の専門業者へ依頼するほうが良いでしょう。専門業者に対応を依頼すると、破損したデータベースファイルから断片を検索して修復し、格納し直して使用可能なデータベースファイルとして再生するといった難易度の高い対応にも応じてくれます。
Oracle Databaseのデータを復旧、復元する際の注意点
Oracle Databaseを復旧・復元するときには、次のような点に留意します。
バックアップを取っておく
基本的にバックアップがないとOracle Databaseの復旧・復元はできません。仮に、ディスクをミラーリングしたとしてもミラーごと壊れる可能性もあります。企業の情報資産を守る意味でも、常にOracle Databaseのバックアップを取得しておくことが大前提となります。
また、Oracle Databaseでは、論理バックアップ・物理バックアップともに複数の方法が選択できます。障害からの復旧・復元にどれだけ時間をかけられるのか・すべてのデータを復旧・復元する必要があるかなどを検討し、バックアップの方針を検討しましょう。
専門家に依頼した方が確実
バックアップが取得できていない場合、市販されているOracle Database専用のデータベースファイル修復ツールを活用して復旧・復元できることもあります。手順は、修復ツールをインストールし、Oracle Database内をスキャン。破損したデータベースファイルが確認できたら”修復”ボタンを押すだけです。
ただし、万が一、修復ツールでの復旧・復元に失敗した場合、本来なら復旧・復元できたであろうデータまでも消失してしまうリスクがあります。修復ツールの実行は、データベースに大きな負荷がかかるだけでなく、不適切なデータの上書きが発生して復旧・復元すべきデータが消えてしまうことがあるので。
このため「データの復旧・復元は1発勝負」と言われています。修復ツールの使用はリスクを伴うため、確実に復旧・復元したい場合は、まずデータ復旧・復元の専門家に相談したほうが良いでしょう。
(2023年最新版)おすすめデータ復旧業者ランキングはこちら
おすすめデータ復旧サービス・製品
技術力が高い業者の選定といっても、素人には判断が難しいです。
そこで、データ復旧サービス各社の価格、内容(対応製品)、期間や特長から比較した、おすすめのサービスを紹介します。
(2023年最新版)おすすめデータ復旧業者ランキングはこちら
デジタルデータリカバリー
サイトデジタルデータリカバリー
デジタルデータリカバリーは14年連続国内売上No.1の国内最大級のデータ復旧業者です。復旧率に関しても95.2%と業界最高水準を誇り、技術力は申し分ないといえます。
また、技術力の他に復旧スピードも非常に速く、最短当日かつ約80%が48時間以内に復旧されるというのも大きな魅力です。料金体系は成功報酬制が採用されており、診断・見積りも無料で行えるため、まずは最大手のデジタルデータリカバリーへの問合せをおすすめします。
価格 | 500GB未満:5,000円〜 500GB以上:10,000円〜 1TB以上:20,000円〜 2TB以上:30,000円〜 |
---|---|
内容(対応製品) | RAID機器(NAS/サーバー)、ハードディスク(パソコン)、外付けHDD、USBメモリ、ビデオカメラ、SSD、SDカード・MSDカードなど |
期間 | 最短当日(持ち込みの場合) 約80%が48時間以内に復旧完了 |
特長 | データ復旧専門業者で14年連続データ復旧国内売上No.1 95.2%の非常に高いデータ復旧率 累積36万件以上の相談実績 診断・見積り無料(デジタルデータリカバリーへの配送料も無料) |
<!–
データリカバリーサービス
サイトデータリカバリーサービス
データリカバリーサービスはデジタルデータリカバリーに次ぐ復旧率90.6%を誇るデータ復旧業者です。
国内をはじめ世界各国の復旧会社と情報交換・技術導入を行っているようです。少数精鋭のエンジニア集団でそれほどの規模でないながらも1万3000件以上の相談実績があり、無料診断も実施しているため、データリカバリーサービスへ問合せしてみるのもよいでしょう。
\s\n\s\n\s\n
価格 | 160GB未満:12,000円~ 160GB~500GB未満:18,000円~ 500GB~1TB未満:25,000円~ 1TB~2TB未満:36,000円~ 2TB以上:48,000円~ |
---|---|
内容(対応製品) | 外付けHDD、パソコン、SSD、USBメモリ、RAID機器(NAS/サーバー)、ビデオカメラ、SDカード、MSDカードなど |
期間 | 初期診断:最短90分 初期診断後に復旧期間を提示 |
特長 | データ復旧率90.6% 延べ13793件のご利用実績 国内外の復旧会社とコネクションを持つ少数精鋭のエンジニア集団 |
\s\n
–>
まとめ
商用データベースで世界トップシェアを誇るOracle Database(オラクル・データベース)は、今後もシェアを伸ばし続けると見られています。
運用と同時に、Oracle Databaseが破損した場合の復旧・復元方法もあらかじめ検討しておくべきです。バックアップの取得や復旧・復元の手順については、データ復旧の専門家の意見を聞きながら計画しておくことをおすすめします。