您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

实例恢复与Oracle的SCN

2025/1/19 20:41:50发布16次查看
简单理解oracle的scn就是自己的时间功能,好比linux系统自己的时间一样,oracle它也有自己的一套时间。 在你干净的关闭数据库时shutdown immediate或者使用alter system checkpoint都会把scn的值写入4个位置,其中有3个位于controlfile内,还有1个位于datafi
简单理解oracle的scn就是自己的时间功能,好比linux系统自己的时间一样,oracle它也有自己的一套时间。
在你干净的关闭数据库时shutdown immediate或者使用alter system checkpoint都会把scn的值写入4个位置,其中有3个位于controlfile内,还有1个位于datafile header内
controlfile里面的三个scn分别是:1、system checkpoint scn 2、datafile checkpoint scn 3、stop scn
---system checkpoint scn 查询
sql>select checkpoint_change# from v$database;
---datafile checkpoint scn查询
sql>select name,checkpoint_change# from v$datafile where name like '%user%';
---stop scn查询
sql>select name,last_change# from from v$datafile where name like '%user%';
其中这个stop scn在数据库正常使用的时候是null值
datafile header里面的scn是:start scn
---start scn 查询
sql>select name,checkpoint_change# from v$datafile_header were name like '%user%';
1、 clean shutdown 时
当clean shutdown 时,checkpoint会进行,并且此时datafile的stop scn和控制文件里的start scn会相同。 等到open数据库时,oracle检查datafile header中的start scn和存于control file中的datafile的scn是否相同, 如果相同,接着检查datafile header的start scn和存于control file中的stop scn是否相同,如果仍然相同,数据库就会正常开启,否则就需要recovery。
等到数据库开启后,储存在control file中的stop scn就会恢复为null值,此时表示datafile是open在正常模式下了。
2、 非正常shutdown
如果不正常shutdown (shutdown abort),则mount数据库后,会发现stop scn并不是等于其它位置的scn, 而是等于null,这表示oracle在shutdown时没有进行checkpoint,下次开机必须进行instance crash recovery(实例恢复)。
注意一点:
(1)启动数据库时,如果发现stop scn = null,表示需要进行instancecrash recovery;
(2)启动数据库时,如果发现有datafile header的start scn 不等于储存于controlfile的datafile scn,表示需要进行media recovery
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product