Policy Server :: Oracle Policy Store : Failover

Document ID : KB000050050
Last Modified Date : 14/02/2018
Show Technical Document Details

Description:

I have configured the Oracle odbc system_odbc.ini file like this:

[SiteMinder Session Data Src 1]
Driver=/opt/ca/netegrity/siteminder/odbc/lib/NSora24.so
Description=DataDirect 6.0 Oracle Wire Protocol
LoginID=spsession
HostName=vm-ppdb-13
PortNumber=1521
SID=a3sm
CatalogOptions=0
ProcedureRetResults=0
EnableDescribeParam=0
EnableStaticCursorsForLongData=0
ApplicationUsingThreads=1
DMCleanup=2

[SiteMinder Session Data Src 2]
Driver=/opt/ca/netegrity/siteminder/odbc/lib/NSora24.so
Description=DataDirect 6.0 Oracle Wire Protocol
LoginID=spsession
HostName=vm-ppdb-6
PortNumber=1521
SID=a3sm
CatalogOptions=0
ProcedureRetResults=0
EnableDescribeParam=0
EnableStaticCursorsForLongData=0
ApplicationUsingThreads=1
DMCleanup=2

But when I run the Policy Server, I got the following error message permanently:

Policy Server was not able to initiate connection using secondary ODBC source [ERROR] Data source 'SiteMinder Session Data Src 2'

How can I fix the problem?

Solution:

Following documentation, if you use Oracle RAC, you need to define:

ServiceName
AlternateServers
Loadbalancing=1

and comment

SID=nete_serverid

in order to get failover mechanism. I feel you are trying to use both connections at the same time.

cf.:

AlternateServers
Specifies the connection failover to the other Oracle nodes, if the primary server is not accepting connections.

Example:
(HostName=nete_servername2:PortNumber=1521:ServiceName=nete_servicename[,...])

LoadBalancing=1
Turns on client load balancing, which helps to distribute new connections to keep RAC nodes from being overwhelmed with connection requests. When enabled, the order in which primary and alternate database servers are accessed is random.

(Policy Server Installation Guide r12.0 SP3)

So, here is a sample of the system_odbc.ini file:

[SiteMinder Oracle Data Source]
Driver=/opt/CA/siteminder/odbc/lib/NSora23.so
Description=DataDirect 5.3 Oracle Wire Protocol
HostName=data1.training.com
PortNumber=1521
ServiceName=test1
AlternateServers=(Hostname=data2.training.com:PortNumber=1521:ServiceName=test1)
LoadBalancing=1
CatalogOptions=0
ProcedureRetResults=0
EnableDescribeParam=0
EnableStaticCursorsForLongData=0
ApplicationUsingThreads=1
ConnectionRetryDelay=5
ConnectionRetryCount=5

This will fix the issue. Be sure you edit the file with Unix line feeds if you edit it on Windows machine.