The RSA Identity Governance & Lifecycle application and its’ processes read data from the Oracle database. When the connection is made to the Oracle database, what is the query timeout settings, and can they be re-configured?
The Oracle database has two levels of timeout:
- One for the Database NET Services, and
- One for the Oracle client-user connection.
RSA recommends that the timeout for the Oracle client-user connection not be adjusted from the default. This is because the RSA Identity Governance & Lifecycle product uses JDBC connections, where timeouts are already controlled by the Application Server. So, there is no need to implement the Oracle DCD feature & IDLE_TIME setting in an Oracle database User profile.
If the JDBC connection timeout needs to be adjusted for your site, but you do not want to adjust the Application Server timeouts, then the JDBC connection itself can use the CONNECT_TIMEOUT setting, by adding it to the JDBC connect string, as shown here in bold:
String connString = "jdbc:oracle:thin:@(description=(CONNECT_TIMEOUT=10)(address_list=(address=(protocol=tcp)(port=1521)(host=prodHost)))(connect_data=(INSTANCE_NAME=ORCL)))";
Alternately, the Oracle NET TNSNAMES.ORA file entry can be edited to include the CONNECT_TIMEOUT setting, for example:
net_service_name=
(DESCRIPTION=
(CONNECT_TIMEOUT=10)(RETRY_COUNT=3)
(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=tcp)(HOST=sales1-svr)(PORT=1521))
(ADDRESS=(PROTOCOL=tcp)(HOST=sales2-svr)(PORT=1521)))
(CONNECT_DATA=
(SERVICE_NAME=sales.us.example.com)))
For more information, please see the Oracle 12.1 documentation.
Please note that there are also timeouts for the Operating System and Application Server, but these are not covered in this article.