zoukankan      html  css  js  c++  java
  • 数据库打开时报错该如何解决

    故障描述

    故障主要表现为打开数据库时报错,内容为:“system01.dbf需要更多的恢复来保持一致性,数据库无法打开”。经过对数据库文件的检测后初步可得出以下结论:sysaux01.dbf有坏块,sysaux01.dbf文件损坏。急需恢复zxfg用户下的数据。

    故障分析
    出现上述报错的可能性原因主要有控制文件损坏、数据文件损坏,数据文件与控制文件的SCN不一致等。我们对数据库文件进行进一步检测、分析后发现sysaux01.dbf文件有坏块。对其进行修复数并启动数据库后,依然有许多查询报错,export和 data pump工具不能使用,查询告警日志,分析报错,这是由于sysaux文件损坏,导致发生上诉错误。从数据库层面不能修复数据库。system和用户表空间的数据文件都是正常的,可以利用底层解析数据文件恢复用户数据。

    检测与恢复
    1 利用DBV 检测数据文件
    图一:


    分析结果发现SYSAUX01.DBF文件数据块(Data)检测失败40页,索引页(Index)检测失败29页,其他文件检测正常。
    2 修复数据库,打开数据库
    图二:

    图三:

    3 查询数据库报错,export 和data pump报错
    图四:

    图五:

    进行各种尝试 ,查阅大量资料。数据库的这种内部错误,不能通过命令修复。
    4底层解析,将ZXFG用户的数据导入到新的数据库中
    图六:

    图七:

    结果
    底层解析数据库文件,将zxfg用户的数据导入到新的数据库中,完全恢复用户需要的数据,恢复100%的数据。

  • 相关阅读:
    设计模式之里氏替换原则
    设计模式之依赖倒置原则讲解
    条款10 若不想使用编译器自动生成的函数,就该明确拒绝
    Django---常用字段和参数
    Python中abc
    Python中鸭子类型
    Python多继承的正确打开方式:mixins机制
    python新式类和经典类的区别
    Django---drf权限、频率、过滤、排序、异常处理
    删库跑路技巧 删库跑路命令
  • 原文地址:https://www.cnblogs.com/frombyte/p/7423516.html
Copyright © 2011-2022 走看看