记录一次停电导致的数据库不完全恢复
发表于:2024-11-24 作者:千家信息网编辑
千家信息网最后更新 2024年11月24日,记录一次停电导致的数据库不完全恢复接到朋友电话,一台windows+ora11g 数据库由于停电导致数据库启动失败;记录修复和走过的弯路;遗憾:该数据库未开归档,没有备份,最后数据库打开可能有数据丢失
千家信息网最后更新 2024年11月24日记录一次停电导致的数据库不完全恢复
记录一次停电导致的数据库不完全恢复
接到朋友电话,一台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安全错误
数据库的锁怎样保障安全
验证码存在服务器
字母在数据库是什么类型
湖南军工卫星授时服务器虚拟主机
服务器存储固态硬盘能用多久
htap数据库营销
台州大数据库安全
数据库建表的基本步骤
传完值后请空数据库
数据库清除密码吗
市域治理防范化解网络安全风险
常用数据库类型有 4分
宝山区市场软件开发销售方法
用友软件开发实例
生存战怎么加服务器手机版
JQX课件软件开发
哪些服务器可以直播
深圳北辰星光网络技术有限公司
华为网络安全学习心得300字
和田网络技术调试
如何匹配名字相同的数据库
计算机网络技术专升本真题
mac 连接服务器
XBD数据库
vs窗体能否对数据库操作
医学英文 文献数据库
战争之夜服务器
数据库怎么查询多条
怎么架设代理服务器
福泉专业软件开发外包
双人成行总是断开服务器