iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >基于控制文件的scn不完全恢复该怎么办
  • 264
分享到

基于控制文件的scn不完全恢复该怎么办

2024-04-02 19:04:59 264人浏览 安东尼
摘要

这篇文章将为大家详细讲解有关基于控制文件的scn不完全恢复该怎么办,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

这篇文章将为大家详细讲解有关基于控制文件的scn不完全恢复该怎么办,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

问题现象:

  1. sql> alter database open resetlogs;

  2. alter database open resetlogs

  3. *

  4. ERROR at line 1:

  5. ORA-01152: file 1 was not restored from a sufficiently old backup

  6. ORA-01110: data file 1: '/DBSoft/oracle/oradata/woo/system01.dbf'


日志中报错:

  1. alter database open

  2. Errors in file /DBSoft/oracle/diag/rdbms/woo/woo/trace/woo_ora_24956.trc:

  3. ORA-01589: must use RESETLOGS or NORESETLOGS option for database open

  4. ORA-1589 signalled during: alter database open...

  5. Sun Dec 24 05:44:45 2017

  6. Signalling error 1152 for datafile

  7. Signalling error 1152 for datafile

  8. Signalling error 1152 for datafile

  9. Signalling error 1152 for datafile

  10. Signalling error 1152 for datafile

  11. Checker run found 5 new persistent data failures

  12. Sun Dec 24 05:44:51 2017

  13. alter database open resetlogs

  14. Signalling error 1152 for datafile

  15. ORA-1152 signalled during: alter database open resetlogs...


问题分析:
做完recover database正要起库,发现data file 1需要恢复,那么这个时候就应该要想到需要做不完全恢复了。那么不完全恢复自然有四种,基于时间(time)恢复
  基于取消(cancel)恢复
  基于SCN(change)恢复
  基于备份控制文件(unsing backup controlfile)的恢复,那么接下来我们需要了解下,用那种方式最合适了。

查看scn信息:
查看数据文件头部的scn信息:

  1. SQL> select checkpoint_change# from v$datafile_header;


  2. CHECKPOINT_CHANGE#

  3. ------------------

  4.        2247792

  5.        2247792

  6.        2247792

  7.        2247792

  8.        2247792


查看控制文件中记录的scn头部信息:

  1. SQL> select checkpoint_change# from v$datafile;


  2. CHECKPOINT_CHANGE#

  3. ------------------

  4.        2247974

  5.        2247974

  6.        2247974

  7.        2247974

  8.        2247974


      在这里我们可以很清楚的看到控制文件中记录的scn信息比数据文件头部记录的scn信息更新,且所有数据文件头部信息是一致的,由此可以快速得出,我们将数据库恢复到数据文件的scn这样数据库就可以打开了。

做基于文件头部的scn恢复:

  1. SQL> recover database until change 2247792;

  2. ORA-00283: recovery session canceled due to errors

  3. ORA-01610: recovery using the BACKUP CONTROLFILE option must be done


        提示需要使用控制文件来做基于scn的恢复。

使用控制文件来做基于scn的恢复:

  1. SQL> recover database until change 2247792 using backup controlfile;

  2. Media recovery complete.

  SQL> select * from v$recover_file


     FILE# ONLINE  ONLINE_ ERROR CHANGE# TIME
---------- ------- ------- ---------- ---------- ------------------
1 ONLINE  ONLINE 2247792 23-DEC-17
2 ONLINE  ONLINE 2247792 23-DEC-17
3 ONLINE  ONLINE 2247792 23-DEC-17
4 ONLINE  ONLINE 2247792 23-DEC-17
5 ONLINE  ONLINE 2247792 23-DEC-17


恢复完成之后,执行open resetlogs:

  1. SQL> alter database open resetlogs;


  2. Database altered.

检查:

  1. SQL> col error fORMat a10;

  2. SQL> select * from v$recover_file;


  3. no rows selected


  4. SQL> select checkpoint_change# from v$datafile_header;


  5. CHECKPOINT_CHANGE#

  6. ------------------

  7.        2247797

  8.        2247797

  9.        2247797

  10.        2247797

  11.        2247797


  12. SQL> select checkpoint_change# from v$datafile;


  13. CHECKPOINT_CHANGE#

  14. ------------------

  15.        2247797

  16.        2247797

  17.        2247797

  18.        2247797

  19.        2247797

必须保证数据文件头部的scn和控制文件中的scn信息保持一致,数据库才能打开,那么正常恢复将遵循就近。

关于基于控制文件的scn不完全恢复该怎么办就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

您可能感兴趣的文档:

--结束END--

本文标题: 基于控制文件的scn不完全恢复该怎么办

本文链接: https://www.lsjlt.com/news/68630.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作