记录一次停电导致的数据库不完全恢复
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,记录一次停电导致的数据库不完全恢复接到朋友电话,一台windows+ora11g 数据库由于停电导致数据库启动失败;记录修复和走过的弯路;遗憾:该数据库未开归档,没有备份,最后数据库打开可能有数据丢失
千家信息网最后更新 2026年11月01日记录一次停电导致的数据库不完全恢复
记录一次停电导致的数据库不完全恢复
接到朋友电话,一台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安全错误
数据库的锁怎样保障安全
科技互联网
互联网科技海报
伟宏互联网科技
互联网最新的科技
互联网科技的发展
小马过河互联网科技
苏州互联网科技贷款公司
碳银互联网科技有限公司
广州善班互联网科技
湖南诚度互联网科技有限公司
浙江互联网科技研学营
互联网5g黑科技有哪些
燊美集互联网科技有限公司
晋城互联网科技
上海科技产业互联网平台
互联网企业科技类企业如何做账
互联网营销推广黑科技
美国互联网科技公司
广西泛欧互联网科技有限公司
互联网科技创业计划的风险分析
亿人帮互联网科技有限公司
互联网科技ppt模板
顺网科技2021年互联网排名
恒生科技互联网指数分析
黑科技闪耀互联网之光
乌苏新华互联网科技做什么的
河南住房之家互联网科技
怎样加入科技互联网
济南小医互联网科技有限公司招聘
互联网领先科技成果宣传视频