记录一次停电导致的数据库不完全恢复
发表于:2025-01-25 作者:千家信息网编辑
千家信息网最后更新 2025年01月25日,记录一次停电导致的数据库不完全恢复接到朋友电话,一台windows+ora11g 数据库由于停电导致数据库启动失败;记录修复和走过的弯路;遗憾:该数据库未开归档,没有备份,最后数据库打开可能有数据丢失
千家信息网最后更新 2025年01月25日记录一次停电导致的数据库不完全恢复
记录一次停电导致的数据库不完全恢复
接到朋友电话,一台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安全错误
数据库的锁怎样保障安全
博雅数据库官网2021上海
国家网络安全宣传周活动小结
数据库设置查询列表固定值
电视开机显示无法连接服务器
安徽锐垶互联网科技有限
计算机三级网络技术考45题
深圳系统软件开发价钱是多少
青海启明星辰网络安全公司招聘
国道标准数据库
中控系统软件开发
服务器顶级配置
数据库的下划线和字的颜色
第一个最大的数据库
华为基站平台软件开发部
互联网属于科技公司么
北京特种网络技术标准
电脑装安卓系统服务器异常
苏州工业网络技术有哪些
数据库日期相减计算月份
手机如何连接远程数据库
网络安全管培训资料
科技互联网可以在民用吗
人脉加粉宝软件开发
软件开发hr
百官小学网络安全
5g时代网络安全管理
重庆惠普服务器虚拟化优化云空间
研究生网络安全学硬件吗
防范化解网络安全风险工作总结
山西常见软件开发收费