控制文件是一个二进制文件,用于记录数据库的物理结构的 ,当数据库结构发生改变时 ,oracle会自动更新控制文件。
数据库启动时,oracle会从初始化参数查找控制文件的名字和位置,打开控制文件,并通过控制文件找到数据文件和联机日志文件的信息 然后打开数据库
控制文件会记录如下数据文件的信息
---数据库名称db_name
---创建数据库的时间戳
---数据库的名称及位置
---联机日志文件的名称及位置
---表空间信息
--- 日志历史记录loghistory
--- 归档日志信息
--- 备份信息
--- 当前日志序列号
--- 校验点信息
控制文件的大小有以下几个参数文件决定
--- maxlogfiles
--- maxlogmembers
--- maxloghistory
--- maxdatafiles
--- maxinstances
--- maxlogfiles
--- maxlogmembers
--- maxloghistory
--- maxdatafiles
--- maxinstances
如果控制文件丢失或者损坏可以创建一个控制文件但要有sysdba 权限
yhdmy
ckpt进程还会在控制文件当中记录RBA,这个地址用来标志实例恢复的时候需要从日志中的那个位置开始,也就是一个checkpoint对应一个rba,当instance recovery(实例恢复)的时候oracle就会知道从那个检查点开始在redo的那个rba开始介质恢复 |
RBA rba = redo byte address
(1)the log file sequence number (4 bytes)
(2)the log file block number (4 bytes)
(3)the byte offset into the block at which the redo record starts (2bytes
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/30166976/viewspace-1660141/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/30166976/viewspace-1660141/