配置adg报错

1,报错日志
[oracle@bjdb ~]$ rman target sys/oracle@test auxiliary sys/oracle@testadg1
Recovery Manager: Release 11.2.0.1.0 - Production on Sat Nov 19 16:08:36 2016
Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.
connected to target database: TEST (DBID=2129218971)
connected to auxiliary database: TEST (not mounted)
RMAN> duplicate target database for standby from active database;
Starting Duplicate Db at 19-NOV-16
using target database control file instead of recovery catalog
allocated channel: ORA_AUX_DISK_1
channel ORA_AUX_DISK_1: SID=95 device type=DISK
contents of Memory Script:
{
   backup as copy reuse
   targetfile  '/u01/app/oracle/product/11.2.0/db_1/dbs/orapwtest' auxiliary format 
 '/u01/app/oracle/product/11.2.0/db_1/dbs/orapwtest'   ;
}
executing Memory Script
Starting backup at 19-NOV-16
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=39 device type=DISK
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of Duplicate Db command at 11/19/2016 16:09:03
RMAN-03015: error occurred in stored script Memory Script
RMAN-03009: failure of backup command on ORA_DISK_1 channel at 11/19/2016 16:09:03
ORA-17629: Cannot connect to the remote database server
ORA-17627: ORA-12514: TNS:listener does not currently know of service requested in connect descriptor
ORA-17629: Cannot connect to the remote database server

2,原因,主库和备库的tns不一样导致
主库tns
[oracle@node1 admin]$ more tnsnames.ora 
# tnsnames.ora Network Configuration File: /u01/app/oracle/product/11.2.0/db_1/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.


TEST =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = node1)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = test)
    )
  )


testadg1 =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = bjdb)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = test)
    )
  )

备库上tns


TEST =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = node1)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = test)
    )
  )
testadg1 =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = bjdb)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = testadg1)
    )
  )

3,处理将备库上的tns拷贝到主库,执行成功。
RMAN> duplicate target database for standby from active database;


Starting Duplicate Db at 19-NOV-16
using channel ORA_AUX_DISK_1


contents of Memory Script:
{
   backup as copy reuse
   targetfile  '/u01/app/oracle/product/11.2.0/db_1/dbs/orapwtest' auxiliary format 
 '/u01/app/oracle/product/11.2.0/db_1/dbs/orapwtest'   ;
}
executing Memory Script


Starting backup at 19-NOV-16
using channel ORA_DISK_1
Finished backup at 19-NOV-16


contents of Memory Script:
{
   backup as copy current controlfile for standby auxiliary format  '/oradata/test/control01.ctl';
   restore clone controlfile to  '/oradata/test/control02.ctl' from 
 '/oradata/test/control01.ctl';
}
executing Memory Script


Starting backup at 19-NOV-16
using channel ORA_DISK_1
channel ORA_DISK_1: starting datafile copy
copying standby control file
output file name=/u01/app/oracle/product/11.2.0/db_1/dbs/snapcf_test.f tag=TAG20161119T161223 RECID=2 STAMP=928339944
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:01
Finished backup at 19-NOV-16


Starting restore at 19-NOV-16
using channel ORA_AUX_DISK_1


channel ORA_AUX_DISK_1: copied control file copy
Finished restore at 19-NOV-16


contents of Memory Script:
{
   sql clone 'alter database mount standby database';
}
executing Memory Script


sql statement: alter database mount standby database


contents of Memory Script:
{
   set newname for tempfile  1 to 
 "/oradata/test/temp01.dbf";
   switch clone tempfile all;
   set newname for datafile  1 to 
 "/oradata/test/system01.dbf";
   set newname for datafile  2 to 
 "/oradata/test/sysaux01.dbf";
   set newname for datafile  3 to 
 "/oradata/test/undotbs01.dbf";
   set newname for datafile  4 to 
 "/oradata/test/users01.dbf";
   set newname for datafile  5 to 
 "/oradata/test/example01.dbf";
   backup as copy reuse
   datafile  1 auxiliary format 
 "/oradata/test/system01.dbf"   datafile 
 2 auxiliary format 
 "/oradata/test/sysaux01.dbf"   datafile 
 3 auxiliary format 
 "/oradata/test/undotbs01.dbf"   datafile 
 4 auxiliary format 
 "/oradata/test/users01.dbf"   datafile 
 5 auxiliary format 
 "/oradata/test/example01.dbf"   ;
   sql 'alter system archive log current';
}
executing Memory Script


executing command: SET NEWNAME


renamed tempfile 1 to /oradata/test/temp01.dbf in control file


executing command: SET NEWNAME


executing command: SET NEWNAME


executing command: SET NEWNAME


executing command: SET NEWNAME


executing command: SET NEWNAME


Starting backup at 19-NOV-16
using channel ORA_DISK_1
channel ORA_DISK_1: starting datafile copy
input datafile file number=00001 name=/u01/app/oracle/oradata/test/system01.dbf
output file name=/oradata/test/system01.dbf tag=TAG20161119T161233
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:45
channel ORA_DISK_1: starting datafile copy
input datafile file number=00002 name=/u01/app/oracle/oradata/test/sysaux01.dbf
output file name=/oradata/test/sysaux01.dbf tag=TAG20161119T161233
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:46
channel ORA_DISK_1: starting datafile copy
input datafile file number=00005 name=/u01/app/oracle/oradata/test/example01.dbf
output file name=/oradata/test/example01.dbf tag=TAG20161119T161233
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:07
channel ORA_DISK_1: starting datafile copy
input datafile file number=00003 name=/u01/app/oracle/oradata/test/undotbs01.dbf
output file name=/oradata/test/undotbs01.dbf tag=TAG20161119T161233
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:15
channel ORA_DISK_1: starting datafile copy
input datafile file number=00004 name=/u01/app/oracle/oradata/test/users01.dbf
output file name=/oradata/test/users01.dbf tag=TAG20161119T161233
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:01
Finished backup at 19-NOV-16


sql statement: alter system archive log current


contents of Memory Script:
{
   switch clone datafile all;
}
executing Memory Script


datafile 1 switched to datafile copy
input datafile copy RECID=2 STAMP=928340065 file name=/oradata/test/system01.dbf
datafile 2 switched to datafile copy
input datafile copy RECID=3 STAMP=928340065 file name=/oradata/test/sysaux01.dbf
datafile 3 switched to datafile copy
input datafile copy RECID=4 STAMP=928340065 file name=/oradata/test/undotbs01.dbf
datafile 4 switched to datafile copy
input datafile copy RECID=5 STAMP=928340065 file name=/oradata/test/users01.dbf
datafile 5 switched to datafile copy
input datafile copy RECID=6 STAMP=928340065 file name=/oradata/test/example01.dbf
Finished Duplicate Db at 19-NOV-16


5,心得
下次再做拷贝之前一定要,在主库和备库做登陆测试,成功后在做拷贝。



请使用浏览器的分享功能分享到微信等