断电引起的oracle数据库异常恢复----惜分飞
联系:手机/微信(+86 17813235971) QQ(107644445)
作者:惜分飞版权所有[未经本人同意,不得以任何形式转载,否则有进一步追究法律责任的权利.]
服务器断电,数据库mount失败
SQL> startup mount pfile='d:/pfile.txt'ORACLE 例程已经启动。Total System Global Area 1185853440 bytesFixed Size 2175168 bytesVariable Size 335548224 bytesDatabase Buffers 838860800 bytesRedo Buffers 9269248 bytesORA-00205: ?????????, ??????, ??????? |
alert日志报错信息
Sun Mar 19 20:18:29 2023ALTER DATABASE MOUNTErrors in file d:\app\xifenfei\diag\rdbms\orcl\orcl\trace\orcl_ckpt_15064.trc (incident=3697):ORA-00227: ????????????: (? 1, # ? 1)ORA-00202: ????: ''D:\BAIDUNETDISKDOWNLOAD\ORCL\CONTROL01.CTL''Incident details in: d:\app\xifenfei\diag\rdbms\orcl\orcl\incident\incdir_3697\orcl_ckpt_15064_i3697.trcSun Mar 19 20:18:30 2023Errors in file d:\app\xifenfei\diag\rdbms\orcl\orcl\trace\orcl_m000_18084.trc (incident=3761):ORA-00227: ????????????: (? 1, # ? 1)ORA-00202: ????: ''D:\BAIDUNETDISKDOWNLOAD\ORCL\CONTROL01.CTL''Incident details in: d:\app\xifenfei\diag\rdbms\orcl\orcl\incident\incdir_3761\orcl_m000_18084_i3761.trcSun Mar 19 20:18:29 2023MMNL started with pid=16, OS id=9404 ORA-00227: ????????????: (? 1, # ? 1)ORA-00202: ????: ''D:\BAIDUNETDISKDOWNLOAD\ORCL\CONTROL01.CTL''Checker run found 1 new persistent data failuresTrace dumping is performing id=[cdmp_20230319201831]ORA-205 signalled during: ALTER DATABASE MOUNT... |
错误比较明显由于控制文件的block损坏导致数据库在mount的时候提示ORA-00205,重试重建ctl
SQL> CREATE CONTROLFILE REUSE DATABASE "orcl" NORESETLOGS NOARCHIVELOG 2 MAXLOGFILES 50 3 MAXLOGMEMBERS 5 4 MAXDATAFILES 100 5 MAXINSTANCES 8 6 MAXLOGHISTORY 226 7 LOGFILE 8 GROUP 1 'D:\BaiduNetdiskDownload\orcl/redo01.log' SIZE 50M, 9 GROUP 2 'D:\BaiduNetdiskDownload\orcl/redo02.log' SIZE 50M, 10 GROUP 3 'D:\BaiduNetdiskDownload\orcl/redo03.log' SIZE 50M 11 DATAFILE 12 'D:\BaiduNetdiskDownload\orcl\EXAMPLE01.DBF', 13 'D:\BaiduNetdiskDownload\orcl\GHZN.DBF', 14 'D:\BaiduNetdiskDownload\orcl\GHZN2.DBF', 15 'D:\BaiduNetdiskDownload\orcl\SYSAUX01.DBF', 16 'D:\BaiduNetdiskDownload\orcl\SYSTEM01.DBF', 17 'D:\BaiduNetdiskDownload\orcl\UNDOTBS01.DBF', 18 'D:\BaiduNetdiskDownload\orcl\USERS01.DBF' 19 CHARACTER SET ZHS16GBK 20 ;CREATE CONTROLFILE REUSE DATABASE "orcl" NORESETLOGS NOARCHIVELOG*ERROR at line 1:ORA-01503: CREATE CONTROLFILE failedORA-01565: error in identifying file'D:\BaiduNetdiskDownload\orcl\UNDOTBS01.DBF'ORA-27041: unable to open fileOSD-04001: 逻辑块大小无效 (OS 2613931212) |
由于undo文件异常(大小不是block size的整数倍),因此报OSD-04001: 逻辑块大小无效错误.对undo文件及其其他文件进行检查发现数据库文件有不少坏块,而且undo文件的文件头损坏
通过抛弃undo文件并进行一些处理,重建ctl成功,并且recover 数据库成功,顺利open数据库
SQL> CREATE CONTROLFILE REUSE DATABASE "orcl" NORESETLOGS NOARCHIVELOG 2 MAXLOGFILES 50 3 MAXLOGMEMBERS 5 4 MAXDATAFILES 100 5 MAXINSTANCES 8 6 MAXLOGHISTORY 226 7 LOGFILE 8 GROUP 1 'D:\BaiduNetdiskDownload\orcl/redo01.log' SIZE 50M, 9 GROUP 2 'D:\BaiduNetdiskDownload\orcl/redo02.log' SIZE 50M, 10 GROUP 3 'D:\BaiduNetdiskDownload\orcl/redo03.log' SIZE 50M 11 DATAFILE 12 'D:\BaiduNetdiskDownload\orcl\EXAMPLE01.DBF', 13 'D:\BaiduNetdiskDownload\orcl\GHZN.DBF', 14 'D:\BaiduNetdiskDownload\orcl\GHZN2.DBF', 15 'D:\BaiduNetdiskDownload\orcl\SYSAUX01.DBF', 16 'D:\BaiduNetdiskDownload\orcl\SYSTEM01.DBF', 17 'D:\BaiduNetdiskDownload\orcl\USERS01.DBF' 18 CHARACTER SET ZHS16GBK 19 ;Control file created.SQL> recover database;Media recovery complete.SQL> shutdown immediate;ORA-01109: database not openDatabase dismounted.ORACLE instance shut down.SQL> startup mount pfile='d:/pfile.txt'ORACLE instance started.Total System Global Area 1185853440 bytesFixed Size 2175168 bytesVariable Size 335548224 bytesDatabase Buffers 838860800 bytesRedo Buffers 9269248 bytesDatabase mounted.SQL> alter database open;Database altered. |
然后使用逻辑方式导出数据,运气不错业务文件没有任何坏块,system坏块在aud$上,无任何业务数据丢失.
- 恢复没有控制文件备份的rman数据文件备份
- 重建控制文件丢失数据文件导致悲剧
- 数据文件的三个创建SCN一点点探讨
- ora-600 kcratr_scan_lastbwr
- 分享一次ORA-01113 ORA-01110故障处理过程
- 重建control遗漏数据文件,reseltogs报ORA-1555错误处理
- 创建控制文件出现ORA-01565 ORA-27041 OSD-04002
- ORA-00600[kcrf_resilver_log_1]异常恢复
- ORA-00600 dbkif_find_next_record_1
- ora-600 kccpb_sanity_check_2故障处理
- 非归档数据库异常恢复一例
- ORA-600 kcratr_scan_lastbwr 恢复
断电引起的oracle数据库异常恢复----惜分飞的更多相关文章
- Oracle数据库文件恢复与备份思路
怎样才能对Oracle数据库进行备份?如何才能对删除的数据再进行恢复?这是困扰着很多人的问题.大家都知道,任何数据库在长期使用过程中,都会存在一定的安全隐患.对于数据库管理员来说不能仅寄希望于计算机操 ...
- VCS引起的oracle数据库异常重新启动一例
1. 环境描写叙述 操作系统版本号:SUSE Linux Enterprise Server 10 sp2 (x86_64) 数据库版本号:Oracle 11.1.0.7.16 VCS版本号:5.1 ...
- oracle数据库全然恢复和不全然恢复以及运行用户管理辈分恢复
比較全然恢复和不全然恢复: 一.全然恢复:将数据库恢复到当前最新状态,包含直至请求恢复时进行的全部已提交的数据更改 二.不全然恢复:将数据库恢复到请求恢复操作之前指定的过去时间点 一.全然恢复过程 以 ...
- oracle数据库表恢复到特定时间点
某一张表被应用软件里误操作把数据都清空了,现在想恢复到清空之间,比如2013年8月13日14点以前,应该怎样操作? 通过这个问题可以引发一系列的知识点串联. 1.如果开启闪回可以使用闪回表. 怎样查看 ...
- Oracle数据库备份恢复,巡检须要关注的对象设置以及相关恢复概述
数据库备份恢复.巡检须要关注的对象设置: 1.数据库名称,以及DBID: --dbid在v$database中 SYS@ORCL>select dbid,name from v$dat ...
- oracle数据库冷恢复
场 景:客户的服务器是在虚拟机上,结果虚拟机的服务器的硬盘坏掉了.硬盘换掉后,系统成功恢复出来,但是登录虚拟机后,数据库无法启动. 解决方案:通过冷恢复将数据库还原.在自己的电脑上搭建一个 ...
- ORACLE数据库误删恢复
一.表的恢复 对误删的表,只要没有使用PURGE永久删除选项,那么从flash back区恢复回来希望是挺大的.一般步骤有: 1.从flash back里查询被删除的表 select * from r ...
- oracle数据库误删恢复方法
一.如果只是误删部分数据或者某条数据可以通过 1.select * from 误删除的表明 as of timestamp to_Date('恢复年月日 时分秒', '恢复时间格式') ...
- oracle数据库,恢复到24小时内的数据
因为更新的时候忘记添加条件,导致数据混乱. 用此方法,把数据恢复. --首先查询在某个时间点的数据 t_asn_dtl 为表名; SELECT * FROM t_asn_dtl AS OF TIMES ...
- AIX系统崩溃后oracle数据库的恢复方法
首先要确保数据库实例的完整性,包括控制文件,日志文件,表空间(系统表空间.用户表空间等). 新建同名数据库实例(表空间.用户等不需要). Sql>shutdown immediate关闭数据库 ...
随机推荐
- win10 注册
最近新安装了一台AMD YES 2700. 安装win10的企业版,没有注册,推荐淘宝. 但是我没有使用淘宝.你懂得链接 FREE. 以后赚钱了有机会用正版吧. http://www.tudoupe. ...
- c++ stl iterator erase
简介 就是C++ 标准库程序删除元素. 其实很简单,只是做个记录 it = monkeys.erase(it); //删除元素后,迭代器失效, //要重新让迭代器指向被删元素的后面
- 最近在做一个关于D3数据可视化的项目 知识点记录
简介 RT 跑 Minist 数据集 安装 tensorflow & tensorboard 安装 CUDA cuDnn D3 优秀的例子 gallery例子 http://github.co ...
- AES加密及AES解密在线工具-九五小庞
访问地址:https://tool.lvtao.net/aes
- 一款基于 .NET 开源免费、轻量快速、跨平台的 PDF 阅读器
前言 今天大姚给大家分享一款 .NET 开源免费.轻量快速.跨平台的 PDF 阅读器:Caly. 项目介绍 Caly 是一款 .NET 开源免费(MIT license).轻量快速.跨平台的 PDF ...
- Unity框架 EcsRx
文档:https://ecsrx.gitbook.io/project/ github: https://github.com/EcsRx/ecsrx.unity
- UnityEditor工具链开发的常用小技巧与示例
github链接 https://github.com/XINCGer/UnityToolchainsTrick UnityToolchainsTrick 提供一些UnityEditor工具链开发的常 ...
- Java中的23种设计模式详解
https://www.iteye.com/blog/zz563143188-1847029 总体来说设计模式分为三大类: 创建型模式,共五种:工厂方法模式.抽象工厂模式.单例模式.建造者模式.原型模 ...
- debian13+山泽USB蓝牙适配器5.3-成功
在 Debian 上使用蓝牙适配器连接手机(如 Android 或 iPhone)的步骤如下: 1. 准备工作 1.1 确保蓝牙适配器正常工作 lsusb | grep -i bluetooth # ...
- 厌倦样板代码?用 Rust 过程宏自动生成!
Rust 的宏系统 Rust 的宏系统提供了一种在编译期生成代码的机制,用于减少重复代码.自动实现 trait.扩展语言语法等用途.宏不通过常规的函数调用方式运行,而是在编译过程中由编译器对源代码进行 ...