之前出现过机房断电情况,重启数据库后发现出现ORA-00376的错误。

通过查询数据文件状态:

SQL> select file_id,online_status from dba_data_files order by 1;
 
   FILE_ID ONLINE_STATUS
---------- -------------
         1 SYSTEM
         2 ONLINE
         3 ONLINE
         4 ONLINE
         5 RECOVER
         6 ONLINE
         7 RECOVER
         8 ONLINE
         9 ONLINE
        10 ONLINE
        11 RECOVER
        12 ONLINE
        13 RECOVER
        14 RECOVER
        15 RECOVER
        16 RECOVER

文件中出现了大量的recover的状态,需要进行介质恢复。

SQL> select file#, status, fuzzy, checkpoint_time, checkpoint_change#,
resetlogs_change#, resetlogs_time from v$datafile_header where file#=5;

FILE# STATUS  FUZZY CHECKPOINT_TIME CHECKPOINT_CHANGE# RESETLOGS_CHANGE# RESETLOGS_TIME
---------- ------- ----- --------------- ------------------ ----------------- --------------
         5 OFFLINE  YES   2013-6-19 9:52:           38391683            940976 2013-5-15 19:1

当前的数据文件的SCN号为 38391683,需要寻找别这个高的archive log 或redo log。

SQL> Select sequence#,name,first_change#,next_change# from v$archived_log;

SEQUENCE#        NAME                                                                                       FIRST_CHANGE# NEXT_CHANGE#
---------- --------------------------------------------------------------------------------                    -------------        ------------
       465 D:\APP\ARCHIVELOG\ARC0000000465_0815512562.0001                   36366097     36618224
       466 D:\APP\ARCHIVELOG\ARC0000000466_0815512562.0001                   36618224     36843775
       467 D:\APP\ARCHIVELOG\ARC0000000467_0815512562.0001                   36843775     37065721
       468 D:\APP\ARCHIVELOG\ARC0000000468_0815512562.0001                   37065721     37294978
       469 D:\APP\ARCHIVELOG\ARC0000000469_0815512562.0001                   37294978     37572830
       470 D:\APP\ARCHIVELOG\ARC0000000470_0815512562.0001                   37572830     37818186
       471 D:\APP\ARCHIVELOG\ARC0000000471_0815512562.0001                   37818186     38093499
       472 D:\APP\ARCHIVELOG\ARC0000000472_0815512562.0001                   38093499     38346397
       473 D:\APP\ARCHIVELOG\ARC0000000473_0815512562.0001                   38346397     38381157

很幸运,38391683大于473这个最大的archive log 的SCN,我不需archive log 的帮助。recover所需的信息在redo log 中。

例如:数据文件file_id为5的处于recover状态,执行

alter database recover datafile 5;

依次恢复状态为recover的数据文件。

再次查看online_status为offline状态,需要执行

Alter database  datafile  5 online;

依次将处于offline的数据文件ONLINE。都online后数据库处于open状态了后,就可以用了。

如果数据库处于No Archive log 状态的时候,recover所需的信息只能从redo log 中获取,如果此时的redo log被overwrite了,将不能online数据文件,那只能想其他方法了。

Possible causes and solutions summary:
=====================================

A. Tablespace or Datafile offline.
  B. Datafile does not exist at the OS level.
  C. Datafile locked by Backup Software.
  D. Incorrectly set ULIMIT on UNIX.
  E. Rollback Segment with active transactions is unavailable
  F. Possible Other Causes.

ORA-00376:file x cannot be read at this time的更多相关文章

  1. PhoneGap奇怪的现象:File FileTransfer download, 手机相册检测不到下载下来的图片(解决)

    我有个从服务器下载相片的功能在使用 File FileTransfer download api时,碰到了很奇怪的现象:图片已经从服务器里下载了,手机文件夹里也可以看到下载过来的图片,但是我的手机相册 ...

  2. 无废话ExtJs 入门教程十三[上传图片:File]

    无废话ExtJs 入门教程十三[上传图片:File] extjs技术交流,欢迎加群(201926085) 1.代码如下: 1 <!DOCTYPE html PUBLIC "-//W3C ...

  3. Linux命令总结:file

    转自:http://www.cnblogs.com/kerrycode/p/3806618.html 1.命令简介:用来识别文件类型,也可辨别一些文件的编码格式.它是通过查看文件的头部信息来获取文件类 ...

  4. Android(java)学习笔记87:File类使用

    package cn.itcast_01; import java.io.File; /* * 我们要想实现IO的操作,就必须知道硬盘上文件的表现形式. * 而Java就提供了一个类File供我们使用 ...

  5. Java基础知识强化之IO流笔记09:File类功能

    详见如下: Android(java)学习笔记87:File类使用

  6. JAVA IO分析一:File类、字节流、字符流、字节字符转换流

    因为工作事宜,又有一段时间没有写博客了,趁着今天不是很忙开始IO之路:IO往往是我们忽略但是却又非常重要的部分,在这个讲究人机交互体验的年代,IO问题渐渐成了核心问题. 一.File类 在讲解File ...

  7. java IO(一):File类

    */ .hljs { display: block; overflow-x: auto; padding: 0.5em; color: #333; background: #f8f8f8; } .hl ...

  8. yum安装命令:遇到的问题报错如下: File "/usr/bin/yum", line 30 except KeyboardInterrupt, e: 通过看报错可以了解到是使用了python2的语法,所以了解到当前yum使用的Python2,因为我单独安装了python3,且python3设置为默认版本了,所以导致语法问题 解决方法: 使用python2.6 yum install

    1.安装zip yum install -y unzip zip 2.安装lrszs yum -y install lrzsz 3.安装scp 遇到下面的问题: 结果提示: No package sc ...

  9. Java IO流学习总结二:File

    Java File类的功能非常强大,利用java基本上可以对文件进行所有操作.首先来看File类的构造函数的源码 /** * Internal constructor for already-norm ...

  10. PLSQL Developer概念学习系列之登录连接Oracle时出现(没有登录) -PL / SQL Developer:ORA - 12541: TNS :无建听程序的错误解决办法(图文详解)

    不多说,直接上干货! 前期博客 PLSQL Developer概念学习系列之如何正确登录连接上Oracle(图文详解)   如用scott.scott_password进行登录,orcl是全局数据库 ...

随机推荐

  1. 算法练习之DP 求LCM (最长公共子序列)

    1. 对于序列x[1,i]和y[1,j],推导递推公式1.a 假设当前元素同样,那么就将当前最大同样数+12.b 假设当前元素不同.那么就把当前最大同样数"传递"下去 因此递推公式 ...

  2. How to Create Dump File for Applications

    使用WinDBG这个工具,可以在应用程序异常终止或者无响应时获取它的尸体,以用来解剖研究. Creating Dump File      在Vista环境中抓取Dump文件很方便,在task man ...

  3. rowid结构浅析

    select rowid from dual AAAAB0AABAAAAOhAAA rowid结构如下: 对象号    文件号   块号   行号 XXXXXX    XXX     XXXXXX X ...

  4. js ajax调用请求

    <pre name="code" class="html"> function getAppList(env){ var data = {}; da ...

  5. perl use utf8

    utf8 Perl编译 来启用/禁用 UTF-8(or UTF-EBCDIC) 在源代码里 简洁: use utf8; no utf8; # Convert the internal represen ...

  6. jQuery.mobile.changePage() | jQuery Mobile API Documentation

    jQuery.mobile.changePage() | jQuery Mobile API Documentation <script> $.mobile.changePage( &qu ...

  7. Java中二进制、十进制、十六进制及ASCII码与String及字节数组与十六进制之间的转换

    public class DigitalTrans { /** * 数字字符串转ASCII码字符串 * * @param String * 字符串 * @return ASCII字符串 */ publ ...

  8. 【C语言】在两个数成对出现的数组中找到一个单独的数。

    //在两个数成对出现的数组中找到一个单独的数.比如{1,2,3.3,1,4.2},即找出4 #include <stdio.h> int find(int arr[], int len) ...

  9. HTML+CSS+JS - 5秒钟之后跳转页面

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.c ...

  10. 解决Xcode 7编译错误:does not contain bitcode

    连接地址:http://jingyan.baidu.com/article/8065f87f96cf462331249801.html 好不容易更新到Xcode 7.0.1,重新编译代码,报错: do ...