解决方案 »

  1.   

    你alter database open;把报的错贴出来.
    还有把alter.log启动时报的错贴出来.
      

  2.   

    参考blog脚本,生成html发送[email protected]   惜分飞恢复检查脚本另外alert日志一起发我如果还需要 帮助  加qq(107644445)
      

  3.   

    非法关机有可能引起Oracle自身的bug,所以出现了如上问题
      

  4.   

    可以试试用 STARTUP FORCE 启动数据库
      

  5.   

    没细看,你的数据库能正常启动,
    查了下错误
    ORA-01124: cannot recover data file string - file is in use or recovery 
    恢复文件存在问题?,祈祷
      

  6.   

    数据库装载完毕之后应该还有日志吧。 
    把alert 告警日志贴出来 ,看看引起错误的原因。 
      

  7.   

    ora-01124
    Datafile is in use or another recovery session is in progress
    是否有别人也正在对数据库进行恢复看看alert日志
    生产数据库做shutdown abort操作一定要非常谨慎
      

  8.   

    感谢大家关心  现在把昨天的具体执行过程和alter文件发过来  
    昨天执行结果:
    icrosoft Windows [版本 6.0.6002]
    版权所有 (C) 2006 Microsoft Corporation。保留所有权利。C:\Users\Administrator>sqlplusSQL*Plus: Release 10.2.0.1.0 - Production on 星期四 8月 14 20:05:04 2014Copyright (c) 1982, 2005, Oracle.  All rights reserved.请输入用户名:  / as sysdba连接到:
    Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
    With the Partitioning, OLAP and Data Mining optionsSQL> startup
    ORA-01081: 无法启动已在运行的 ORACLE - 请首先关闭它
    SQL> shutdown abort
    ORACLE 例程已经关闭。
    SQL> startup
    ORACLE 例程已经启动。Total System Global Area  612368384 bytes
    Fixed Size                  1332348 bytes
    Variable Size             178957188 bytes
    Database Buffers          427819008 bytes
    Redo Buffers                4259840 bytes
    数据库装载完毕。
    数据库已经打开。
    SQL> shutdown immediate
    数据库已经关闭。
    已经卸载数据库。
    ORACLE 例程已经关闭。
    SQL> startup mount
    ORACLE 例程已经启动。Total System Global Area  612368384 bytes
    Fixed Size                  1332348 bytes
    Variable Size             178957188 bytes
    Database Buffers          427819008 bytes
    Redo Buffers                4259840 bytes
    数据库装载完毕。
    SQL> recover database
    ORA-00283: 恢复会话因错误而取消
    ORA-00264: 不要求恢复
    SQL> recover database
    ORA-00283: 恢复会话因错误而取消
    ORA-00264: 不要求恢复
    SQL> alter database open
      2
    SQL> alter database open;数据库已更改。SQL> recover database
    ORA-00283: 恢复会话因错误而取消
    ORA-01124: 无法恢复数据文件 1 - 文件在使用中或在恢复中
    ORA-01110: 数据文件 1: 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\SQORCL\SYSTEM01.DBF'
    SQL> recover database
    ORA-00283: 恢复会话因错误而取消
    ORA-01124: 无法恢复数据文件 1 - 文件在使用中或在恢复中
    ORA-01110: 数据文件 1: 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\SQORCL\SYSTEM01.DBF'
    SQL> recover database until cancel
    ORA-00283: 恢复会话因错误而取消
    ORA-01124: 无法恢复数据文件 1 - 文件在使用中或在恢复中
    ORA-01110: 数据文件 1: 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\SQORCL\SYSTEM01.DBF'
    SQL> recover database until cancel;
    ORA-00283: 恢复会话因错误而取消
    ORA-01124: 无法恢复数据文件 1 - 文件在使用中或在恢复中
    ORA-01110: 数据文件 1: 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\SQORCL\SYSTEM01.DBF'
    SQL> alter database open
      2
    SQL> alter database open;
    alter database open
    *
    第 1 行出现错误:
    ORA-01531: 实例已打开数据库
    SQL>
    SQL> alter database open;
    alter database open
    *
    第 1 行出现错误:
    ORA-01531: 实例已打开数据库
    SQL> startup mount
    ORA-01081: 无法启动已在运行的 ORACLE - 请首先关闭它
    SQL> shutdown immediate
    数据库已经关闭。
    已经卸载数据库。
    ORACLE 例程已经关闭。
    SQL> startup mount
    ORACLE 例程已经启动。Total System Global Area  612368384 bytes
    Fixed Size                  1332348 bytes
    Variable Size             178957188 bytes
    Database Buffers          427819008 bytes
    Redo Buffers                4259840 bytes
    数据库装载完毕。
    SQL> recover database
    ORA-00283: 恢复会话因错误而取消
    ORA-00264: 不要求恢复
    SQL> shutdown immediate
    ORA-01109: 数据库未打开
    已经卸载数据库。
    ORACLE 例程已经关闭。
    SQL> startup mount
    ORACLE 例程已经启动。Total System Global Area  612368384 bytes
    Fixed Size                  1332348 bytes
    Variable Size             178957188 bytes
    Database Buffers          427819008 bytes
    Redo Buffers                4259840 bytes
    数据库装载完毕。
    SQL> recover database
    ORA-00283: 恢复会话因错误而取消
    ORA-00264: 不要求恢复
    SQL>
      

  9.   

    alert_tyshb.log(后边部分):
    Wed Aug 13 11:41:12 2014
    Database mounted in Exclusive Mode
    Completed: alter database mount exclusive
    Wed Aug 13 11:41:12 2014
    alter database open
    Wed Aug 13 11:41:13 2014
    Beginning crash recovery of 1 threads
     parallel recovery started with 7 processes
    Wed Aug 13 11:41:13 2014
    Started redo scan
    Wed Aug 13 11:41:14 2014
    Completed redo scan
     405 redo blocks read, 71 data blocks need recovery
    Wed Aug 13 11:41:15 2014
    Started redo application at
     Thread 1: logseq 10, block 54
    Wed Aug 13 11:41:16 2014
    Recovery of Online Redo Log: Thread 1 Group 3 Seq 10 Reading mem 0
      Mem# 0 errs 0: D:\ORACLE\PRODUCT\10.2.0\ORADATA\TYSHB\REDO03.LOG
    Wed Aug 13 11:41:16 2014
    Completed redo application
    Wed Aug 13 11:41:17 2014
    Completed crash recovery at
     Thread 1: logseq 10, block 459, scn 894404
     71 data blocks read, 71 data blocks written, 405 redo blocks read
    Wed Aug 13 11:41:23 2014
    Thread 1 advanced to log sequence 11
    Thread 1 opened at log sequence 11
      Current log# 1 seq# 11 mem# 0: D:\ORACLE\PRODUCT\10.2.0\ORADATA\TYSHB\REDO01.LOG
    Successful open of redo thread 1
    Wed Aug 13 11:41:23 2014
    MTTR advisory is disabled because FAST_START_MTTR_TARGET is not set
    Wed Aug 13 11:41:23 2014
    SMON: enabling cache recovery
    Wed Aug 13 11:41:33 2014
    Successfully onlined Undo Tablespace 1.
    Wed Aug 13 11:41:33 2014
    SMON: enabling tx recovery
    Wed Aug 13 11:41:35 2014
    Database Characterset is ZHS16GBK
    replication_dependency_tracking turned off (no async multimaster replication found)
    Starting background process QMNC
    QMNC started with pid=46, OS id=6128
    Wed Aug 13 11:42:06 2014
    Completed: alter database open
    Wed Aug 13 11:42:11 2014
    db_recovery_file_dest_size of 2048 MB is 0.00% used. This is a
    user-specified limit on the amount of space that will be used by this
    database for recovery-related files, and does not reflect the amount of
    space available in the underlying filesystem or ASM diskgroup.
    Wed Aug 13 11:43:53 2014
    Memory Notification: Library Cache Object loaded into SGA
    Heap size 2195K exceeds notification threshold (2048K)
    KGL object name :XDB.XDbD/PLZ01TcHgNAgAIIegtw== Thu Aug 14 09:01:05 2014
    Thread 1 advanced to log sequence 12
      Current log# 2 seq# 12 mem# 0: D:\ORACLE\PRODUCT\10.2.0\ORADATA\TYSHB\REDO02.LOG
    Thu Aug 14 19:21:11 2014
    create temporary tablespace logmanager_temp
    tempfile 'D:\oracle\product\10.2.0\oradata\SQORCL\logmanager_temp.dbf'
    size 50m
    autoextend on
    next 50m maxsize 1024m
    extent management localThu Aug 14 19:21:12 2014
    Completed: create temporary tablespace logmanager_temp
    tempfile 'D:\oracle\product\10.2.0\oradata\SQORCL\logmanager_temp.dbf'
    size 50m
    autoextend on
    next 50m maxsize 1024m
    extent management local
    Thu Aug 14 19:21:18 2014
    create tablespace logmanager_data
    logging
    datafile 'D:\oracle\product\10.2.0\oradata\SQORCL\logmanager_data.dbf'
    size 50m
    autoextend on
    next 50m maxsize 1024m
    extent management localCompleted: create tablespace logmanager_data
    logging
    datafile 'D:\oracle\product\10.2.0\oradata\SQORCL\logmanager_data.dbf'
    size 50m
    autoextend on
    next 50m maxsize 1024m
    extent management local
    ksdpec: called for event 13740 prior to event group initialization
    Starting up ORACLE RDBMS Version: 10.2.0.1.0.
    System parameters with non-default values:
      processes                = 150
      __shared_pool_size       = 188743680
      __large_pool_size        = 4194304
      __java_pool_size         = 4194304
      __streams_pool_size      = 0
      spfile                   = D:\ORACLE\PRODUCT\10.2.0\DB_2\DBS\SPFILETYSHB.ORA
      sga_target               = 612368384
      control_files            = D:\ORACLE\PRODUCT\10.2.0\ORADATA\TYSHB\CONTROL01.CTL, D:\ORACLE\PRODUCT\10.2.0\ORADATA\TYSHB\CONTROL02.CTL, D:\ORACLE\PRODUCT\10.2.0\ORADATA\TYSHB\CONTROL03.CTL
      db_block_size            = 8192
      __db_cache_size          = 406847488
      compatible               = 10.2.0.1.0
      db_file_multiblock_read_count= 16
      db_recovery_file_dest    = D:\oracle\product\10.2.0/flash_recovery_area
      db_recovery_file_dest_size= 2147483648
      undo_management          = AUTO
      undo_tablespace          = UNDOTBS1
      remote_login_passwordfile= EXCLUSIVE
      db_domain                = 
      dispatchers              = (PROTOCOL=TCP) (SERVICE=TYSHBXDB)
      job_queue_processes      = 10
      audit_file_dest          = D:\ORACLE\PRODUCT\10.2.0\ADMIN\TYSHB\ADUMP
      background_dump_dest     = D:\ORACLE\PRODUCT\10.2.0\ADMIN\TYSHB\BDUMP
      user_dump_dest           = D:\ORACLE\PRODUCT\10.2.0\ADMIN\TYSHB\UDUMP
      core_dump_dest           = D:\ORACLE\PRODUCT\10.2.0\ADMIN\TYSHB\CDUMP
      db_name                  = TYSHB
      open_cursors             = 300
      pga_aggregate_target     = 203423744
    MMAN started with pid=6, OS id=4636
    PSP0 started with pid=4, OS id=4620
    DBW0 started with pid=8, OS id=4680
    DBW1 started with pid=10, OS id=4688
    LGWR started with pid=12, OS id=4696
    CKPT started with pid=14, OS id=4704
    SMON started with pid=16, OS id=4712
    RECO started with pid=18, OS id=4720
    CJQ0 started with pid=20, OS id=4728
    MMON started with pid=22, OS id=4736
    Thu Aug 14 19:30:49 2014
    starting up 1 dispatcher(s) for network address '(ADDRESS=(PARTIAL=YES)(PROTOCOL=TCP))'...
    MMNL started with pid=24, OS id=4744
    Thu Aug 14 19:30:49 2014
    starting up 1 shared server(s) ...
    PMON started with pid=2, OS id=4596
    Thu Aug 14 19:30:58 2014
    alter database mount exclusive
    Thu Aug 14 19:31:05 2014
    Setting recovery target incarnation to 2
    Thu Aug 14 19:31:05 2014
    Successful mount of redo thread 1, with mount id 2295727090
    Thu Aug 14 19:31:05 2014
    Database mounted in Exclusive Mode
    Completed: alter database mount exclusive
    Thu Aug 14 19:31:05 2014
    alter database open
    Thu Aug 14 19:31:06 2014
    Beginning crash recovery of 1 threads
     parallel recovery started with 7 processes
    Thu Aug 14 19:31:08 2014
    Started redo scan
    Thu Aug 14 19:31:09 2014
    Completed redo scan
     8 redo blocks read, 4 data blocks need recovery
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Thu Aug 14 19:34:01 2014
    ksdpec: called for event 13740 prior to event group initialization
    Starting up ORACLE RDBMS Version: 10.2.0.1.0.
    System parameters with non-default values:
      processes                = 150
      __shared_pool_size       = 188743680
      __large_pool_size        = 4194304
      __java_pool_size         = 4194304
      __streams_pool_size      = 0
      spfile                   = D:\ORACLE\PRODUCT\10.2.0\DB_2\DBS\SPFILETYSHB.ORA
      sga_target               = 612368384
      control_files            = D:\ORACLE\PRODUCT\10.2.0\ORADATA\TYSHB\CONTROL01.CTL, D:\ORACLE\PRODUCT\10.2.0\ORADATA\TYSHB\CONTROL02.CTL, D:\ORACLE\PRODUCT\10.2.0\ORADATA\TYSHB\CONTROL03.CTL
      db_block_size            = 8192
      __db_cache_size          = 406847488
      compatible               = 10.2.0.1.0
      db_file_multiblock_read_count= 16
      db_recovery_file_dest    = D:\oracle\product\10.2.0/flash_recovery_area
      db_recovery_file_dest_size= 2147483648
      undo_management          = AUTO
      undo_tablespace          = UNDOTBS1
      remote_login_passwordfile= EXCLUSIVE
      db_domain                = 
      dispatchers              = (PROTOCOL=TCP) (SERVICE=TYSHBXDB)
      job_queue_processes      = 10
      audit_file_dest          = D:\ORACLE\PRODUCT\10.2.0\ADMIN\TYSHB\ADUMP
      background_dump_dest     = D:\ORACLE\PRODUCT\10.2.0\ADMIN\TYSHB\BDUMP
      user_dump_dest           = D:\ORACLE\PRODUCT\10.2.0\ADMIN\TYSHB\UDUMP
      core_dump_dest           = D:\ORACLE\PRODUCT\10.2.0\ADMIN\TYSHB\CDUMP
      db_name                  = TYSHB
      open_cursors             = 300
      pga_aggregate_target     = 203423744
    PSP0 started with pid=4, OS id=4592
    MMAN started with pid=6, OS id=4616
    PMON started with pid=2, OS id=4588
    DBW0 started with pid=8, OS id=4624
    DBW1 started with pid=10, OS id=4652
    LGWR started with pid=12, OS id=4664
    CKPT started with pid=14, OS id=4676
    SMON started with pid=16, OS id=4696
    RECO started with pid=18, OS id=4712
    CJQ0 started with pid=20, OS id=4728
    MMON started with pid=22, OS id=4740
    Thu Aug 14 19:34:03 2014
    starting up 1 dispatcher(s) for network address '(ADDRESS=(PARTIAL=YES)(PROTOCOL=TCP))'...
    MMNL started with pid=24, OS id=4756
    Thu Aug 14 19:34:03 2014
    starting up 1 shared server(s) ...
    Thu Aug 14 19:34:11 2014
    alter database mount exclusive
    Thu Aug 14 19:34:18 2014
    Setting recovery target incarnation to 2
    Thu Aug 14 19:34:18 2014
    Successful mount of redo thread 1, with mount id 2295700147
    Thu Aug 14 19:34:18 2014
    Database mounted in Exclusive Mode
    Completed: alter database mount exclusive
    Thu Aug 14 19:34:18 2014
    alter database open
    ORA-1122 signalled during: alter database open...
    Thu Aug 14 19:37:46 2014
    WARNING: inbound connection timed out (ORA-3136)
    Thu Aug 14 19:39:12 2014
    WARNING: inbound connection timed out (ORA-3136)
    Thu Aug 14 19:45:19 2014
    WARNING: inbound connection timed out (ORA-3136)
    Thu Aug 14 19:47:33 2014
    db_recovery_file_dest_size of 2048 MB is 0.00% used. This is a
    user-specified limit on the amount of space that will be used by this
    database for recovery-related files, and does not reflect the amount of
    space available in the underlying filesystem or ASM diskgroup.
    Thu Aug 14 19:52:41 2014
    WARNING: inbound connection timed out (ORA-3136)
    Thu Aug 14 19:54:32 2014
    WARNING: inbound connection timed out (ORA-3136)
    Thu Aug 14 20:07:57 2014
    WARNING: inbound connection timed out (ORA-3136)
    Thu Aug 14 20:08:13 2014
    WARNING: inbound connection timed out (ORA-3136)
    Thu Aug 14 20:10:10 2014
    WARNING: inbound connection timed out (ORA-3136)
    Thu Aug 14 20:13:51 2014
    WARNING: inbound connection timed out (ORA-3136)
    Fri Aug 15 08:26:54 2014
    WARNING: inbound connection timed out (ORA-3136)
      

  10.   

    晕,数据库都正常打开了,为什么执意要recover?
      

  11.   

    正常用就行了,注意备份open状态下不能够也不需要recover
      

  12.   

    你现在数据库都已经能正常启动了。 并不需要recover了啊
      

  13.   

    你先把alert 重新命名一下,  再执行以下 启动关闭过程, 看看具体内容是什么。 我看你的alert 有点乱啊
      

  14.   

    Completed: alter database mount exclusive
    Thu Aug 14 19:34:18 2014
    alter database open
    ORA-1122 signalled during: alter database open...这里有提示,open失败