Configure Redundancy in an Oracle ODBC DSN Data Store for the Siteminder Policy Server
search cancel

Configure Redundancy in an Oracle ODBC DSN Data Store for the Siteminder Policy Server

book

Article ID: 378414

calendar_today

Updated On:

Products

SITEMINDER

Issue/Introduction

Redundancy can be configured to use either Failover or Load Balancing.  When using an Oracle RDBMS (ODBC) data store there are several ways to configure both failover and load balancing.  This can either be done through the Siteminder Policy Server or through the Oracle Wire Protocol Driver

Environment

PRODUCT: Siteminder

COMPONENT: Policy Server

VERSION: r12.8.x

OPERATING SYSTEM: Any

Resolution

Failover Using the Siteminder Policy Server

The Siteminder Policy Server supports failover between multiple DSN's for the Policy Store, User Store, Session Store and Audit Store.

1) Create a second DSN

2) Add the new DSN to connection properties for the Policy Store, User Store, Session Store, Audit Store, etc.

Failover Using the DSN

WINDOWS: 

1) Log on to the Policy Server

2) run ODBCAD32.exe

3) Select the Oracle DSN and select 'Configure'

4) Go to the Failover tab

LINUX:

1) Log on to the Policy Server

2) Edit <Install_Dir>/siteminder/policyserver/db/system_odbc.ini

3) Locate the DSN tied to the data store you want to modify.

 

The following settings in the Oracle DSN can control failover:

FailoverMode = 0 | 1 | 2

0 = (Connection), the driver provides failover protection for new connections only.
1 = (Extended Connection), the driver provides failover protection for new and lost connections, but not any work in progress.
2 = (Select), the driver provides failover protection for new and lost connections. In addition, it preserves the state of work performed by the last Select statement executed.

Purpose:

Specifies the type of failover method the driver uses.

The Alternate Servers option specifies one or multiple alternate servers for failover and is required for all failover methods.

-------------------------
FailoverGranularity = 0 | 1 | 2 | 3

0 = (Non-Atomic), the driver continues with the failover process and posts any errors on the statement on which they occur.

1 = (Atomic) the driver fails the entire failover process if an error is generated as the result of anything other than executing and repositioning a Select statement. If an error is generated as a result of repositioning a result set to the last row position, the driver continues with the failover process, but generates a warning that the Select statement must be reissued.

2 = (Atomic Including Repositioning), the driver fails the entire failover process if any error is generated as the result of restoring the state of the connection or the state of work in progress.

3 = (Disable Integrity Check), the driver does not verify that the rows that were restored during the failover process match the original rows. This value applies only when Failover Mode is set to 2 (Select).


Purpose:

Determines whether the driver fails the entire failover process or continues with the process if errors occur while trying to reestablish a lost connection.

This option applies only when Failover Mode is set to 1 (Extended Connection) or 2 (Select).

The Alternate Servers option specifies one or multiple alternate servers for failover and is required for all failover methods.

--------------------------
FailoverPreconnect = 0|1

0 = (Disabled), the driver tries to connect to an alternate server only when failover is caused by an unsuccessful connection attempt or a lost connection. This value provides the best performance, but your application typically experiences a short wait while the failover connection is attempted.
1 = (Enabled), the driver tries to connect to the primary and an alternate server at the same time. This can be useful if your application is time-sensitive and cannot absorb the wait for the failover connection to succeed.

Description: 
Specifies whether the driver tries to connect to the primary and an alternate server at the same time.

This attribute applies only when Failover Mode is set to 1 (Extended Connection) or 2 (Select) and at least one alternate server is specified.

The Alternate Servers option specifies one or multiple alternate servers for failover and is required for all failover methods.

 

Load Balancing Using the DSN

WINDOWS: 

1) Log on to the Policy Server

2) run ODBCAD32.exe

3) Select the Oracle DSN and select 'Configure'

4) Go to the Failover tab

LINUX:

1) Log on to the Policy Server

2) Edit <Install_Dir>/siteminder/policyserver/db/system_odbc.ini

3) Locate the DSN tied to the data store you want to modify.

The following settings in the Oracle DSN can control load balancing:

LoadBalancing = 0|1

0 = (Disabled), the driver does not use client load balancing and connects to each server based on their sequential order (primary server first, then, alternate servers in the order they are specified).
1 = (Enabled), the driver uses client load balancing and attempts to connect to the database servers (primary and alternate servers) in random order.

Purpose:

Determines whether the driver uses client load balancing in its attempts to connect to the database servers (primary and alternate). You can specify one or multiple alternate servers by setting the Alternate Servers option.

------------------
AlternateServers =

Purpose
A list of alternate database servers to which the driver tries to connect if the primary database server is unavailable. Specifying a value for this option enables connection failover for the driver. The value you specify must be in the form of a string that defines the physical location of each alternate server. All of the other required connection information for each alternate server is the same as what is defined for the primary server connection.

Valid Values:

(HostName=hostvalue:PortNumber=portvalue:{SID=sidvalue | ServiceName=servicevalue}[, . . .])
You must specify the host name, port number, and either the SID or service name of each alternate server.

Example:

The following Alternate Servers value defines two alternate database servers for connection failover:

(HostName=AccountingOracleServer:PortNumber=1521:
SID=Accounting,HostName=255.201.11.24:PortNumber=1522:
ServiceName=ABackup.NA.MyCompany)

Default:  None

================================================================

----------------------
ConnectionRetryCount = 0|n

0 = the driver does not try to reconnect after the initial unsuccessful attempt.
n = number of retries (A positive integer from 1 to 65535)


Purpose:

The number of times the driver retries connection attempts to the primary database server, and if specified, alternate servers until a successful connection is established.
This option and the Connection Retry Delay connection option, which specifies the wait interval between attempts, can be used in conjunction with failover.

------------------------
ConnectionRetryDelay = 0|n

0 = There is no delay between retries.
n = Time Delay (A positive integer from 1 to 65535)

Purpose
Specifies the number of seconds the driver waits between connection retry attempts when Connection Retry Count is set to a positive integer.

This option and the Connection Retry Count connection option can be used in conjunction with failover.

------------------------

========================================

Additional Information