Problem Description:
-----------------------
While duplicate database whenever I try to connect to auxiliary instance from the target database it returns me with error ORA-12528.
SQL> host rman target / AUXILIARY sys/test@saturn/dupbase
Recovery Manager: Release 10.2.0.1.0 - Production on Tue May 13 03:42:00 2008
Copyright (c) 1982, 2005, Oracle. All rights reserved.
connected to target database: DBASE (DBID=1509380669)
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-00554: initialization of internal recovery manager package failed
RMAN-04006: error from auxiliary database: ORA-12528: TNS:listener: all appropriate instances are blocking new connections
Cause of the Problem:
-------------------------
The problem happens because of the auxiliary instance has just started. It is now in NOMOUNT stage. The instance registration with the listener is performed by PMON process and to start the PMON process database need to be in mount stage. So, before the instance registration by PMON with the listener there is actually noting to register and hence the instance is BLOCKED.
Solution of the Problem:
--------------------------------------
Option 1:Connect to the auxiliary instance using OS authentication (as /) and use password file authentication for target database and connect via Listener.For an example:
Here from auxiliary destination I issued the command and hence successfully connected.
bash-3.00$ rman target sys/a@neptune:1522/dbase AUXILIARY /
Recovery Manager: Release 10.2.0.1.0 - Production on Tue May 13 04:07:36 2008
Copyright (c) 1982, 2005, Oracle. All rights reserved.
connected to target database: DBASE (DBID=1509380669)
connected to auxiliary database: DUPBASE (not mounted)
Option 2:Create a static entry for the auxiliary database in the listener.ora file and restart the listener. For example:
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = dupbase)
(ORACLE_HOME = /oracle/product/db_1)
(SID_NAME = dupbase)
)
)
or,
Use the Oracle10G feature :
In the file tnsnames.ora add,
bash-3.00$ vi /oracle/app/oracle/product/10.2.0/db_1/network/admin/tnsnames.ora
DBASE_CONN=
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST =saturn)(PORT = 1522))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME =dupbase)(UR=A)
)
)
This fix is required for administrative connections where we specify (UR=A) in connect data.
Related Documents:
-------------------------
Duplicate Database to a New host
FROM: http://arjudba.blogspot.com/2008/05/connection-to-auxilary-instance-failed.html