实例恢复的初探

[复制链接]
查看11 | 回复9 | 2013-8-15 05:38:00 | 显示全部楼层 |阅读模式
本帖最后由 gyj_hobby 于 2012-12-12 08:36 编辑
什么时候会产生实例恢复呢?当你数据库服务器异常断电,重启数据库就会发生实例恢复。实例恢复是由数据库自动完成的,无须DBA的干涉。当然这里有个前提条件:数据文件、在线日志文件、控制文件不得有损坏。 我们用实验来分析一下实例恢复的整个过程吧!1、在关闭数据库前,我们先看一下几个检查点的SCNSQL> select checkpoint_change# from v$database;CHECKPOINT_CHANGE# ------------------ 1455180 --控制文件中保存的数据库检查点SCN号实际上在所有数据文件头部中最小的检查点SCNSQL> select file#,checkpoint_change# from v$datafile;FILE# CHECKPOINT_CHANGE#---------- ------------------ 1
1455180 2
1455180 3
1455180 4
1455180 5
1455180 6
1455180--控制文件中保存的数据文件检查点SCN:当一个检查点动作完成之后,Oracle就把每个数据文件的scn单独存放在控制文件中SQL> select file#,checkpoint_change# from v$datafile_header; FILE# CHECKPOINT_CHANGE#---------- ------------------ 1
1455180 2
1455180 3
1455180 4
1455180 5
1455180 6
1455180--每个数据文件的文件头中的检查点SCN这三个检查点的SCN一致,接下来模拟异常断电,重启机器2、此命令可以模拟异常断电SQL> shutdown abort;ORACLE instance shut down.3、监控告警日志[oracle@guoyj trace]$ tail -f alert_bxocp.log Starting background process VKRMTue Dec 11 22:54:41 2012VKRM started with pid=24, OS id=12500 Tue Dec 11 22:58:11 2012Shutting down instance (abort)License high water mark = 3USER (ospid: 12479): terminating the instanceInstance terminated by USER, pid = 12479Tue Dec 11 22:58:12 2012Instance shutdown complete4、数据库启动到MOUNT状SQL> shutdown abort;ORACLE instance shut down.SQL> startup mount;ORACLE instance started.Total System Global Area839282688 bytesFixed Size
2233000 bytesVariable Size
524291416 bytesDatabase Buffers
310378496 bytesRedo Buffers
2379776 bytesDatabase mounted.5、再确定一下这个时间的检查点SCNSQL> select checkpoint_change# from v$database; CHECKPOINT_CHANGE#------------------ 1455180SQL> SQL>select file#,checkpoint_change# from v$datafile; FILE# CHECKPOINT_CHANGE# ---------- ------------------ 1
1455180 2
1455180 3
1455180 4
1455180 5
1455180 6
14551806 rows selected.SQL> select file#,checkpoint_change# from v$datafile_header; FILE# CHECKPOINT_CHANGE#---------- ------------------ 1
1455180 2
1455180 3
1455180 4
1455180 5
1455180 6
1455180发现与异常断电前的检查点的SCN一致,这里一致无须介质恢复。先不着急open数据库,我们做一些dump6、dump的控制文件alter session set events 'immediate trace name CONTROLF level 12';取部分内容:***************************************************************************DATABASE ENTRY***************************************************************************(size = 316, compat size = 316, section max = 1, section in-use = 1,last-recid= 0, old-recno = 0, last-recno = 0)(extent = 1, blkno = 1, numrecs = 1)12/07/2012 10:36:14DB Name "BXOCP"Database flags = 0x00404000 0x00001000Controlfile Creation Timestamp12/07/2012 10:36:15Incmplt recovery scn: 0x0000.00000000Resetlogs scn: 0x0000.000f30dc Resetlogs Timestamp12/07/2012 10:36:16Prior resetlogs scn: 0x0000.00000001 Prior resetlogs Timestamp09/17/2011 09:46:04Redo Version: compatible=0xb200000#Data files = 6, #Online files = 6Database checkpoint: Thread=1 scn: 0x0000.0016344c --数据库检查点SCN=16344c转成10进制为1455180

回复

使用道具 举报

千问 | 2013-8-15 05:38:00 | 显示全部楼层
学习了
回复

使用道具 举报

千问 | 2013-8-15 05:38:00 | 显示全部楼层
多言多行 发表于 2012-12-12 00:24
学习了



回复

使用道具 举报

千问 | 2013-8-15 05:38:00 | 显示全部楼层
学习学习~ 多谢分享
回复

使用道具 举报

千问 | 2013-8-15 05:38:00 | 显示全部楼层
学习收藏
回复

使用道具 举报

千问 | 2013-8-15 05:38:00 | 显示全部楼层
谢谢楼主的分享。
回复

使用道具 举报

千问 | 2013-8-15 05:38:00 | 显示全部楼层
收藏,学习,谢谢楼主了
回复

使用道具 举报

千问 | 2013-8-15 05:38:00 | 显示全部楼层
果断收藏起来了。
回复

使用道具 举报

千问 | 2013-8-15 05:38:00 | 显示全部楼层
回滚通过SMON完成,将UNDO里的数据回滚到数据文件中
回复

使用道具 举报

千问 | 2013-8-15 05:38:00 | 显示全部楼层
大米嗵嗵 发表于 2012-12-12 13:02
回滚通过SMON完成,将UNDO里的数据回滚到数据文件中

very good!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行