ORA-12514 from DGMGRL Switchover Database

ISSUE:

When using DGMGRL command line to switchover database, we see ORA-12514 error. There are two databases of primary and standby database here as below:

Sydney – Primary database
Melbourne – Physical standby database

DGMGRL> switchover to ‘Melbourne’;
Performing switchover NOW, please wait…
Operation requires a connection to instance “Melbourne” on database “Melbourne”
Connecting to instance “Melbourne”
connected
New primary database “Melbourne” is opening …
Operation requires startup of instance “Sydney” on database “Sydney”
Starting instance “Sydney”…
Unable to connect to database
ORA-12514: TNS:listener does not currently know of service requested in connect descriptor

Failed.
Warning: you are no longer connected to ORACLE

Please complete the following steps to finish switchover:
start up and mount instance “Sydney” of database “Sydney”

SOLUTION:

we need have static registration with listeners, where a standby database/Data Guard scenario exists. Basically once dmon terminates the instance it was unable to connect back to it again to restart the new standby database without a static entry.

Add an entry below into LISTENER.ora for each host where database resides on respectively.

For hosta where Sydney database resides on:

SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = Sydney_DGMGRL)
(ORACLE_HOME = /u01/app/oracle/product/11.2.0/dbhome_1)
(SID_NAME = Sydney)
)

For hostb where Melbourne database resides on:

SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = Melbourne_DGMGRL)
(ORACLE_HOME = /u01/app/oracle/product/11.2.0/dbhome_1)
(SID_NAME = Melbourne)
)

Check property “StaticConnectIdentifier” to see static registration successfully or not.

DGMGRL> show database “Sydney” StaticConnectIdentifier
StaticConnectIdentifier = ‘(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=hosta)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=Sydney_DGMGRL)(INSTANCE_NAME=Sydney)(SERVER=DEDICATED)))’

DGMGRL> show database “Melbourne” StaticConnectIdentifier
StaticConnectIdentifier = ‘(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=hostb)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=Melbourne_DGMGRL)(INSTANCE_NAME=Melbourne)(SERVER=DEDICATED)))’

Advertisements
This entry was posted in DataGuard and tagged , , , , , . Bookmark the permalink.

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