理论教育 Oracle数据库物理文件管理

Oracle数据库物理文件管理

时间:2023-10-30 理论教育 版权反馈
【摘要】:Oracle数据库的物理存储结构由多种物理文件组成,主要有数据文件、控制文件、重做日志文件、归档日志文件、参数文件、口令文件和警告日志文件等。Oracle数据库在逻辑上由表空间组成,每个表空间可以包含一个或多个数据文件,一个数据文件只能隶属于一个表空间。其他文件以上3种文件属于Oracle数据库文件。除此之外,Oracle数据库管理系统在管理数据库时还使用其他一些辅助文件。在Oracle数据库实例启动时首先打开该文件并读取其中的初始化参数值。

Oracle数据库物理文件管理

Oracle数据库物理存储结构由多种物理文件组成,主要有数据文件、控制文件、重做日志文件、归档日志文件、参数文件、口令文件和警告日志文件等。下面将对这些物理文件中的部分进行讲解。

(1)数据文件

数据文件(Data File)是用于保存用户应用程序数据和Oracle系统内部数据的文件,这些文件在操作系统中就是普通的操作系统文件,Oracle在创建表空间的同时会创建数据文件。Oracle数据库在逻辑上由表空间组成,每个表空间可以包含一个或多个数据文件,一个数据文件只能隶属于一个表空间。数据文件和其对应表空间的关系可以从dba_data_files数据字典中查看。

(2)控制文件

控制文件(Control File)是一个二进制文件,这个文件很小,只有64 MB左右,它记录数据库的物理存储结构和其他控制信息,如数据库名称、创建数据库的时间戳、组成数据库的各个数据文件和重做日志文件的存储路径及名称、系统的检查点信息等。Oracle打开数据库时,必须先打开控制文件,从中读取数据文件和重做日志文件信息。如果控制文件损坏,就会使数据库无法打开,导致用户无法访问存储在数据库中的信息。控制文件对检查数据库的一致性和恢复数据库也很重要。在实例恢复过程中,控制文件中的检查点信息决定Oracle实例怎样使用重做日志文件恢复数据库。控制文件对数据库来说至关重要,所以Oracle支持控制文件的多路存储,也就是它能够同时维护多个完全相同的控制文件拷贝,建立其镜像版本。一个Oracle数据库的控制文件数量、存储位置和名称由数据库的参数文件记录。但当控制文件采用多路存储时,如果其中任意一个控制文件损坏,Oracle实例就无法运行。

控制文件一般在Oracle系统安装或创建数据库时自动创建,它所存放的路径由数据库服务器参数文件spfileorcl.ora的control_files参数值来指定,可以通过show parameter control_files命令来查看。控制文件的相关信息还可以从V controlfile动态性能视图中查看。

(3)重做日志文件

Oracle的重做日志文件记录了数据库所产生的所有变化信息。在实例或者介质失败时,可以用重做日志恢复数据库。重做日志文件组存储数据库的重做日志信息,这组重做日志文件被称为联机重做日志文件。每个数据库必须至少拥有两组重做日志文件。Oracle实例以循环写入方式使用数据库的重做日志文件组,当第一组联机重做日志文件填满后,开始使用下一组联机重做日志文件,当最后一组联机重做日志文件填满后,又开始使用第一组联机重做日志文件,如此循环下去。重做日志文件的相关信息可以从V logfile动态性能视图中查看。如果数据库运行在归档模式下,在发生日志文件切换后,填满的重做日志文件被复制到其他地方保存。这些日志文件副本被称为归档日志文件。(www.daowen.com)

(4)其他文件

以上3种文件属于Oracle数据库文件。除此之外,Oracle数据库管理系统在管理数据库时还使用其他一些辅助文件。这些文件包括(但不限于)以下几种。

①参数文件。参数文件初始化参数文件中的参数定义实例属性,如说明实例使用的内存量、控制文件的数量、存储路径和名称等。在Oracle数据库实例启动时首先打开该文件并读取其中的初始化参数值。

②口令文件。口令文件是一个可选文件,用于存储被授予SYSDBA、SYSOPER和SYSASM权限的数据库用户及口令,以便在数据库还未打开时用它验证这些具有特殊权限的数据库管理员的身份。

③警告日志文件。警告日志文件是一个文本文件,其名称是alertdb_name.1og(db_name是数据库名)。它相当于一个数据库的“编年体”日志,按照时间的先后顺序完整记录从数据库创建、运行到删除之前的重大事项,如可能出现的内部错误或警告、数据库的启动与关闭、表空间的创建、联机和脱机操作等信息。

④跟踪文件。跟踪文件提供调试数据,其中包含大量的诊断信息。跟踪文件分为两种:一种是通过DBMS_MONITOR(Oracle预定义包)启用跟踪产生的用户请求跟踪文件,DBA用它可以诊断系统性能;另一种是发生内部错误时自动产生的。用户在通过Oracle Support请求解决遇到的严重错误时,需要上传这种跟踪文件。跟踪文件的存储路径由user_dump_dest、background_dump_dest和core_dump_dest 3个初始化参数指定,它们分别用来存储专用服务器进程产生的跟踪文件,共享服务器进程和后台进程产生的跟踪文件,以及发生严重错误时产生的跟踪文件。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈