另外我调用一下命令,出现内容如下
svrmgr> select * from v$log;
GROUP#     THREAD#    SEQUENCE#  BYTES      MEMBERS    ARC STATUS           FI
RST_CHAN FIRST_TIM
---------- ---------- ---------- ---------- ---------- --- ---------------- --
-------- ---------
         1          1      36125     204800          1 NO  CURRENT
 5226479 04-11? -0
         2          1      36124     204800          1 NO  INACTIVE
 5226378 04-11? -0
已选择 2 行svrmgr>select * from v$logfile;
GROUP#     STATUS  MEMBER---------- ------- -----------------------------------------------------------
---------------------
         1         C:\ORAWIN95\DATABASE\LOG2ORCL.ORA         2         C:\ORAWIN95\DATABASE\LOG1ORCL.ORA已选择 2 行大家帮帮我..高手们..很急啊~~~

解决方案 »

  1.   

    另外启动oracle数据库ostart80.exe
    出现如下错误:ORA-1113Can not open database
      

  2.   

    SVRMGR> connect internalSVRMGR> startup mountSVRMGR> recover database;--以前遇到过,试试以上语句
      

  3.   

    上述操作中你重置了归档日志,恐怕困难重重了!先说说你有什么备份?数据库是不是在归档模式下(从
    上面的信息中我没看出来是不是处于归档模式下)?
    查看数据库是否在归档模式下:
    SQL>conn sys as sysdba
    SQL>archive log list;
      

  4.   

    SVRMGR> connect internal
    已连接
    SVRMGR> archive log list;
    数据库记录方式    无档案方式
    自动化档案库      已禁止
    档案库目的地      C:\orawin95\RDBMS80\
    最久的联机记录顺序     36124
    当前记录顺序      36125因为是给客户用的,客户事先没有做什么备份工作(他们不会oracle);
    现在只有oracle的备份,如果以上操作有误,
    我们还有备份的oracle 就是把所有的orawin95目录给备份下来了...
      

  5.   

    SVRMGR> connect sys as sysdba
    密码
    ORA-01017: ?????? / ???????
    SVRMGR> connect sys as sysdba
    密码
    已连接
    SVRMGR> archive log list;
    数据库记录方式    无档案方式
    自动化档案库      已禁止
    档案库目的地      C:\orawin95\RDBMS80\
    最久的联机记录顺序     36124
    当前记录顺序      36125
      

  6.   

    你的数据库是在非归档模式下崩溃的,当然也就没有
    归档日志了。在这种情况下的恢复有几种方式供你选择:1、首先关闭数据库,将所有的数据库物理文件copy到新的备份
       目录(主要是防止用以前的备份恢复失败了还有备份可用,
       这些物理文件包括:所有数据文件,联机重做日志文件,
       控制文件,参数文件);
    2、将以前的Oracle物理备份文件copy回到现在的物理文件所在的
       目录覆盖已损坏的物理文件,注意这步必须在第一步已完成后
       才能进行操作,否则搞坏了别怪我:);这里的物理文件跟第一
       步中的一样,参数文件可以除外,因为现有的参数文件应该能
       用;
    3、打开数据库;如果以上操作没有问题,为了最大程度恢复数据,可以继续做:
    4、备份控制文件:
       SQL>alter database backup controlfile to trace;
       这样在C盘的Oracle安装目录./udmp/下有一个刚生成的跟踪文件,
       用记事本打开此文件,你会找到创建控制文件的原始脚本;
    5、关闭数据库,将第一步中的备份文件copy回来,覆盖现在的物理
       文件,打开数据库至Nomount状态:
       SQL>startup nomount
       将第四步中创建控制文件的原始脚本拷贝过来,重新创建控制文件:
       SQL>CREATE CONTROLFILE ...
       打开数据库:
       SQL>alter database open resetlogs;如果没有太大必要的话,4、5步还是不要做了,出问题的机率较大。
    祝好运!
      

  7.   

    非常感谢zgh2003!
    但还是有点问题..
    第2步,把以前的数据备份拷贝过来,,好像有点行不通
    客户只把出了错误的数据库给了我们,,也就是说,我们现有的数据都是错误的.
    而且客户根本就没有做过任何备份.还有你说的需要备份的文件是不是指orawin95\database低下的文件?
    比如INITORCL.ORA, LOG2ORCL.ORA,LOG1ORCL.ORA等等...
    还要麻烦一下您了.
      

  8.   

    alter database open resetlogsalter database open意思是reset日志文件之后再启动数据库
      

  9.   

    那看来只能死马当活马医了,先备份出来,再执行上面的恢复步骤。
    如果你是默认安装的话,需要备份的文件应该在
    c:\orawin95\oradata\...\下,扩展名是.dbf,.ctl,.rdo或.log
    这下面一般有数据文件,联机重做日志文件,控制文件。不过你上面指的目录里有参数文件INITORCL.ORA,及联机重做日志文件。
    这些文件均需要备份,最重要的是保护好上面的数据文件,联机重做日志文件,控制文件。如果找不到控制文件,你把参数文件拷贝出来,打开看看里面的参数配置里有其绝对路径。
      

  10.   

    按照你说的,我把database目录下的所有文件备份.
    步骤如下
    svrmgr>connect sys as sysdba;
    svrmgr>startup mount;
    已起动 ORACLE 事例
    全部系统全局区域       5138580 字节
    Fixed Size                       47252 字节
    Variable Size                  4608000 字节
    Database Buffers                409600 字节
    Redo Buffers                     73728 字节
    已装入数据库
    SVRMGR> alter database backup controlfile to trace;
    语句已处理
    SVRMGR> shutdown immediate
    ORA-01109: ??????
    已卸下数据库
    已关闭 ORACLE 事例然后把备份的数据文件拷贝回来执行如下的操作:
    SVRMGR> connect sys as sysdba;
    密码
    已连接
    SVRMGR> shutdown immediate
    ORA-01034: ORACLE not available
    SVRMGR> startup  nomount;
    已起动 ORACLE 事例
    全部系统全局区域       5138580 字节
    Fixed Size                       47252 字节
    Variable Size                  4608000 字节
    Database Buffers                409600 字节
    Redo Buffers                     73728 字节
    SVRMGR> create controlfile 'C:\orawin95\RDBMS80\trace\ORA07632.TRC';
    create controlfile 'C:\orawin95\RDBMS80\trace\ORA07632.TRC'
                       *
    ORA-01967: CREATE CONTROLFILE?????启动数据库,还是不可以..
      

  11.   

    跟踪文件内容:
    Dump file C:\orawin95\RDBMS80\trace\ORA07632.TRC
    Wed Jan 12 17:07:30 2005
    ORACLE V8.0.4.0.0 - Production vsnsta=0
    vsnsql=c vsnxtr=3
    Windows 95 V5.0, OS V8.147, CPU type 586
    Oracle8 Personal Edition Release 8.0.4.0.0 - Production
    PL/SQL Release 8.0.4.0.0 - Production
    Windows 95 V5.0, OS V8.147, CPU type 586
    Instance name: orclRedo thread mounted by this instance: 1Oracle process number: 10pid: 1dd0
    Wed Jan 12 17:07:30 2005
    Wed Jan 12 17:07:30 2005*** SESSION ID:(9.1) 2005.01.12.17.07.30.984
    # The following commands will create a new control file and use it
    # to open the database.
    # Data used by the recovery manager will be lost. Additional logs may
    # be required for media recovery of offline data files. Use this
    # only if the current version of all online logs are available.
    # WARNING! The current control file needs to be checked against
    # the datafiles to insure it contains the correct files. The
    # commands printed here may be missing log and/or data files.
    # Another report should be made after the database has been
    # successfully opened.
    STARTUP NOMOUNT
    CREATE CONTROLFILE REUSE DATABASE "ORACLE" NORESETLOGS NOARCHIVELOG
        MAXLOGFILES 32
        MAXLOGMEMBERS 2
        MAXDATAFILES 32
        MAXINSTANCES 16
        MAXLOGHISTORY 13043
    LOGFILE
      GROUP 1 'C:\ORAWIN95\DATABASE\LOG2ORCL.ORA'  SIZE 200K,
      GROUP 2 'C:\ORAWIN95\DATABASE\LOG1ORCL.ORA'  SIZE 200K
    DATAFILE
      'C:\ORAWIN95\DATABASE\SYS1ORCL.ORA',
      'C:\ORAWIN95\DATABASE\USR1ORCL.ORA',
      'C:\ORAWIN95\DATABASE\RBS1ORCL.ORA',
      'C:\ORAWIN95\DATABASE\TMP1ORCL.ORA',
      'C:\ORAWIN95\DATABASE\OASYS.ORA',
      'C:\ORAWIN95\DATABASE\OADAT.ORA',
      'C:\ORAWIN95\DATABASE\OAMED.ORA',
      'C:\ORAWIN95\DATABASE\OAIDX.ORA',
      'C:\ORAWIN95\DATABASE\DBMNG.ORA',
      'C:\ORAWIN95\DATABASE\OARBK.ORA'
    ;# Recovery is required if any of the datafiles are restored backups,
    # or if the last shutdown was not normal or immediate.
    RECOVER DATABASE# Database can now be opened normally.
    ALTER DATABASE OPEN;
      

  12.   

    STARTUP NOMOUNT
    CREATE CONTROLFILE REUSE DATABASE "ORACLE" NORESETLOGS NOARCHIVELOG
        MAXLOGFILES 32
        MAXLOGMEMBERS 2
        MAXDATAFILES 32
        MAXINSTANCES 16
        MAXLOGHISTORY 13043
    LOGFILE
      GROUP 1 'C:\ORAWIN95\DATABASE\LOG2ORCL.ORA'  SIZE 200K,
      GROUP 2 'C:\ORAWIN95\DATABASE\LOG1ORCL.ORA'  SIZE 200K
    DATAFILE
      'C:\ORAWIN95\DATABASE\SYS1ORCL.ORA',
      'C:\ORAWIN95\DATABASE\USR1ORCL.ORA',
      'C:\ORAWIN95\DATABASE\RBS1ORCL.ORA',
      'C:\ORAWIN95\DATABASE\TMP1ORCL.ORA',
      'C:\ORAWIN95\DATABASE\OASYS.ORA',
      'C:\ORAWIN95\DATABASE\OADAT.ORA',
      'C:\ORAWIN95\DATABASE\OAMED.ORA',
      'C:\ORAWIN95\DATABASE\OAIDX.ORA',
      'C:\ORAWIN95\DATABASE\DBMNG.ORA',
      'C:\ORAWIN95\DATABASE\OARBK.ORA'
    ;我把跟踪里面的这段放在svrmgr里面执行.
      

  13.   

    数据库是非归档模式,使用如下语句,发现需要恢复的文件是:
    svrmgr>select * from v%recover_file;
    svrmgr>select d.name, t.name from v$datafile d, v$tablespace t where d.ts# = d.ts# and d.file# in (1,4,6);C:\ORAWIN95\DATABASE\SYS1ORCL.ORA
    C:\ORAWIN95\DATABASE\TMP1ORCL.ORA
    C:\ORAWIN95\DATABASE\OADAT.ORA
      

  14.   

    现在麻烦的就是,没有任何归档日志,,但是有2个文件LOG1ORCL.ora,LOG1ORCL.ora不知道这2个文件用不用得着
      

  15.   

    现在麻烦的就是,没有任何归档日志,,但是有2个文件LOG1ORCL.ora,LOG2ORCL.ora不知道这2个文件用不用得着
      

  16.   

    我判断是因为断电后导致了数据库控制文件与联机日志文件,数据文件不一致,
    所以你试过重新创建控制文件吗?刚才我测试过,这样可以解决问题,但这
    样的后果是当前重做日志文件里还没写到数据文件里的数据丢失。具体操作方法:
    SQL>conn sys as sysdba
    SQL>shutdown immediate
    SQL>startup nomount
    SQL>CREATE CONTROLFILE REUSE DATABASE "ORACLE" NORESETLOGS NOARCHIVELOG
        MAXLOGFILES 32
        MAXLOGMEMBERS 2
        MAXDATAFILES 32
        MAXINSTANCES 16
        MAXLOGHISTORY 13043
    LOGFILE
      GROUP 1 'C:\ORAWIN95\DATABASE\LOG2ORCL.ORA'  SIZE 200K,
      GROUP 2 'C:\ORAWIN95\DATABASE\LOG1ORCL.ORA'  SIZE 200K
    DATAFILE
      'C:\ORAWIN95\DATABASE\SYS1ORCL.ORA',
      'C:\ORAWIN95\DATABASE\USR1ORCL.ORA',
      'C:\ORAWIN95\DATABASE\RBS1ORCL.ORA',
      'C:\ORAWIN95\DATABASE\TMP1ORCL.ORA',
      'C:\ORAWIN95\DATABASE\OASYS.ORA',
      'C:\ORAWIN95\DATABASE\OADAT.ORA',
      'C:\ORAWIN95\DATABASE\OAMED.ORA',
      'C:\ORAWIN95\DATABASE\OAIDX.ORA',
      'C:\ORAWIN95\DATABASE\DBMNG.ORA',
      'C:\ORAWIN95\DATABASE\OARBK.ORA';
    SQL>alter database open;注意:当然在进行操作前一定不要忘了备份上面目录中的文件及其它一些相关文件。
      

  17.   

    收藏,解开了我以前的很多迷惑,谢谢zgh2003(世纪飞扬)!!