【Oracle】オラクルの制御ファイルとは?何が書かれている?初心者でもわかるように解説

Oracle
スポンサーリンク
Oracle担当者
Oracle担当者

Oracleの制御ファイルって?何が書かれてるの?
色々なファイルがあってややこしすぎる!
まずはオラクルの基礎を身に付けたい。

上記の疑問や悩みを解決するための記事を書きました。この記事を読めば、オラクルの制御ファイルについて基礎的な知識が身に付きますよ。

スポンサーリンク

オラクルの制御ファイルとは?

オラクルの制御ファイル(Control File)とは、オラクルデータベースの構成要素の一つで、インスタンスの動作に不可欠なバイナリファイルです。 (バイナリファイルとはテキストファイル以外のファイルのことであり、テキストエディターでは中身を理解することができません。)

制御ファイルはOSのファイルシステム上に存在するので、実態を確認することもできます。重要なファイルであるため、多重化が推奨されています。 制御ファイルには、データファイルやREDOログファイルの格納場所(ファイルパス)や、各ファイルの最終更新時刻が記載されています。インスタンスをマウント状態で起動する際に読み込まれます。

制御ファイルには何が書かれている?

制御ファイルに記載される情報は、次の2つに分類されます。

➀構成情報
➁運用管理情報

よくわからないですよね。以下で順番に解説していくので安心してください。

➀構成情報

構成情報とは、次のようなものです。

制御ファイルの構成情報

・データベース名
・データファイルのファイル名
・REDOログファイルのファイル名
・表領域に関する情報

構成情報はオラクルデータベースの構成が変更されるとその都度Oracleによって更新されます。構成情報と実際のデータベースの構成が一致しなければ、データベースは起動しません。

②運用管理情報

運用管理情報とは、次のようなものです。

制御ファイルの運用管理情報

・REDOログに関する情報
・アーカイブREDOログに関する情報
・バックアップファイルに関する情報
・チェックポイント情報

運用管理情報は、インスタンスが起動している最中はOracleによって常に更新されます。つまり、インスタンス起動中は常にOracleから制御ファイルに正常にアクセスできる状態でなければなりません。アクセスできない場合はインスタンスが強制終了します。

制御ファイルの多重化

前述の通り、制御ファイルはインスタンスの動作に必要不可欠です。Oracleでは、制御ファイルを多重化することが推奨されています。多重化により、ディスク障害等でファイルが破損したとしても復旧することができます。ですが、この多重化の目的はRACのような可用性ではなく、制御ファイルの保護です。そのため、一つでも破損した場合にはインスタンスは停止します。その際、全ての制御ファイルが正常に戻るまではインスタンスの起動はできません。正常な制御ファイルを破損したファイルに上書きコピーすることで対処できます。

制御ファイル名と格納場所の確認方法

SQLで以下のselect文を実行することで、制御ファイルのファイル名とパスを確認できます。
SELECT name FROM V$CONTROLFILE;
制御ファイルは拡張子が「.ctl」であることがわかりますね。

スポンサーリンク

コメント

タイトルとURLをコピーしました