DB Clients Cannot Connect to the SMF DB After a Cluster Failover to the Other Node Resulting in a "ORA-12505" Error (Doc ID 1297933.1)

Last updated on SEPTEMBER 12, 2016

Applies to:

Oracle Communications Network Charging and Control - Version 3.1.0 and later
Information in this document applies to any platform.

Symptoms

If one node of a Solaris Clustered Service Management System (SMS) goes offline, some of the configured Resource Groups will failover to the other clustered SMS node(s), resulting in database (DB) clients' not being able to connect to the Database anymore.  A client is any process that connects to the database either locally or remotely.

The client process will produce an Oracle database error message when this occurs, similar to the following example:

ORA-12505, TNS:listener does not currently know of SID given in connect descriptor
The Connection descriptor used by the client was:
usms_lsnr1.domain.com:1521:SMF1

Some SMS Cluster Background Information

The SMS servers may be configured as Highly Available (HA) Solaris Cluster nodes (two or more SMS servers) to run its Network Charging and Control (NCC) applications.

On a single SMS server setup the database SID (System ID - a unique name for an Oracle database instance) is called "SMF."   The clustered database setup uses Oracle Real Application Clusters (RAC) software to manage the node's database instance but requires a unique SID, or instance name, for each database.  Therefore to differentiate the database instances on each cluster node their DB SID's are called SMFn, where n is a number starting from 1 (e.g. SMF1, SMF2, etc).  However the Oracle Service Name (a sort of DB alias name) of the the clustered database instances can remain as "SMF."   This is an important distinction, as can be shown by the following example of database parameter settings output:

SQL> connect system/*****
Connected.
SQL> show parameters _name

NAME                                 TYPE                             VALUE
------------------------------------ -------------------------------- ------------------------------
db_file_name_convert                 string
db_name                              string                           SMF
db_unique_name                       string                           SMF
global_names                         boolean                          FALSE
instance_name                        string                           SMF1
lock_name_space                      string
log_file_name_convert                string
service_names                        string                           SMF
SQL>


Note: if the service_names initialization parameter is not defined it will default to "db_name.db_domain" instead.



To allow access to the SMF database the following NCC Resource Groups are configured on a SMS cluster:

The DB TNS (Transparent Network Substrate) listeners (listen on a specific network address for client connection requests, are identified as follows:


In Solaris Cluster terminology a Resource may be an application (or element) that can be turned on or off, and monitored by the cluster. A Resource Group (RG) is a collection of Resources. RG's can be configured as either; Scalable, or Failover services, where each service means:

Changes

Some of the following system changes may trigger this problem:

  1. The connect descriptor on the Oracle DB client has changed, and/or
  2. The listener connect descriptor on the Oracle DB server has changed, and/or
  3. The Resource Groups have failed over another node.
Note: A client needs a connect descriptor in order to connect to an Oracle instance.  In its most basic form the connect descriptor looks like:

(DESCRIPTION=
     (ADDRESS=
         (address-specific-things)
     )
     (CONNECT_DATA=
         (connect-data-specific-things)
     )
)


A net service name alias of connect descriptor can be defined using the Oracle tnsnames.ora and listerner.ora files (found in $ORACLE_HOME/network/admin) of the database server.  An example of a SMS tnsnames.ora file is attached to this document as a reference.

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms