数据文件和控制文件

数据文件

Oracle数据库中每个表空间(tablespace)都是由一个或多个物理数据文件(datafile)构成的。

当一个数据文件(datafile)首次被创建时,为其分配的磁盘空间被格式化为Oracle格式,此时其中尚不包含任何用户数据。Oracle将使用这些空间存储属于( 与此数据文件对应的)表空间的段(segment),这些空间专为Oracle使用。随着表空间内的数据增长,Oracle使用数据文件中的可用空间为段分配新的数据扩展(extent)。

 

除了 SYSTEM 表空间(tablespace)之外,用户可随时以将任何表空间置为联机(online)或脱机(offline)状态。此时一个表空间的所有数据文件datafile)也被作为一个整体同时地被置为联机或脱机状态。

 

临时数据文件

本地管理的(locally managed)临时表空间(temporary tablespace)使用临时的数据文件(datafile(临时文件),这样的文件与普通数据文件类似,但有以下区别: 

· 临时文件总是被设置为 NOLOGGING 模式。

· 用户不能将临时文件设为之读

· 用户不能使用 ALTER DATABASE 语句创建临时文件

· 介质恢复(media recovery)不能识别临时文件:

BACKUP CONTROLFILE不会产生与临时文件有关的信息

CREATE CONTROLFILE不能设定与临时文件有关的信息

· 当用户创建临时文件或改变其容量时,Oracle并不保证按照用户指定的文件容量为其分配磁盘空间。在某些文件系统(file systems)中(例如UNIX)磁盘块(disk block)并不会在文件创建或改变容量时分配,而是在其被使用之前 才分配。

临时文件(tempfile)信息可以从 DBA_TEMP_FILES 数据字典表及 V$TEMPFILE 动态性能视图(dynamic performance view)中查询,但是不存在于 DBA_DATA_FILES 或 V$DATAFILE 视图中。

控制文件

数据库控制文件(control file是一个二进制文件,供数据库启动及正常工作时使用。在数据库运行过程中,控制文件会频繁地被Oracle修改,因此数据库处于开启(open)状态时控制文件必须可写。如果控制文件因故不能访问,数据库 也将无法正常工作。

 

每当添加,重命名,或移除数据库中的数据文件(datafile)及重做日志文件(redo log file)时,控制文件(control file)就会被更新以反映这些数据库物理结构变化。进行这些记录的目的是: 

 

控制文件的运用:

· Oracle可以籍此在数据库启动(startup)时识别打开的数据文件和重做日志文件

· Oracle可以籍此在恢复数据库时识别当前可用及需要恢复的文件

用户每次更改数据库的物理结构后(使用 ALTER DATABASE 语句),一定要及时备份控制文件(control file)。

 

控制文件(control file)还被用于保存检查点(checkpoint)信息。每隔三秒钟,检查点进程(checkpoint processCKPT)将会在控制文件中记录重做日志(redo log)检查点位置(checkpoint position)信息。当数据库恢复时,重做日志中此点之前的重做条目(redo entry)都无需恢复,因为这些数据已经被写入数据文件(datafile)中了。

控制文件的损坏:

如果一个数据库的所有控制文件永久丢失了(丢失任何一个控制文件都会导致数据库宕机),那么实例将中止且需要进行介质恢复(media recovery)。如果没有当前控制文件(control file)的副本而必须使用较早的备份,那么介质恢复过程将会比较复杂。因此Oracle强烈建议用户遵循以下规则: 

· 在每个数据库中使用多重控制文件multiple control file

· 将控制文件的副本存储在不同的物理磁盘上

· 使用操作系统的镜像功能operating system mirroring

· 监控备份工作

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

huangleijay

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值