My Blog

December 11, 2008

Connection to Auxilary using connect string failed with ORA-12528

Filed under: Oracle — by enotebook @ 9:25 am

Refer to metalink Note:419440.1
During duplicate database creation, connection to the auxiliary database from target database server fails with ORA-12528: TNS:listener: all appropriate instances are blocking new connections.

E:oracleproduct10.2.0db_1BIN>rman target / auxiliary sys/sys@duplicate

Recovery Manager: Release 10.2.0.1.0 – Production on Fri Mar 16 00:11:05 2007

Copyright (c) 1982, 2005, Oracle. All rights reserved.

connected to target database: ORIGINAL (DBID=1451288337)
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 appropri
ate instances are blocking new connections

When it fails , add manual entry for sid in listener.ora as per Note 301099.1

However, still you receive the same error on connect in some cases.

Cause
Its because only the Auxiliary Instance is running .The instance registers with the listener by the PMON process. TO start the PMON process the database need to be in MOUNT status. Before there is nothing to register the database to the listerner so the instance is BLOCKED.
Solution

There are 2 options to solve this 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:

E:>rman target sys/sys@original auxiliary /

Recovery Manager: Release 10.2.0.1.0 – Production on Thu Mar 15 23:57:08 2007

Copyright (c) 1982, 2005, Oracle. All rights reserved.

connected to target database: ORIGINAL (DBID=1451288337)
connected to auxiliary database: DUPLICATE (not mounted)

Option 2

Create a static entry for the auxiliary database in the listener.ora file and restart the listener. For example

Listener.ora
————-

SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = SAIRAM)
(ORACLE_HOME = G:oracleproduct10.2.0db_1)
(SID_NAME = SAIRAM)
)
)

Or

Use the Oracle10G feature :

tnsnames.ora
————

SAIRAM =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = apadhi-idc)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = SAIRAM)(UR=A)
)
)

This fix is required for administrative connections where we specify (UR=A) in connect data.

Advertisements

Leave a Comment »

No comments yet.

RSS feed for comments on this post. TrackBack URI

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Blog at WordPress.com.

%d bloggers like this: