Oracle实例的恢复、介质恢复( crash recovery)( Media recovery)
2024-10-13 23:13:02 216人阅读
实例的恢复( crash recovery) - 什么时候发生Oracle实例恢复?
- shutdown abort;
- 数据库异常down掉(机器死机,掉电...)
- 实例恢复的原因是数据有丢掉,使用redo数据恢复
- 实例恢复是一个自动的过程,不需要人工干预。
- 控制文件就是为了检查一致性,如果不一致就会实例恢复
- 实例恢复发生在那个阶段?
- sql>startup nomount(读取spfle) ,启动实例,oracle给自己分了一些内存,oracle的内存起来,这个时候没有实例恢复。
SQL> startup nomount; ORACLE instance started. - sql>alter database mount(读取控制文件,把数据库mount上),没有实例恢复。
- sql>alter database open (检查控制文件,数据文件头,检查数据库的完整性),如果不一致会发生实例恢复。Oracle在打开数据库时(alter database open),会检查每个文件头上的信息(SCN)并同控制文件中相应的信息(SCN)比较,如果不一致,则进行实例恢复。
- 实例恢复的过程
- – 前滚 rolling forward
- 读取状态为current和active状态的日志(redo log),将发生crash时,没有来得及写到磁盘上的数据块,使用redo的信息来恢复。
- – 打开数据库(alter database open)
- – 回滚 rolling back
- 将没有提交的事务进行回滚。
- 实例恢复
- sql>shutdown abort;
- 查看alert文件
|
介质恢复( Media recovery) 当发生以下情况时,实例恢复无效,需要进行介质恢复: - – 数据文件丢失,损坏。
- – 在线日志文件(online redo)丢失,损坏。
- – 数据文件太旧 (比如从一个备份集中恢复过来的文件。)
- –文件太新(比如,其它所有的文件都是从备份中恢复过来的)
|
Oracle实例的恢复、介质恢复( crash recovery)( Media recovery)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉:
投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。