我现在有某个数据库的全部初始化文件、控制文件、数据文件、联机日志文件,在shutdown的情况下冷备份。
请问怎么样在一个完全陌生的环境下重新建一个数据库并恢复数据?
由于某些原因我无法保持目录结构和原来的物理结构一模一样。

解决方案 »

  1.   

    根据你说的情况,目录结构有可能发生改变所以在数据库启动不成功时
    svrmgrl
    svrmgrl> connect internal;
    svrmgrl> alter database rename file ‘xxx’ to ‘xxx’改变文件的存放位置
    svrmgrl> startup
      

  2.   

    只要保证原来数据库的全部初始化文件、控制文件、数据文件、联机日志文件的目录结构一样,
    如果你不能取保那就没有办法了,因为这个时候数据库没有办法打开,svrmgrl
    svrmgrl> connect internal;
    svrmgrl> alter database rename file ‘xxx’ to ‘xxx’这个时候如果数据库没有打开
    alter database rename file ‘xxx’ to ‘xxx’是没有办法做的。或者你在原来数据库把目录结构改了,或者你在另外环境下搭建一样的环境然后使用EXP/IMP来实现
      

  3.   

    对816来说:
    1。备份oracle\admin
           oracle\ora81\database
           oracle\oradata\实例名
    这三个文件夹中的东东。
    2。在其它机子上装oracle 保证实例名和原来的一样。db_block_size 和原来的一样。
    数据库路径和原来的一样就能用。
      

  4.   

    这没关系但是要求你新建的数据库的一些参数必须同原来的。重建一个同名数据库,文件的目录结构不同没关系。对应覆盖文件。
    然后,mount数据库
    通过使用alter database rename file '' to '',有几个文件就修改几个文件,目的是把控制文件中的数据库文件信息修改过来。
    然后open数据库就可以了。
      

  5.   

    1.先用OraDim建服务
    2.sqlplus internal
    3.startup mount
    4.alter database file rename '原路径' to '新路径';
    5.alter database open;
      

  6.   

    不能保持目录结构和原来的物理结构一模一样的话就修改INIT*.ORA将里面的数据文件的路径指定到实际的地址就可以实现