我有所有的数据库文件,但是因为空间不足,把oracle装在了另外的盘D上,原来的在C盘,怎么恢复数据库?我把原来的数据库文件oradata文件夹直接拷贝到D盘上,但是重启数据库时报错ORA-01157: 无法标识/锁定数据文件 1 - 请参阅 DBWR 跟踪文件
ORA-01110: 数据文件 1: 'C:\ORACLE\ORADATA\ORACLE9\SYSTEM01.DBF'怎么把这个SYSTEM01.DBF转到D盘下的 'D:\ORACLE\ORADATA\ORACLE9\SYSTEM01.DBF'

解决方案 »

  1.   

    ORA-01157: 无法标识/锁定数据文件 1 - 请参阅 DBWR 跟踪文件 
    ORA-01110: 数据文件 1: 'C:\ORACLE\ORADATA\ORACLE9\SYSTEM01.DBF' 你原来的控制文件里记录的datafile都是在c盘的,你现在拷贝到d盘上了,就出现这个问题了。你做迁移的方式最好是通过exp和imp来做,如果做冷备份的恢复,要求目录和以前的一致。基于你现在的实际情况,你可以试试用
    alter tablespace tsname rename datafile 'oldfile.dbf' to 'newfile.dbf '; 这样的方式,把每个数据文件的文件都修改到d盘现在的位置,一步一步的尝试,最后如果可以打开的话,重做一下redo日志就可以了。有机会,我远程给你看看。
      

  2.   


    这个方法,需要以前的数据库还在,但是现在系统都重装了,所以可以先试试上面的方法,如果上面的方法不行,再用冷备份恢复的方法,做一个和以前路径一样的数据库,在exp和imp叻。