zoukankan      html  css  js  c++  java
  • RMAN DUPLICATE DATABASE with SET NEWNAME failed: RMAN-05501 RMAN-05517 (Doc ID 387093.1)

    RMAN DUPLICATE DATABASE with SET NEWNAME failed: RMAN-05501 RMAN-05517 (Doc ID 387093.1)

    APPLIES TO:

    Oracle Database - Enterprise Edition - Version 10.2.0.2 to 11.2.0.4 [Release 10.2 to 11.2]
    Oracle Database Cloud Schema Service - Version N/A and later
    Oracle Database Exadata Cloud Machine - Version N/A and later
    Oracle Cloud Infrastructure - Database Service - Version N/A and later
    Oracle Database Cloud Exadata Service - Version N/A and later
    Information in this document applies to any platform.
    ***Checked for relevance on 7-Dec-2015***

    SYMPTOMS

    NOTE: In the images and/or the document content below, the user information and environment data used represents fictitious data from the Oracle sample schema(s), Public Documentation delivered with an Oracle database product or other training material. Any similarity to actual environments, actual persons, living or dead, is purely coincidental and not intended in any manner.
     
    For the purposes of this document, the following fictitious environment is used as an example to describe the procedure:
    出于本文档的目的,以以下虚拟环境为例来描述该过程
    Primary Database:
    DB_NAME: ORCL

    Standby Database:
    DB_UNIQUE_NAME: DUP

    Executing RMAN DUPicate , on same host as Target Database using SET NEWNAME to redirect datafiles to new location.
    使用 SET NEWNAME 在目标数据库所在的主机上执行 RMAN DUPlicate ,以将数据文件重定向到新位置。

    SET NEWNAME has been specified for all datafiles for example like following RMAN script:
    已为所有数据文件指定SET NEWNAME,例如以下RMAN脚本:

    RMAN> run {
    allocate auxiliary channel a1 device type disk ;
    SET NEWNAME for datafile 1 to 'D:ORACLEPRODUCT10.2.0ORADATADUPSYSTEM01.DBF';
    SET NEWNAME for datafile 2 to 'D:ORACLEPRODUCT10.2.0ORADATADUPUNDOTBS01.DBF';
    SET NEWNAME for datafile 3 to 'D:ORACLEPRODUCT10.2.0ORADATADUPSYSAUX01.DBF';
    SET NEWNAME for datafile 4 to 'D:ORACLEPRODUCT10.2.0ORADATADUPUSERS01.DBF';
    SET NEWNAME for datafile 5 to 'D:ORACLEPRODUCT10.2.0ORADATADUPEXAMPLE01.DBF';
    SET NEWNAME for datafile 6 to 'D:ORACLEPRODUCT10.2.0ORADATADUPUSERS02.DBF';
    SET NEWNAME for datafile 7 to 'D:ORACLEPRODUCT10.2.0ORADATADUPDATA01.DBF';
    #
    # run the DUPICATE command
    # specify client-side parameter file for auxiliary instance if necessary
    DUPICATE TARGET DATABASE TO DUP
    PFILE = 'D:oracleproduct10.2.0adminDUPpfileinitDUP.ora'
    UNTIL scn 22753868
    LOGFILE
      GROUP 1 ('D:oracleproduct10.2.0oradataDUP
    edo01a.log') SIZE 20M REUSE ,
      GROUP 2 ('D:oracleproduct10.2.0oradataDUP
    edo02a.log') SIZE 20M REUSE ,
      GROUP 3 ('D:oracleproduct10.2.0oradataDUP
    edo03a.log') SIZE 20M REUSE ;
    }
    

    This fails with Errors:  这将失败,并显示以下错误
    =======================

    ....
    Starting DUPicate Db at 11-AUG-2006:14:20:47
    Datafile 8 skipped by request
    released channel: a1
    RMAN-00571: ===========================================================
    RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
    RMAN-00571: ===========================================================
    RMAN-03002: failure of DUPicate Db command at 08/11/2006 14:20:52
    RMAN-05501: aborting DUPication of target database
    RMAN-05517: temporary file D:ORACLEPRODUCT10.2.0ORADATAORCLTEMP01.DBF conflicts with file used by target database

    CHANGES

    CAUSE

    Cause:
    ======
    RMAN-05517: temporary file string 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.
    原因:RMAN尝试将指定的临时文件用作辅助数据库中的还原目标,但是目标数据库已经使用了该名称。

    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.
    操作:使用 SET NEWNAME FOR TEMPFILE 命令为指示的临时文件指定一个名称,确保新名称与目标数据库使用的文件名不冲突。或者,使用 DB_FILE_NAME_CONVERT 并重试该命令。

    SOLUTION

    Solution:  解决方案
    =========
    a) You must specify SET NEWNAME for 'tempfiles' as well like:  您必须为 'tempfiles' 指定SET NEWNAME,例如

    RMAN> SET NEWNAME for tempfile 1 to 'D:ORACLEPRODUCT10.2.0ORADATADUPTEMP01.DBF';
    

    b) or use DB_FILE_NAME_CONVERT

    Example: Set NEWNAME (Change script and add NEWNAME for tempfile(s) like: )
    --------

    RMAN> run {
      allocate auxiliary channel a1 device type disk ;
      SET NEWNAME for datafile 1 to 'D:ORACLEPRODUCT10.2.0ORADATADUPSYSTEM01.DBF';
      SET NEWNAME for datafile 2 to 'D:ORACLEPRODUCT10.2.0ORADATADUPUNDOTBS01.DBF';
      SET NEWNAME for datafile 3 to 'D:ORACLEPRODUCT10.2.0ORADATADUPSYSAUX01.DBF';
      SET NEWNAME for datafile 4 to 'D:ORACLEPRODUCT10.2.0ORADATADUPUSERS01.DBF';
      SET NEWNAME for datafile 5 to 'D:ORACLEPRODUCT10.2.0ORADATADUPEXAMPLE01.DBF';
      SET NEWNAME for datafile 6 to 'D:ORACLEPRODUCT10.2.0ORADATADUPUSERS02.DBF';
      SET NEWNAME for datafile 7 to 'D:ORACLEPRODUCT10.2.0ORADATADUPDATA01.DBF';
    
      SET NEWNAME for tempfile 1 to 'D:ORACLEPRODUCT10.2.0ORADATADUPTEMP01.DBF';
    
    #
    # run the DUPICATE command
    # specify client-side parameter file for auxiliary instance if necessary
      DUPICATE TARGET DATABASE TO DUP
      PFILE = 'D:oracleproduct10.2.0adminDUPpfileinitDUP.ora'
      UNTIL scn 22753868
      LOGFILE
         GROUP 1 ('D:oracleproduct10.2.0oradataDUP
    edo01a.log') SIZE 20M REUSE ,
         GROUP 2 ('D:oracleproduct10.2.0oradataDUP
    edo02a.log') SIZE 20M REUSE ,
         GROUP 3 ('D:oracleproduct10.2.0oradataDUP
    edo03a.log') SIZE 20M REUSE ;
    }
    
  • 相关阅读:
    安全实践鬼手诀 杂志
    Android 应用资源随笔
    Android 构架
    Andorid杂笔 深入理解Activity,Intenthe IntentFilter
    Android杂笔 事件处理
    创建9-Patch自定义伸缩图片
    重拾C之语句,操作符和表达式
    CSS float属性
    最近最少使用队列算法
    java常见面试题
  • 原文地址:https://www.cnblogs.com/zylong-sys/p/12003493.html
Copyright © 2011-2022 走看看