检查alterlog,看看里面有什么错误信息

解决方案 »

  1.   

    你的这种情况,是属于数据迁移了。对于这种情况,是不能直接Copy数据来恢复的。我先测试一下,再回答你。
      

  2.   

    运行后的
    alert_stan.log 文件内容如下Thu Nov 23 11:14:03 2006
    Starting ORACLE instance (normal)
    LICENSE_MAX_SESSION = 0
    LICENSE_SESSIONS_WARNING = 0
    SCN scheme 2
    Using log_archive_dest parameter default value
    LICENSE_MAX_USERS = 0
    SYS auditing is disabled
    Starting up ORACLE RDBMS Version: 9.2.0.1.0.
    System parameters with non-default values:
      processes                = 150
      timed_statistics         = TRUE
      shared_pool_size         = 50331648
      large_pool_size          = 8388608
      java_pool_size           = 33554432
      control_files            = D:\oracle\oradata\stan\CONTROL01.CTL, D:\oracle\oradata\stan\CONTROL02.CTL, D:\oracle\oradata\stan\CONTROL03.CTL
      db_block_size            = 8192
      db_cache_size            = 25165824
      compatible               = 9.2.0.0.0
      db_file_multiblock_read_count= 16
      fast_start_mttr_target   = 300
      undo_management          = AUTO
      undo_tablespace          = UNDOTBS1
      undo_retention           = 10800
      remote_login_passwordfile= EXCLUSIVE
      db_domain                = 
      instance_name            = stan
      dispatchers              = (PROTOCOL=TCP) (SERVICE=stanXDB)
      job_queue_processes      = 10
      hash_join_enabled        = TRUE
      background_dump_dest     = D:\oracle\admin\stan\bdump
      user_dump_dest           = D:\oracle\admin\stan\udump
      core_dump_dest           = D:\oracle\admin\stan\cdump
      sort_area_size           = 524288
      db_name                  = stan
      open_cursors             = 300
      star_transformation_enabled= FALSE
      query_rewrite_enabled    = FALSE
      pga_aggregate_target     = 25165824
      aq_tm_processes          = 1
    PMON started with pid=2
    DBW0 started with pid=3
    LGWR started with pid=4
    CKPT started with pid=5
    SMON started with pid=6
    RECO started with pid=7
    CJQ0 started with pid=8
    QMN0 started with pid=9
    Thu Nov 23 11:14:06 2006
    starting up 1 shared server(s) ...
    starting up 1 dispatcher(s) for network address '(ADDRESS=(PARTIAL=YES)(PROTOCOL=TCP))'...
    Thu Nov 23 11:14:07 2006
    /* OracleOEM */ ALTER DATABASE MOUNT
    Thu Nov 23 11:14:07 2006
    ORA-00218: block size 4096 of controlfile does not match DB_BLOCK_SIZE (8192)
    ORA-00202: controlfile: 'D:\oracle\oradata\stan\CONTROL01.CTL'Thu Nov 23 11:14:10 2006
    ORA-209 signalled during: /* OracleOEM */ ALTER DATABASE MOUNT...
      

  3.   

    试验成功:
    具体的恢复操作如下:第一,新建一个实例 ora92
    第二,将原数据库的全部相关的文件复制过来。
    第三,用旧数据库的参数启动新的实例
    SQL> startup pfile='D:\oracle\ora92\database\INITora92.ORA';
    ORACLE 例程已经启动。Total System Global Area 85006980 bytes
    Fixed Size 453252 bytes
    Variable Size 58720256 bytes
    Database Buffers 25165824 bytes
    Redo Buffers 667648 bytes
    ORA-01991: ???????'d:\oracle\ora92\DATABASE\PWDtest.ORA'提示密码文件出错。重建密码文件(先删除掉原来的文件)
    D:\>orapwd file=d:\oracle\ora92\DATABASE\PWDtest.ORA password=SYS entries=10OPW-00005: 存在相同名称的文件 - 请删除或重命名D:\>orapwd file=d:\oracle\ora92\DATABASE\PWDtest.ORA password=SYS entries=10关闭数据库,再用参数重启:
    SQL> shutdown immediate
    ORA-01109: ??????
    已经卸载数据库。
    ORACLE 例程已经关闭。
    SQL> startup pfile='D:\oracle\ora92\database\INITora92.ORA';
    ORACLE 例程已经启动。Total System Global Area 85006980 bytes
    Fixed Size 453252 bytes
    Variable Size 58720256 bytes
    Database Buffers 25165824 bytes
    Redo Buffers 667648 bytes
    数据库装载完毕。
    数据库已经打开。做完以上的操作以后,如果以后用执行:
    SQL> shutdown immediate
    数据库已经关闭。
    已经卸载数据库。
    ORACLE 例程已经关闭。
    SQL> startup
    ORACLE 例程已经启动。Total System Global Area 101784276 bytes
    Fixed Size 453332 bytes
    Variable Size 75497472 bytes
    Database Buffers 25165824 bytes
    Redo Buffers 667648 bytes
    ORA-00209: ???????????????????????数据据还是启不来的。这时,需要用旧的参数文件替换掉新实例的参数文件:
    intitest.ora---------->initora92.ora
    要放在指定的目录下才可以。处理完参数文件后,就可以正常使用新实例了。SQL> shutdown immediate
    数据库已经关闭。
    已经卸载数据库。
    ORACLE 例程已经关闭。
    SQL> startup
    ORACLE 例程已经启动。Total System Global Area 85006980 bytes
    Fixed Size 453252 bytes
    Variable Size 58720256 bytes
    Database Buffers 25165824 bytes
    Redo Buffers 667648 bytes
    数据库装载完毕。
    数据库已经打开。
      

  4.   

    手工创建一个INIT文件就可以了!重新配置一下TNS就OK了!不用那么麻烦!
      

  5.   

    如果数据文件,log,control文件都在的话,
    1.安装oracle
    2.创建一实例 oradim
    3.有初始化文件的话就用原文件启动,没有就手工创建一个
    4.orapwd创建口令文件
    5.启动 (前提是所有文件还在以前的位置,否则重新创建control文件)