记录一次停电导致的数据库不完全恢复
发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,记录一次停电导致的数据库不完全恢复接到朋友电话,一台windows+ora11g 数据库由于停电导致数据库启动失败;记录修复和走过的弯路;遗憾:该数据库未开归档,没有备份,最后数据库打开可能有数据丢失
千家信息网最后更新 2025年11月07日记录一次停电导致的数据库不完全恢复
记录一次停电导致的数据库不完全恢复
接到朋友电话,一台windows+ora11g 数据库由于停电导致数据库启动失败;
记录修复和走过的弯路;
遗憾:该数据库未开归档,没有备份,最后数据库打开可能有数据丢失;
1、停电重启系统后,冷备数据库文件;
2、尝试启动数据库,提示:
ORA-01079 Oracle database was not properly created, operation aborted
3、重建控制文件;
启动数据库到mount下;
第一次执行语句:
CREATE CONTROLFILE REUSE DATABASE "ora11g" RESETLOGS NOARCHIVELOG
………………
提示:
ORA-01192: must have at least one enabled thread
第二次创建控制文件,执行语句成功;
CREATE CONTROLFILE REUSE DATABASE "ora11g" RESETLOGS NOARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 292
LOGFILE
GROUP 1 ('E:\app\Administrator\oradata\ora11g\REDO01.log') SIZE 51200K,
GROUP 2 ('E:\app\Administrator\oradata\ora11g\REDO02.log') SIZE 51200K,
GROUP 3 ('E:\app\Administrator\oradata\ora11g\REDO03.log') SIZE 51200K
-- STANDBY LOGFILE
DATAFILE
'E:\app\Administrator\oradata\ora11g\SYSTEM01.DBF',
'E:\app\Administrator\oradata\ora11g\UNDOTBS01.DBF'
CHARACTER SET US7ASCII;
4、尝试修复数据库:
recover database using backup controlfile;
将redo文件路径放到提示命令行下,提示恢复失败;
尝试:alter database open resetlogs;
提示:system文件需要恢复,recover datafile system文件失败;
尝试多种方法,在system需要恢复的情况下打开数据库,均失败;
5、重新启动数据库到mount状态,重新创建控制文件;
不recover database;直接alter database open resetlogs;
6、添加临时文件;
alter TABLESPACE "CCEN_TMP" add TEMPFILE 'E:\app\Administrator\oradata\ora11g\CCEN_TMP.ora' SIZE 2g reuse AUTOEXTEND ON NEXT 1g maxsize 30g;
7、执行全库备份;
有时间的琢磨的问题:
1、如何在system需要恢复的情况打开数据库?
2、如何从数据文件直接获取数据?
附录:关于检查点信息的;
ORA-01113问题的简单分析
http://blog.itpub.net/23718752/viewspace-1742631/
http://blog.csdn.net/xingzhemoluo/article/details/39430487
http://blog.csdn.net/msdnchina/article/details/38169095
http://blog.csdn.net/msdnchina/article/details/38010025
记录一次停电导致的数据库不完全恢复
接到朋友电话,一台windows+ora11g 数据库由于停电导致数据库启动失败;
记录修复和走过的弯路;
遗憾:该数据库未开归档,没有备份,最后数据库打开可能有数据丢失;
1、停电重启系统后,冷备数据库文件;
2、尝试启动数据库,提示:
ORA-01079 Oracle database was not properly created, operation aborted
3、重建控制文件;
启动数据库到mount下;
第一次执行语句:
CREATE CONTROLFILE REUSE DATABASE "ora11g" RESETLOGS NOARCHIVELOG
………………
提示:
ORA-01192: must have at least one enabled thread
第二次创建控制文件,执行语句成功;
CREATE CONTROLFILE REUSE DATABASE "ora11g" RESETLOGS NOARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 292
LOGFILE
GROUP 1 ('E:\app\Administrator\oradata\ora11g\REDO01.log') SIZE 51200K,
GROUP 2 ('E:\app\Administrator\oradata\ora11g\REDO02.log') SIZE 51200K,
GROUP 3 ('E:\app\Administrator\oradata\ora11g\REDO03.log') SIZE 51200K
-- STANDBY LOGFILE
DATAFILE
'E:\app\Administrator\oradata\ora11g\SYSTEM01.DBF',
'E:\app\Administrator\oradata\ora11g\UNDOTBS01.DBF'
CHARACTER SET US7ASCII;
4、尝试修复数据库:
recover database using backup controlfile;
将redo文件路径放到提示命令行下,提示恢复失败;
尝试:alter database open resetlogs;
提示:system文件需要恢复,recover datafile system文件失败;
尝试多种方法,在system需要恢复的情况下打开数据库,均失败;
5、重新启动数据库到mount状态,重新创建控制文件;
不recover database;直接alter database open resetlogs;
6、添加临时文件;
alter TABLESPACE "CCEN_TMP" add TEMPFILE 'E:\app\Administrator\oradata\ora11g\CCEN_TMP.ora' SIZE 2g reuse AUTOEXTEND ON NEXT 1g maxsize 30g;
7、执行全库备份;
有时间的琢磨的问题:
1、如何在system需要恢复的情况打开数据库?
2、如何从数据文件直接获取数据?
附录:关于检查点信息的;
ORA-01113问题的简单分析
http://blog.itpub.net/23718752/viewspace-1742631/
http://blog.csdn.net/xingzhemoluo/article/details/39430487
http://blog.csdn.net/msdnchina/article/details/38169095
http://blog.csdn.net/msdnchina/article/details/38010025
数据
数据库
文件
提示
尝试
控制
备份
情况
语句
问题
成功
遗憾
信息
命令
多种
弯路
方法
时间
朋友
检查点
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
大专网络技术专本贯通
零基础能学会软件开发
七骑士现在还有什么服务器能玩
堡垒机和数据库防火墙的区别
做缓存服务器赚钱
数据库中drop怎么用
is提示连接服务器失败
易语言小型数据库
对计算机网络技术基础的建议
计算机网络技术duben
apex每局都服务器连接超时
为什么员工要学数据库
c语言数据库
关于网络技术的求职信
国产操作系统服务器版需要付费吗
raw服务器
宽带服务器管理员
蓓优蜜海南互联网科技有限公司
上传图片数据库表空间不够
湘潭辛技网络技术有限公司
软件开发部pmo工作汇报
多人服务器怎么进服
电脑网页无法连接服务器怎么办
软件开发概要设计文档
宿舍数据库中应创建哪几个数据表
斗罗服务器最新
国产操作系统服务器版需要付费吗
大学生网络安全教育引导
KINGSCADA软件开发
加强网络安全保护个人信息