现象:业务平台无法登陆,日志报错为ORACLE的错误。

  查看oracle日志的报错,

ORA-00376: file 5 cannot be read at this time
ORA-01110: data file 5: '/oradata/users02.dbf'

  看一下oracle状态,

SQL> select status from v$instance;

STATUS
------------
OPEN

  奇怪了,数据库状态正常,还报错,应该是数据文件有问题,查一下数据文件的SCN,发现确实是datafile 5有问题,其SCN与其他的不一致。

  接下来开始要恢复了。尝试恢复数据文件5,

SQL> recovere datafile 5;
SP2-0734: unknown command beginning "recovere d..." - rest of line ignored.
SQL> recover datafile 5;
ORA-00279: change 14945741822997 generated at 03/22/2018 22:13:55 needed for
thread 1
ORA-00289: suggestion :
/usr/local/oracle/flash_recovery_area/ORCL/archivelog/2018_03_26/o1_mf_1_298748_
%u_.arc
ORA-00280: change 14945741822997 for thread 1 is in sequence #298748 Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
redo03.log;
ORA-00308: cannot open archived log 'redo03.log;'
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3

  加上until cancle参数再次尝试恢复,恢复数据原则要进程不断尝试

SQL> recover datafile 5 until cancel;
ORA-00274: illegal recovery option UNTIL

  尝试将数据文件5 online,

SQL> alter database datafile 5 online;
alter database datafile 5 online
*
ERROR at line 1:
ORA-01113: file 5 needs media recovery
ORA-01110: data file 5: '/oradata/users02.dbf'

  这里报错,应该是数据库已经OPEN了,无法进行数据文件恢复。将数据库关闭,启动至mount状态,

SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup mount;
ORACLE instance started. Total System Global Area 6747725824 bytes
Fixed Size 2213976 bytes
Variable Size 4160751528 bytes
Database Buffers 2550136832 bytes
Redo Buffers 34623488 bytes
Database mounted.

  再次加上until cancle参数再次尝试恢复,

SQL> recover database until cancel;
Media recovery complete.

  打开数据库,完成介质恢复,

SQL> alter database open;
alter database open
*
ERROR at line 1:
ORA-01589: must use RESETLOGS or NORESETLOGS option for database open SQL> alter database open RESETLOGS; Database altered. SQL> select status from v$instance; STATUS
------------
OPEN

  这时,介质恢复应该就完成了,再去查一下SCN,

SQL> select checkpoint_change# from v$datafile;

CHECKPOINT_CHANGE#
------------------
1.4946E+13
1.4946E+13
1.4946E+13
1.4946E+13
1.4946E+13
1.4946E+13
1.4946E+13
1.4946E+13
1.4946E+13
1.4946E+13
1.4946E+13 CHECKPOINT_CHANGE#
------------------
1.4946E+13
1.4946E+13
1.4946E+13 14 rows selected. SQL>

  

一致了,验证一下业务平台,正常了。

记数据库数据文件损坏恢复ORA-00376+ORA-01110的更多相关文章

  1. 非系统数据文件损坏,rman备份恢复

    实验前提:已经做好备份. SQL> col file_name for a50select file_id,file_name from dba_data_files; FILE_ID FILE ...

  2. RMAN数据库恢复之丢失数据文件的恢复

    删除某一数据文件:SQL> HOST del D:\app\Administrator\oradata\orcl\USERS01.dbf 启动数据库,提示丢失数据文件4,此时数据库处理MOUNT ...

  3. RMAN数据库恢复 之归档模式有(无)备份-丢失数据文件的恢复

    1.归档模式有备份,丢失数据文件的恢复归档模式有备份,不管丢失什么数据文件,直接在RMAN下RESTOER--->RECOVER--->OPEN即可. RMAN> STARUP MO ...

  4. MySQL实例多库某张表数据文件损坏导致xxx库无法访问故障恢复

    一.问题发现 命令行进入数据库实例手动给某张表进行alter操作,发现如下报错. mysql> use xx_xxx; No connection. Trying to reconnect... ...

  5. 如何获取SQL Server 2008数据库数据文件的位置

    在SQL Server中,要获取数据库数据文件的物理位置,有三种方法: sp_helpdb bright name          filename                        f ...

  6. [20171225]没有备份数据文件的恢复.txt

    [20171225]没有备份数据文件的恢复.txt --//别人问的问题,增加了数据文件没有备份,如何恢复,实际上很简单,因为当前控制文件有记录建立时间只要从建立数据文件开始的--//归档日志都存在恢 ...

  7. windows下更换MySql数据库数据文件夹位置

    详细解决地址 ,感谢博主  :https://blog.csdn.net/u010953266/article/details/56499361 概述 由于更换硬盘,系统重新安装了一遍,原来的mysq ...

  8. SQL SERVER大话存储结构(6)_数据库数据文件

            数据库文件有两大类:数据文件跟日志文件,每一个数据库至少各有一个数据文件或者日志文件,数据文件用来存储数据,日志文件用来存储数据库的事务修改情况,可用于恢复数据库使用.     这里分 ...

  9. oracle redo日志文件损坏恢复

    参考:How to Recover from Loss Of Online Redo Log And ORA-312 And ORA-313 (Doc ID 117481.1) 在线重做日志文件丢失后 ...

随机推荐

  1. 普通Linux用户1分钟上手vi编辑器

    *导读:普通用户只要花1分钟看第二部分即可.高级用户请忽略本文* 目录 1. 编辑器之战 2. vi的使用 2.1 vi的3个模式 2.2 vi的3个模式切换 2.3 vi最基本的命令 2.4 vi的 ...

  2. ROS * 了解xacro的编写

    在urdf文件中,会有很多内容是一样的,当要改变这些语句重某一个相同的参数时却要更改很多次,很吗发,于是有了一种精简化.可复用.模块化的描述形式——xacro 废话少说 声明重复使用的常量 <? ...

  3. Python中serial的使用

    一.概述     pyserial模块封装了对串口的访问. 二.特性     在支持的平台上有统一的接口.     通过python属性访问串口设置.     支持不同的字节大小.停止位.校验位和流控 ...

  4. introduce of servlet and filter

    servlet简介: Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中 ...

  5. freebsd 记录点

    问题一: FreeBSD修改python的默认版本 在/usr/local/bin目录下, mv python python.old ln -s pythonX.X  python in X.X wr ...

  6. gradle安装操作

    下载你所需要对应的版本,gradle-4.3.1-bin.zip 下载后解压到你想要的目录 设置环境变量 在cmd模式下查看,出现信息证明安装成功

  7. EBS WEBADI无法创建文档

    有些小伙伴在使用WEBADI时,下载模板之后会发现模板创建文档一直没有成功(没有报错,只是单纯的没有创建出文档),可以参考: http://blog.csdn.net/cyco008/article/ ...

  8. GitHub Pages:静态站点托管服务(待补充)

    不管是 react 还是 vue 项目路由都必须使用 hash 方式,否则页面打不开,切记!!! 如果使用的是 vue-cli 3 创建项目,那么你要在根目录创建 vue.config.js 文件,并 ...

  9. 19.1 PORT CONTROL DESCRIPTIONS

    [原文] PORT CONFIGURATION REGISTER (GPACON-GPJCON) In S3C2440A, most of the pins are multiplexed pins. ...

  10. MySQL表介绍

    MySQL InnoDB表介绍 一.索引组织表 在InnoDB引擎中,表都是根据主键顺序存放的.这种存储方式称为索引组织表,在InnoDB引擎中,每张表都有逐渐.如果没有显示定义主键,则引擎会按照以下 ...