物理数据库结构包括数据文件,重做日志文件和控制文件。

数据文件

每一个数据库有一个或多个数据文件,这些数据文件包括所有的数据库数据。

数据文件的特征:

1.一个数据文件只能与一个数据库关联。

2.数据文件可以设置某些特性,以便让数据库在空间不足时自动扩展。

3.一个或多个数据文件可以形成被称作表空间的数据库存储的逻辑单元。


在正常的数据库操作期间,根据需要读取数据文件中的数据,并存储在Oracle的内存缓存中。 例如,假设用户想要访问数据库表中的某些数据。 如果请求的信息不在数据库的内存缓存中,则从适当的数据文件中读取并存储在内存中。

修改或者新建数据没有必要马上写入数据文件。为了减少磁盘访问量和提高性能,将数据合并到内存中,并由后台程序数据库写入程序确定一次写入相应的数据文件。

控制文件


每个数据库有一个控制文件。一个控制文件包括整个数据库的特定的物理结构。例如:包含一下信息:


1.数据库的名字


2.数据文件、重做日志文件的名字和位置


3.数据库创建的时间戳



Oracle可以复用控制文件,即同时维护多个相同的控制文件副本,以防止涉及控制文件的故障。


每次启动Oracle数据库的实例时,其控制文件辨别数据库和重做日志文件必须打开,为了能进行数据库操作。 如果数据库的物理组成被更改(例如,如果创建了新的数据文件或重做日志文件),则Oracle会自动修改控制文件以反映更改。 控制文件也用于数据库恢复。


重做日志文件


每个Oracle数据库都有一组两个或更多的重做日志文件。 重做日志文件的集合统称为数据库的重做日志。 重做日志由重做条目(也称为重做记录)组成。


重做日志文件的主要功能是记录对数据的所有改变。如果故障防止修改后的数据被永久写入数据文件,则可以从重做日志获取更改,因此工作永远不会丢失。


为了防止涉及重做日志本身的故障,Oracle允许多路复用的重做日志,以便可以在不同的磁盘上维护重做日志的两个或多个副本。



重做日志文件中的信息仅用于从系统或介质故障中恢复数据库,从而阻止将数据库数据写入数据文件。


存档日志文件


你可以自动存档重做日志。当oracle处在ARCHIVELOG模式时,会自动存档日志文件。


参数文件


参数文件包含实例和数据库的配置参数列表。


oracle推荐安你创建一个服务器参数文件(SPFILE)作为维护初始化参数的动态方法。服务器参数文件允许您在服务器端磁盘文件中持久存储和管理初始化参数。


警报和跟踪日志文件


每个服务器和后台进程能写入一个关联的跟踪文件。当进程检测到一个内部的错误时,它将有关错误的信息转储到其跟踪文件。写入跟踪文件的一些信息适用于数据库管理员,而其他信息则适用于Oracle支持服务。 跟踪文件信息也用于调整应用程序和实例。


警报文件或警报日志是一个特殊的跟踪文件。 数据库的警报日志是消息和错误的按时间顺序的日志。


备份日志


要恢复文件是用备份文件替换它。 通常,当介质故障或用户错误损坏或删除原始文件时您需要恢复文件。