oracle 用RMAN复制数据库出现错误,临时文件temp01.dbf 与系统文件冲突!

解决方案 »

  1.   

    RMAN-05517: 临时文件 D:\ORACLDATA\ORCL\TEMP01.DBF 与目标数据库所使用的文件冲突
      

  2.   

    oerr rman 5517
    5517, 1, "temporary file %s conflicts with file used by target database"
    // *Cause: RMAN attempted to use the specified temporary file as a restore
    //         destination in the auxiliary database, but this name was already
    //         in use by the target database.
    // *Action: Use the SET NEWNAME FOR TEMPFILE command to specify a name for
    //          the indicated temporary file, making sure that the new name
    //          does not conflict with a filename in use by target database.
    //          Alternatively, use DB_FILE_NAME_CONVERT and retry the command.
      

  3.   

    使用set renamed for tempfile后还是这样的错误,急!
      

  4.   

     run{
     set newname for tempfile 1 to 'D:\ORACLDATA\ORCL\TE.DBF';
     }
      

  5.   

    可能不行,能不能先不用tempfile,只复制数据文件,然后打开数据库,自己重建.
      

  6.   


    10g不需要set newname了,只需要在recover tablespace加上AUXILIARY DESTINATION 'E:\oracle\product\10.2.0\oradata\auxi'
      

  7.   

    参考:http://www.itpub.net/688197.html
      

  8.   

    不用搞那么麻烦,把目标库的drop掉就行了。
      

  9.   

    应该是control file里的checkpoint与temp数据文件的checkpoint不一致导致的吧。
    是不是可以通过重建临时表空间及数据文件恢复啊
      1.startup   --启动数据库   
      2.create   temporary   tablespace   TEMP2   TEMPFILE   '/opt/HUAWEI/cgp/workshop/omu/database/temp02.dbf'   SIZE   512M   REUSE   AUTOEXTEND   ON   NEXT   640K   MAXSIZE   UNLIMITED;   --创建中转临时表空间  
      3.alter   database   default   temporary   tablespace   temp2;   --改变缺省临时表空间   为刚刚创建的新临时表空间temp2   
      4.drop   tablespace   temp   including   contents   and   datafiles;--删除原来临时表空间   
      5.create   temporary   tablespace   TEMP   TEMPFILE   '/opt/HUAWEI/cgp/workshop/omu/database/temp01.dbf'   SIZE   512M   REUSE   AUTOEXTEND   ON   NEXT   640K   MAXSIZE   UNLIMITED;   --重新创建临时表空间  
      6.alter   database   default   temporary   tablespace   temp;   --重置缺省临时表空间为新建的temp表空间  
      7.drop   tablespace   temp2   including   contents   and   datafiles;--删除中转用临时表空间   
      8.alter   user  CGP_1   temporary   tablespace   temp;   --重新指定用户表空间为重建的临时表空间
      

  10.   

    按照neverland_83 说的,不会出现临时文件冲突了,但是复制的过程:
    set oracle_sid=test
    sqlplus sys/oracle as sysdba
    startup nomount
    rman target sys/oracle@orcl auxiliary sys/oracle
    其他一切正常,但是一直停在
    -----------------------------------------------------------------------
    正在开始介质的恢复存档日志线程 1 序列 6 已作为文件 F:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\OR
    CL\ARCHIVELOG\2009_02_25\O1_MF_1_6_4TBL5KKL_.ARC 存在于磁盘上
    存档日志线程 1 序列 7 已作为文件 F:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\OR
    CL\ARCHIVELOG\2009_02_26\O1_MF_1_7_4TCTYMQX_.ARC 存在于磁盘上
    存档日志文件名 =F:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\200
    9_02_25\O1_MF_1_6_4TBL5KKL_.ARC 线程 =1 序列 =6
    存档日志文件名 =F:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\200
    9_02_26\O1_MF_1_7_4TCTYMQX_.ARC 线程 =1 序列 =7
    介质恢复完成, 用时: 00:00:08
    完成 recover 于 26-2月 -09内存脚本的内容:
    {
       shutdown clone;
       startup clone nomount ;
    }
    正在执行内存脚本
    -----------------------------------------------------------------------上面的位置,半个小时都没进展,是什么问题?
      

  11.   

    *.db_file_name_convert=('D:\ORACLE\product\10.2.0\oradata\orcl\','d:\dupdb1\')
    *.log_file_name_convert=('D:\ORACLE\product\10.2.0\oradata\orcl\','d:\dupdb1\')如此即可