36.Oracle之open阶段
启动数据库到open阶段
由于控制文件记录数据库中的数据文件、日志文件的位置等信息,检查点信息等重要信息。在数据库的open阶段,Oracle将根据控制文件中记录的这些信息找到这些文件,然后进行检查点及完整性检查.如果不存在问题就可以启动数据库,如果存在不一致或者丢失则需要进行恢复。
1.open阶段的一致性校验
在数据库open的过程中,Oracle进行的检查中包含以下两项:
第一次检查数据文件头中的检查点计数(checkpoint CNT)是否和控制文件中的检查点计数(Checkpoint CNT)一致。此步骤检查用以确认数据文件是来自同一版本,而不是从备库中恢复而来(因为Checkpoint CNT不会被冻结,会一直被修改)
第二次检查数据文件的开始SCN和控制文件中记录的该文件的结束SCN是否一致,如果控制文件中记录的结束scn等于数据文件的开始SCN,则不需要对那个文件进行恢复了。
对于每一个数据文件都完成检查后,如果数据库中的某个文件丢失,同时将每个数据文件的结束SCN设置为无穷大
在mount阶段,如果数据库的某个文件丢失,在mount数据时oralce会在后台将文件信息记录在告警日志中,但是并不会在前台给出提示;而在open阶段,如果数据库无法锁定该文件,则在前台发出错误的警告,数据库将停止启动。
分类:
oracle
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了