Oracle数据恢复—异常断电导致Oracle数据库报错的数据恢复案例

Oracle数据库故障:
机房异常断电后,Oracle数据库启库报错:“system01.dbf需要更多的恢复来保持一致性,数据库无法打开”。数据库没有备份,归档日志不连续。用户方提供了Oracle数据库的在线文件,需要恢复zxfg用户的数据。

Oracle数据库恢复方案:
检测数据库故障;尝试挂起并修复数据库;解析数据文件。

Oracle数据库数据恢复过程:
1、利用DBV命令检测数据文件的完整性。

分析发现SYSAUX01.DBF文件的数据块(Data)和索引页(Index)都有几十页检测失败,说明SYSAUX01.DBF存在坏块,其他文件检测完整。
2、本地挂起数据库并尝试修复数据库。

起库报ORA-01110错误,System01.dbf需要更多一致性恢复。使用recover database命令,利用在线日志做介质恢复。

由于数据库的控制文件已被修改,需要使用控制文件恢复数据库。

由于恢复数据库需要某天的归档日志,但是归档日志丢失,只能使用cancel参数进行不完全恢复。

3、执行alter database open命令,打开数据库。

4、查询实例状态,数据库报ora_00600错误。进行其他查询,部分查询正常,部分查询报错,且都是报ora_00600错误。

5、查看警告日志,追踪文件查看内部错误代码;
警告日志部分内容:ORA-00600: internal error code, arguments: [13013], [5001], [267], [8456009], [5], [8456009], [17], [], [], [], [], []
Non-fatal internal error happenned while SMON was doing logging scn->time mapping.
6、尝试用expdp/exp工具导出数据库。

expdp导出数据库报错,和上面的查询报同样的错误。数据库导出失败。尝试使用exp导出数据库,但是报同样的错误,甚至一些查询都无法进行,导出数据库失败。因此数据库的恢复已不可能。
7、使用北亚企安自主研发的DBF解析工具获取数据。

8、迁移对象到数据库中。创建数据库,在数据库中创建用户,为用户分配表空间,解锁用户并授权。将解析到的用户对象迁移到数据库中。
9、使用toad for oracle工具验证数据。

10、使用exp或者expdp导出zxfg用户下的所有对象。本案例使用exp导出数据。
命令如下:exp system/abc file=C:\test\dump\zxfg.dmp log=C:\test\dump\zxfg.log owner=zxfg

11、查看导出的dmp文件及导出的日志,确保导出文件没有问题。
12、用户导入数据,查看导入数据的完整性。经过检测,用户方确认恢复数据完整有效,认可数据恢复结果。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/885203.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

仕考网:事业单位考试选岗小技巧!

事业单位的考试选岗阶段,应该综合考量多个方面,确保选择出更合适的岗位,仕考网为大家分享以下技巧: 1. 岗位性质及工作内容 岗位性质:深入了解岗位是管理类、专业技术类还是工勤技能类,以及相应的职责和要求。 工作…

解决 Macos下 Orbstack docker网络问题

两种解决方法,第一种开代理 参考 —— 但是我这一种没成功,第二种方法是换镜像源 { "registry-mirrors": ["http://hub-mirror.c.163.com","https://docker.mirrors.ustc.edu.cn","https://mirrors.tencent.com&q…

openKylin--安装 .net6.0

编辑profile文件 cd .. //切换到根目录 cd /etc //切换到etc目录 vim profile //b编辑profile文件 1. 按→键移动到文件末尾 2. 按Insert键进入编辑模式 3. 按Enter另起一行开始编辑 export DOTNET_ROOT/home/dotnetexport PATH$PATH:/home/dotnet 可以通过右键--粘贴 的…

【Android 14源码分析】WMS-窗口显示-第二步:relayoutWindow -1

忽然有一天,我想要做一件事:去代码中去验证那些曾经被“灌输”的理论。                                                                                  – 服装…

YOLOv11改进策略【损失函数篇】| Slide Loss,解决简单样本和困难样本之间的不平衡问题

一、本文介绍 本文记录的是改进YOLOv11的损失函数,将其替换成Slide Loss,并详细说明了优化原因,注意事项等。Slide Loss函数可以有效地解决样本不平衡问题,为困难样本赋予更高的权重,使模型在训练过程中更加关注困难样…

Docker版MKVtoolnix的安装及中文显示

本文是应网友 kkkhi 要求折腾的,只研究了 MKVtoolnix 的安装及中文显示,未涉及到软件的使用; 什么是 MKVtoolnix ? MKVToolnix 是一款功能强大的多媒体处理工具,用于在 Linux、其他 Unix 系统和 Windows 上创建、修改和…

SpringBoot--为什么Controller是串行的?怎样才能并行?

原文网址:SpringBoot--为什么Controller是串行的?怎样才能并行?-CSDN博客 简介 本文介绍SpringBoot为什么Controller是串行的?在什么场景下才能并行执行? 大家都知道,SpringBoot的Controller按理是并行执…

1.2.1 HuggingFists安装说明-Linux安装

Linux版安装说明 下载地址 【GitHub】https://github.com/Datayoo/HuggingFists 【百度网盘】https://pan.baidu.com/s/12-qzxARjzRjYFvF8ddUJQQ?pwd2024 安装说明 环境要求 操作系统:CentOS7 硬件环境:至少4核8G,系统使用Containerd…

IIS HTTPS 网页可能暂时无法连接,或者它已永久性地移动到了新网址 ERR_HTTP2_INADEQUATE_TRANSPORT_SECURITY

问题描述:站点突然无法访问,经排查发现,HTTP协议的网址可以继续访问,HTTPS的网址不可以访问。 问题分析:在Windows更新和滚动之后,由于 HTTP/2,当站点启动了 HTTP/2 连接,会出现一个…

通过PHP获取商品详情

在电子商务的浪潮中,数据的重要性不言而喻。商品详情信息对于电商运营者来说尤为宝贵。PHP,作为一种广泛应用的服务器端脚本语言,为我们提供了获取商品详情的便捷途径。 了解API接口文档 开放平台提供了详细的API接口文档。你需要熟悉商品详…

【JavaEE初阶】网络原理

欢迎关注个人主页:逸狼 创造不易,可以点点赞吗~ 如有错误,欢迎指出~ 目录 ⽹络互连 IP地址 端口号 协议 协议分层 优势 TCP/IP 五层网络模型 数据在网络通信中的整体流程 封装和分用 封装 分用 ⽹络互连 随着时代的发展,越来越需…

若依框架使用教程

1、若依介绍 1.1什么是低代码开发平台&#xff1f; 低代码诞生的目的是将可<font style"color:rgb(51, 51, 51);background-color:rgb(248, 248, 248);">重复性的编程</font>工作通过<font style"color:rgb(51, 51, 51);background-color:rgb(2…

.Net 6.0 监听Windows网络状态切换

上次发了一个文章获取windows网络状态&#xff0c;判断是否可以访问互联网。传送门&#xff1a;获取本机网络状态 这次我们监听网络状态切换&#xff0c;具体代码如下&#xff1a; public class WindowsNetworkHelper {private static Action<bool>? _NetworkStatusCh…

js列表数据时间排序和取唯一值

1.取唯一值[...new Set(array)] const array [1, 2, 3, 2, 4, 5, 3, 5]; // 使用Set去除重复元素 const uniarray [...new Set(array)]; console.log(uniarray); // 输出: [1, 2, 3, 4, 5] 2.排序 var u [1,3,2,5,4]; var uu u.sort(); console.log(uu); var u [1,3…

求组合数专题

求组合数 Ⅰ&#xff08;递推公式&#xff09; 思路 递推法预处理 利用公式 复杂度 直接查询 单次查询复杂度 代码 #include <bits/stdc.h> using namespace std; const int N 2010; const int mod 1e97; int c[N][N]; int get_c(int a, int b) {c[0][0] 1;for(i…

9700万个新岗位涌现,AI失业焦虑背后:超千万人找到了新工作

随着技术的飞速进步&#xff0c;全球就业市场正经历着翻天覆地的变化。 《2023年未来就业报告》预计&#xff0c;未来五年将新增近7000万个工作岗位&#xff0c;同时淘汰8300万个旧岗位。 在中国&#xff0c;城市如武汉和东莞正成为新就业机会的热土&#xff0c;无人驾驶、人…

C++ | Leetcode C++题解之第433题最小基因变化

题目&#xff1a; 题解&#xff1a; class Solution { public:int minMutation(string start, string end, vector<string>& bank) {int m start.size();int n bank.size();vector<vector<int>> adj(n);int endIndex -1;for (int i 0; i < n; i)…

数据结构2——单链表

在数据结构1——顺序表&#xff08;C语言版&#xff09;中&#xff0c;我们已经了解了顺序表的使用和实现&#xff0c;总结一下顺序表的优点&#xff1a; ①尾插尾删效率足够快&#xff1b; ②下标的随机访问和修改也足够方便。 可除此之外顺序表也确实存在着不足&#xff1a; …

随手记:牛回速归

上周-国庆前&#xff1a;牛回速归 国庆&#xff1a;小心被套住 国庆后&#xff1a;一片迷茫 总结&#xff1a;要是上周到国庆前的基本都能捞到&#xff0c;后面情况不好说 后续持续更新

word中的表格全部设置宽度100%

1、背景 我们用工具将数据库或其他的数据导出成word时&#xff0c;表格有的会大于100%&#xff0c;超过了边界。word没有提供全局修改的方法。如果我们想改成100%。 一种方式是通过宏&#xff0c;全局改。一种是手动改。 2、宏修改 如果表格多&#xff0c;可以通过这种方式。…