Oracleデータベースのデータベースファイルとは

f:id:agbullet21:20171119004220p:plain
以前別の記事でインスタンスについて説明しましたが、それと対になる概念である「データベースファイル」についてまとめたいと思います。

データベースファイルとは、Oracleデータベースに登録したデータであったり、更新情報を管理しているファイル群のことです。
インスタンスはPCのメモリ上に存在するので見えませんが、データベースファイルは文字通り「ファイル」なので、データベースを構築しているPC上に存在します。

データベースファイルの定義

データベースを構築しているPC上には、特別なユーザーのパスワードを管理するファイルやデータベースの構成情報を管理しているファイルも存在しているのですが、それらはデータベースファイルとは呼ばれません。

データベースファイルとは、SCN(System Change Number)と呼ばれる情報で同期が取られているファイルのことを指します。
具体的には、データベースのデータを保持している「データファイル」、データベースに対してどのような更新が行なわれたのかを記録している「REDOログファイル」、それらのファイルの格納場所とSCNを管理している「制御ファイル」の3つです。
SCNを特定することで、そのときのデータがどうだったのかを特定することができるようになっています。

データベースの構成情報を管理しているファイルやパスワードを管理しているファイルなどは、データの更新などと紐づけておく必要はないですし、過去の情報を保持しておく必要もないので、SCNによる同期は行なわれていません。


メモリ上のコンポーネント(構成要素)であるインスタンスと、物理上のコンポーネントであるデータベースファイル。これらによって、Oracleデータベースは成り立っているのです。