我从其他地方拷来了Oracle数据库得文件,也是windows系统的Oracle目录oradata下面有一个ECMSORCL文件夹,全部拷过来了,里面是.CTL,.DBF,.ORA类型的文件。
        我在我本地也装了Oracle数据库,请问要怎么还原上述的数据库到我本地机子上呢?
        Oracle菜鸟,请大大们指教!

解决方案 »

  1.   

    1.你电脑的Oracle 安装目录要和其他机器安装目录相同。 
    2. 新建一个实例ECMSORCL
    3. 用你的ECMSORCL文件夹把原来的覆盖掉就可以了
      

  2.   

    楼上的方法可行,但不完整。oracle安装目录在哪里无所谓,但是数据文件(就是你拷回来那些)放置路径需和原数据库保持一致(不然你就得用命令一个一个修改指向位置了)。创建同名实例是必要的,并且在创建数据库时指定的控制文件路径要和原来一致。
    创建不创建数据库倒无所谓,我们需要的仅仅是系统服务(OracleServiceECMSORCL)和参数文件(initXXX.ora),因为从你的描述来看,似乎你并没有拷贝参数文件回来。
      

  3.   

    用了一楼的方法  新建一个数据库,然后覆盖,,报 ora-01410 invalid rowid的错误。
      

  4.   


    启动时报错? 看下alert log 文件.. 2个数据实例的目录是否一致..
      

  5.   

    oradata下的文件都拷过来了,应该不需要其他的文件吧?
      

  6.   

    以前回帖写的,直接搬过来了,建议楼主最好了解Oracle基本体系结构。冷备份: 
    (1)、从v$datafile 、v$logfile、V$contralfile查看所有数据文件、日志文件、控制文件的位置 
    (2)、shutdown immediate    关闭数据库 
    (3)、在windows服务管理中,停止所有Oracle服务(以Oracle开头的服务)。 
    (4)、拷贝步骤1中所有的数据文件、日志文件、控制文件(一般在Oracle目录下的oradata文件夹,我的分布在2个地方) 
    数据文件一般是.DBF;日志文件一般是.log,控制文件一般是.CTL(一般是3个控制文件)。 
    (5)、拷贝初始化文件:在Oracle目录\admin下的“数据库名”文件夹(我的数据库名为ora9i) 
    (6)、备份密码文件:在oracle目录下的\ora92下的database文件夹(密码文件一般是PWDsid.ora) 
    (7)、备份oracle目录下的\ora92\network\admin下的listener.ora和tnsnames.ora、sqlnet.ora 
    冷备份结束,启动数据库和Oracle服务。 恢复: 
    后在cmd模式下输入 oradim  /?  出现该命令的帮助信息了,如果没有,请安装下Oracle,选择企业版数据库,在下一步选择自定义(不选自定义会自动安装数据库) 
    (1)在windows服务管理中停止所有Oracle服务。 
    (2)创建服务,在cmd模式下输入:oradim -new -sid ora9i -startmode auto  (ora9i是数据库服务名) 
    可以在windows服务中看到增加了OracleServiceORA9i服务 
    (3)把冷备份的步骤4、5、6拷贝出来的文件夹复制到对应位置(位置一定要对应哦) 
    (4)用Net Configuration Assistant工具建立监听 
    (5)启动步骤2创建的服务OracleServerORA9I和步骤1被关掉的服务 至此恢复工作结束。 还有,查看注册表HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE/HOME0下是否有字符串ORACLE_SID, 键值=您数据库中使用的SID,如果没有则添加一个。 注意哦,我这里用的服务名是ora9i,你要改成您所使用的。
      

  7.   


    但是我只有步骤4中的那三种类型文档,,5,6中说的admin和密码文件都没有。。这样还有希望恢复数据吗???
      

  8.   

    再去弄个dmp文件,IMP导进来,拷贝那么多文件,太麻烦了。反正也是移植到自己的电脑上来,这样子不用那么麻烦。