博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
如何判断控制文件是从备份中恢复的
阅读量:7193 次
发布时间:2019-06-29

本文共 1253 字,大约阅读时间需要 4 分钟。

昨天测试把DB迁移到ASM。迁移的过程很简单,不说了。过程中遇到一个问题。
迁移控制文件采用两种方式:
1. 打开数据库到mount状态,备份控制文件,然后shutdown。更改control_files路径。
进入nomount,用RMAN方式restore刚才备份控制文件,然后mount,open。这时提示
需要resetlogs打开。
2.更改control_files路径,进入nomount,用RMAN方式restore原路径下的控制文件,
然后mount,open。一切正常,没有提示需要resetlogs打开。
那么ORACLE是如何断定这个控制文件是从备份中恢复的呢。根据eygle的深入解析上所说的。
检查控制文件头与数据文件头的SCN是否匹配,来判断控制文件是否从备份中恢复。在这里
可能不行。因为数据库从未打开过,SCN不会变化的,通过我导出文件头信息也证明了这一点。
eygle也提到用Control seq来判断。我发现数据库到MOUNT状态,然后关闭,再到MOUNT。
Control seq一直递增。这也不是以上两种方式的差异。一番测试后又有所发现:
1. 用备份的控制文件restore之前的控制文件dump:
DUMP OF CONTROL FILES, Seq # 447 = 0x1bf
V10 STYLE FILE HEADER:
        Compatibility Vsn = 169870080=0xa200300
        Db ID=2480234890=0x93d5618a, Db Name='SMART4A3'
        Activation ID=0=0x0
        
Control Seq=447=0x1bf, File size=430=0x1ae
        File Number=0, Blksiz=16384,
 File Type=1 CONTROL
2. 用备份的控制文件restore之后的控制文件dump:
DUMP OF CONTROL FILES, Seq # 450 = 0x1c2
V10 STYLE FILE HEADER:
        Compatibility Vsn = 169870080=0xa200300
        Db ID=2480234890=0x93d5618a, Db Name='SMART4A3'
        Activation ID=0=0x0
        
Control Seq=450=0x1c2, File size=430=0x1ae
        File Number=0, Blksiz=16384,
 File Type=4 BACKUP CONTROL
可以看Control Seq是一直增长的。但后者标识File Type=4 BACKUP CONTROL. 这也许就是ORACLE来判断控制文件是否从备份中恢复的。不知是否准确,请高手指点一二。
本文转自 anranran 51CTO博客,原文链接:http://blog.51cto.com/guojuanjun/341373

转载地址:http://hpxkm.baihongyu.com/

你可能感兴趣的文章
Hbase之修改表结构
查看>>
通过浏览器学习前端的小技巧
查看>>
APP开发之AngularJS学习
查看>>
Sass:RGB颜色函数-Mix()函数
查看>>
phpMyAdmin 错误 缺少 mysqli 扩展。请检查 PHP 配置
查看>>
Win7网上邻居提示未授予用户在此计算机上的请求登录类型解决办法
查看>>
golang包快速生成base64验证码
查看>>
Visual studio 下C++工程相关经验
查看>>
七、SSR(服务端渲染)
查看>>
django--app(六)
查看>>
20165208 预备作业3Linux安装及学习
查看>>
洛谷P3379 【模板】最近公共祖先(LCA)
查看>>
获取一个表单字段中多条数据并转化为json格式
查看>>
c#中的变量,属性,字段
查看>>
JS实现延迟载入图片
查看>>
游戏开发中的人工智能
查看>>
Ubuntu 安装BCM 43142无线网卡驱动
查看>>
iOS 疑难杂症 — — UIButton 点击卡顿/延迟
查看>>
免费 官方的ASP.NET MVC电子书-Professional ASP.NET MVC 1.0
查看>>
PL/SQL DEVELOPER
查看>>