5.损坏全部联机日志

(1)故障模拟

删除日志文件:rm /u02/oradata/dbnms/*.log

关闭数据库:shutdown immediate;

启动数据库:startup;

Database mounted.

ORA-00313: open failed for members of log group 1 of thread 1

ORA-00312: online log 1 thread 1: '/u02/oradata/dbnms/redo11.log'

ORA-00312: online log 1 thread 1: '/u02/oradata/dbnms/redo21.log'

ORA-00312: online log 1 thread 1: '/u02/oradata/dbnms/redo01.log'

(2)恢复步骤

shutdown immediate;

create pfile from spfile;

cd $ORACLE_HOME/dbs

vi initdbnms.ora

加一个参数:_allow_resetlogs_corruption=true

create spfile from pfile;

startup;

Database mounted.

ORA-00313: open failed for members of log group 1 of thread 1

ORA-00312: online log 1 thread 1: '/u02/oradata/dbnms/redo11.log'

ORA-00312: online log 1 thread 1: '/u02/oradata/dbnms/redo21.log'

ORA-00312: online log 1 thread 1: '/u02/oradata/dbnms/redo01.log'

recover database until cancel;

alter database open resetlogs;

同步catalog:

rman target sys@dbnms catalog rmanuser@cata

reset database;

new incarnation of database registered in recovery catalog

starting full resync of recovery catalog

full resync complete

做一个full备份:

/home/oracle/dbbat/backup_full.sh

恢复成功

6.损坏一个控制文件

(1)故障模拟

删除控制文件:rm /u02/oradata/dbnms/control01.ctl

关闭数据库:shutdown immediate;

ORA-00210: cannot open the specified controlfile

ORA-00202: controlfile: '/u02/oradata/dbnms/control01.ctl'

ORA-27041: unable to open file

Linux Error: 2: No such file or directory

Additional information: 3

(2)恢复步骤

拷贝一个好的控制文件:

cp control02.ctl control01.ctl

shutdown immediate;

startup;

Database mounted.

ORA-01122: database file 1 failed verification check

ORA-01110: data file 1: '/u02/oradata/dbnms/system01.dbf'

ORA-01207: file is more recent than controlfile - old controlfile

rman target sys@dbnms catalog rmanuser@cata

run{

allocate channel c1 type disk;

restore database;

recover database;

sql 'alter database open';

release channel c1;

}

RMAN-00571:===========================================================

RMAN-00569:=============== ERROR MESSAGE STACKFOLLOWS===============

RMAN-00571:===========================================================

RMAN-03009: failure of sql command on default channel at 09/08/2005 17:29:04

RMAN-11003: failure during parse/execution of SQL statement: alter database open

ORA-00322: log 3 of thread 1 is not current copy

ORA-00312: online log 3 thread 1: '/u02/oradata/dbnms/redo03.log'

ORA-00312: online log 3 thread 1: '/u02/oradata/dbnms/redo13.log'

ORA-00312: online log 3 thread 1: '/u02/oradata/dbnms/redo23.log'

alter database clear unarchived logfile group 3;

alter database open;

恢复成功。

7.损坏全部控制文件

(1)故障模拟

删除控制文件:rm /u02/oradata/dbnms/control01.ctl

关闭数据库:shutdown immediate;

ORA-00210: cannot open the specified controlfile

ORA-00202: controlfile: '/u02/oradata/dbnms/control01.ctl'

ORA-27041: unable to open file

Linux Error: 2: No such file or directory

Additional information: 3

(2)恢复步骤

shutdown abort;

startup nomount;

rman target sys catalog rmanuser@cata

run{

allocate channel c1 type disk;

restore controlfile;

restore database;

sql 'alter database mount';

recover database;

sql 'alter database open resetlogs';

release channel c1;

}

RMAN-00571:===========================================================

RMAN-00569:=============== ERROR MESSAGE STACKFOLLOWS===============

RMAN-00571:===========================================================

RMAN-03002: failure of recover command at 09/08/2005 17:43:31

RMAN-06054: media recovery requesting unknown log: thread 1 seq 9 lowscn 670233

alter database open resetlogs;

做一个full备份:

/home/oracle/dbbat/backup_full.sh

恢复成功

8.损坏临时数据文件

(1)故障模拟

删除临时数据文件:rm /u02/oradata/dbnms/temp01.dbf

关闭数据库:shutdown immediate;

启动数据库:startup;

(2)恢复步骤

alter database tempfile '/u02/oradata/dbnms/temp01.dbf' drop;

ERROR at line 1:

ORA-01516: nonexistent log file, datafile, or tempfile

"/u02/oradata/dbnms/temp01.dbf"

alter tablespace temp add tempfile '/u02/oradata/dbnms/temp01.dbf' size 50M autoextend on next 5M maxsize unlimited;

恢复成功

9.损坏spfile参数文件

(1)故障模拟

删除spfile文件:rm $ORACLE_HOME/dbs/spfiledbnms.ora

关闭数据库:shutdown immediate;

启动数据库:startup;

(2)恢复步骤

startup nomount;

rman target sys catalog rmanuser@cata

restore spfile;

shutdown immediate;

startup;

恢复成功

10.损坏全部文件(包括全部数据文件、控制文件、临时数据文件、联机日志文件)

(1)故障模拟

删除全部文件:rm /u02/oradata/dbnms/*

关闭数据库:shutdown immediate;

ORA-03113: end-of-file on communication channel

(2)恢复步骤

sqlplus sys as sysdba

startup nomount;

rman target sys catalog rmanuser@cata

还原控制文件:restore controlfile;

还原数据库:restore database;

mount 数据库:alter database mount;

恢复数据库:recover database;

RMAN-00571:===========================================================

RMAN-00569:=============== ERROR MESSAGE STACKFOLLOWS===============

RMAN-00571:===========================================================

RMAN-03002: failure of recover command at 09/09/2005 10:33:13

RMAN-06054: media recovery requesting unknown log: thread 1 seq 19 lowscn 718284

用resetlogs方式打开数据库:alter database open resetlogs;

database opened

new incarnation of database registered in recovery catalog

starting full resync of recovery catalog

full resync complete

重建临时文件:

sqlplus sys as sysdba

alter database tempfile '/u02/oradata/dbnms/temp01.dbf' drop;

ERROR at line 1:

ORA-01516: nonexistent log file, datafile, or tempfile

"/u02/oradata/dbnms/temp01.dbf"

alter tablespace temp add tempfile '/u02/oradata/dbnms/temp01.dbf' size 50M autoextend on next 5M maxsize unlimited;

执行一次全库备份:/home/oracle/dbbat/backup_full.sh,恢复成功。

关于Oracle数据库损坏文件的修复方法就就介绍到这里了,希望本次的介绍能够带给您一些收获吧!

【编辑推荐】

【责任编辑:赵鹏 TEL:(010)68476606】

oracle数据库是db还是dbnms,Oracle数据库中各种类型的文件损坏与修复过程详解(2)...相关推荐

  1. mysql数据库存储引擎和索引的描述_Mysql InnoDB引擎的索引与存储结构详解

    前言 在Oracle 和SQL Server等数据库中只有一种存储引擎,所有数据存储管理机制都是一样的. 而MySql数据库提供了多种存储引擎.用户可以根据不同的需求为数据表选择不同的存储引擎,用户也 ...

  2. oracle中取反_oracle正则表达式regexp_like的用法详解

    oracle正则表达式regexp_like的用法详解 更新时间:2013年06月13日 17:42:05   作者: 本篇文章是对oracle正则表达式regexp_like的用法进行了详细的分析介 ...

  3. pg时间戳怎么入oracle库,Oracle与PostgreSQL中Timestamp型公元前、后数值的详解及JDBC存取...

    字段:date value1: 2010-01-01 value2: 2010-01-01BC 1.直接向数据库插入数值时: oracle需要使用to_timestamp('2010-01-01',' ...

  4. kettle 查询数据库写入文件_怎么连接数据库-详解如何用kettle连接mysql数据库并导出sql查询结果...

    概述 今天主要介绍下kettle怎么去连接mysql数据库及导出sql查询结果. 1.数据库链接驱动 如果没有安装对应的数据库驱动,在数据库连接的过程中,可能会报某个数据库连接找不到的异常,因此需要下 ...

  5. android数据库文件是否加密存储,详解Android数据存储之SQLCipher数据库加密

    前言: 最近研究了Android Sqlite数据库以及ContentProvider程序间数据共享,我们清晰的知道Sqlite数据库默认存放位置data/data/pakage/database目录 ...

  6. 关于oracle sql语句查询时表名和字段名要加双引号的问题详解

    转自:http://www.2cto.com/database/201504/387184.html 作为oracle的初学者相信大家一定会遇到这个问题,如图: 明明就是navicat可视化创建了表, ...

  7. mysql查询加伪列_SQL Server数据库中伪列及伪列的含义详解

    SQL Server中的伪列 下午看QQ群有人在讨论(非聚集)索引的存储,说,对于聚集索引表,非聚集索引存储的是索引键值+聚集索引键值:对于非聚集索引表,索引存储的是索引键值+RowId,这应该是一个 ...

  8. Oracle中定时作业(Job)使用方法详解

    初次接触到项目需要用定时调度,数据备份任务.所以上网也查阅了很多资料,由此依据自己的学习能力整理下,请大家多补充多支持下. 用Oracle的存储过程,可以让我们在编写程序的时候减少很多的量,利用Ora ...

  9. media recovery oracle,oracle 数据块损坏 Oracle 数据块损坏与恢复详解

    本文主要对RMAN块级别介质恢复进行解释并举例,以帮助大家理解相应概念并灵活使用 块级别介质恢复(Block-Level Media Recovery) 注意: 此恢复无法对数据文件块头(第一个块)进 ...

最新文章

  1. 跨平台C++开源码的两种经常使用编译方式
  2. GridControl详解(八)菜单
  3. PHP实现弹出消息提示框的两种方法
  4. MySQL 查询数据
  5. 阿里云开源编程马拉松入围项目
  6. 对大脑有益的16种食物_对大脑有益的食物有哪些?
  7. ES索引管理工具curator安装
  8. [计算机网络] - 调节参数提高 TCP 性能
  9. 数据库系统原理简答题、论述题、判断题
  10. java 读取文件的大小_java读取文件大小
  11. java字符串分割方法
  12. Android可折叠收缩伸展的Expandable分组RecyclerView:模型抽象和封装(二)
  13. 怎样通过计算机修改蓝牙音箱,有线音箱怎么改蓝牙无线音箱 有线音箱改无线音箱方法介绍【详解】...
  14. java集合终极总结
  15. Google谷歌的未来 野心:2017 Google I/O 大会 全程回顾
  16. 黑马程序员全套Java教程_Java基础入门视频教程零基础自学Java必备教程视频讲义(5)
  17. luogu1378 油滴扩展 (深搜)
  18. 【人脸识别6】用haar+adaboost训练自己的人脸检测器
  19. 比较IC卡、ID卡、M1卡、CPU卡它们之间有什么区别?
  20. 膨胀珍珠岩板(EPB) 保温材料英国UKCA 认证-EN 13169

热门文章

  1. 祛除雀斑的健康方法 - 健康程序员,至尚生活!
  2. Answer:关于C#连续赋值的面试题
  3. 《Java入门经典(第7版)》—— 6.11 练习
  4. JS 之 innerHTML
  5. 当前不会命中断点 源代码与原始版本不一致
  6. django 模板里面for循环常用的方法
  7. Linux下无法进入windows的NTFS分区并挂载错误的问题的解决方法
  8. centos 添加中文输入法
  9. Using POI to replace elements in WORD(.docx/.doc)(使用POI替换word中的特定字符/文字)【改进】...
  10. 一条龙奇迹私服WEB系统后门及bug