在sqlplus中可以连接到数据库的一个空闲进程,然后试着starup数据库,看看报什么错,如果报错则需要进行介质恢复,可以根据oracle报出的不同信息进行恢复,之后应该就可以使用了;如果这只前你没有数据库的备份的话,只好找Oracle了,也许可以恢复。

解决方案 »

  1.   

    我用sqlplusw 去连,用户是SYSTEM,但是会报错,错误是:
    ERROR:
    ORA-01033:Oracle initialization or shutdown in progress.这个错误要怎么处理啊?数据库没有备份过,里面有一个应用软件的数据库,这个应用软件我这里没有了,所以数据库也没法初始回去了。不然重装就算了。
      

  2.   

    D:\>
    D:\>tnsping ora8TNS Ping Utility for 32-bit Windows: Version 9.2.0.1.0 - Production on 24-6月 -2
    010 13:24:56Copyright (c) 1997 Oracle Corporation.  All rights reserved.已使用的参数文件:
    D:\oracle\network\admin\sqlnet.ora
    已使用 TNSNAMES 适配器来解析别名
    Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)
    (HOST = 192.168.120.65)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = ora8)))
    OK(30毫秒)D:\>sqlplusSQL*Plus: Release 9.2.0.1.0 - Production on 星期四 6月 24 13:25:04 2010Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.请输入用户名:  system
    请输入口令:
    ERROR:
    ORA-01033: ORACLE initialization or shutdown in progress
    请输入用户名:
      

  3.   

    惨了,是不是硬盘问题啊,在OS系统事件查看器中有硬盘坏块的信息。
    在alert_ora8.log的文件中出现如下错误:Beginning crash recovery of 1 threads
    Thu Jun 24 08:03:09 2010
    Started first pass scan
    Thu Jun 24 08:03:22 2010
    Errors in file d:\oracle\admin\ora8\udump\ora8_ora_1092.trc:
    ORA-00333: ??????? 2051 ?? 6144 ??
    ORA-00312: ???? 2 ?? 1: 'D:\ORACLE\ORADATA\ORA8\REDO02.LOG'
    ORA-27070: skgfdisp: ????/????
    OSD-04016: 异步 I/O 请求排队时出错。
    O/S-Error: (OS 23) 数据错误 (循环冗余检查)。Thu Jun 24 08:03:28 2010
    Errors in file d:\oracle\admin\ora8\udump\ora8_ora_1092.trc:
    ORA-00333: ??????? 3 ?? 8192 ??
    ORA-00312: ???? 2 ?? 1: 'D:\ORACLE\ORADATA\ORA8\REDO02.LOG'
    ORA-27091: skgfqio: ???? I/O ??
    ORA-27070: skgfdisp: ????/????
    OSD-04006: ReadFile() 失败, 无法读取文件
    O/S-Error: (OS 23) 数据错误 (循环冗余检查)。Thu Jun 24 08:03:33 2010
    Errors in file d:\oracle\admin\ora8\udump\ora8_ora_1092.trc:
    ORA-00333: ??????? 3 ?? 8192 ??
    ORA-00312: ???? 2 ?? 1: 'D:\ORACLE\ORADATA\ORA8\REDO02.LOG'
    ORA-27091: skgfqio: ???? I/O ??
    ORA-27070: skgfdisp: ????/????
    OSD-04006: ReadFile() 失败, 无法读取文件
    O/S-Error: (OS 23) 数据错误 (循环冗余检查)。Thu Jun 24 08:03:38 2010
    Errors in file d:\oracle\admin\ora8\udump\ora8_ora_1092.trc:
    ORA-00333: ??????? 3 ?? 8192 ??
    ORA-00312: ???? 2 ?? 1: 'D:\ORACLE\ORADATA\ORA8\REDO02.LOG'
    ORA-27091: skgfqio: ???? I/O ??
    ORA-27070: skgfdisp: ????/????
    OSD-04006: ReadFile() 失败, 无法读取文件
    O/S-Error: (OS 23) 数据错误 (循环冗余检查)。
      

  4.   

    conn sys/oracle@ora8 as sysdba
    shutdown immediate
    startup mount
    alter database open
      

  5.   

    应该还有救吧,sqlplus /nolog
    sql>connect /as sysdba
    sql>shutdown immediate
    sql>startup
    如果有错误先把这个错误帖出来,如果是日志文件先恢复下
      

  6.   

    数据库是刚装的,应用软件也是刚装的,而且应用软件是个试用版的,我就没有去备数据库了.
    我按LGQDUCKY(飘)的做法做做,等一下把错误发出来.
      

  7.   

    错误是乱码
    在alert_ora8.log的文件中出现如下错误:Beginning crash recovery of 1 threads
    Thu Jun 24 08:03:09 2010
    Started first pass scan
    Thu Jun 24 08:03:22 2010
    Errors in file d:\oracle\admin\ora8\udump\ora8_ora_1092.trc:
    ORA-00333: ??????? 2051 ?? 6144 ??
    ORA-00312: ???? 2 ?? 1: 'D:\ORACLE\ORADATA\ORA8\REDO02.LOG'
    ORA-27070: skgfdisp: ????/????
    OSD-04016: 异步 I/O 请求排队时出错。
    O/S-Error: (OS 23) 数据错误 (循环冗余检查)。Thu Jun 24 08:03:28 2010
    Errors in file d:\oracle\admin\ora8\udump\ora8_ora_1092.trc:
    ORA-00333: ??????? 3 ?? 8192 ??
    ORA-00312: ???? 2 ?? 1: 'D:\ORACLE\ORADATA\ORA8\REDO02.LOG'
    ORA-27091: skgfqio: ???? I/O ??
    ORA-27070: skgfdisp: ????/????
    OSD-04006: ReadFile() 失败, 无法读取文件
    O/S-Error: (OS 23) 数据错误 (循环冗余检查)。
      

  8.   

    可能是你的redo文件在断电是未能同步,不知有没有办法把在线日志同步,没试过,阁下可以试试。
      

  9.   

    好像是日志文件物理损坏了,估计要resetlog才可用!