Hi @rishavghoshacc
Greetings!
The iiq.properties file is not configured correctly. Please ensure that all three database connection details are updated accurately.
Ensure the following three connection settings are present in your iiq.properties file, as shown in the sample below.
dataSource.url (identityiq)
pluginsDataSource.url (identityiqPlugin)
dataSourceAccessHistory.url (identityiqah)
I recommend starting from scratch using a fresh/default iiq.properties file. Please refer to the file below and update it according to your environment.
##### iiq.properties #####
#
# (c) Copyright 2008 SailPoint Technologies, Inc., All Rights Reserved.
#
# This file contains configuration settings for IdentityIQ. For your unique
# environment, you will need to adjust the properties below.
#
# IdentityIQ can either create its own datasource or use a datasource that is
# managed by an application server. Depending on the type of database being
# used, you will need to do the following:
#
# 1) Uncomment the correct sessionFactory.hibernateProperties.hibernate.dialect
# and ensure that all other dialects are commented out.
# 2) If using MS SQL Server, also uncomment the quartz properties:
# scheduler.quartzProperties.org.quartz.jobStore.driverDelegateClass and
# scheduler.quartzProperties.org.quartz.jobStore.selectWithLockSQL.
#
#
# IDENTITYIQ MANAGED DATASOURCES ONLY
#
# In addition to the steps above, if IdentityIQ is creating its own datasource
# (ie - not using an application server managed datasource), you will need to
# perform the following steps:
#
# 1) Modify dataSource.username and dataSource.password to include the username
# and password of the database user. The password may be an encrypted using
# the "encrypt" command when running "iiq console".
# 2) Configure the dataSource.url to connect to the database, and uncomment the
# appropriate dataSource.driverClassName.
# 3) Optionally configure other connection pool settings.
#
#
# APPLICATION SERVER MANAGED DATASOURCES ONLY
#
# In addition to the steps above, if IdentityIQ is using an application server
# managed datasource, you will need to perform the following steps:
#
# 1) Configure the datasource in your application server. This usually involves
# putting the JDBC driver jar file in a common location and configuring
# properties for your database connection and pool settings. Consult the
# documentation for the application server for more information. Also,
# ensure that the JDBC driver jar file is not in the WEB-INF\lib directory
# of the IdentityIQ web application.
# 2) Change jndiDataSource.jndiName to point to the location in JNDI in which
# the datasource is stored.
# 3) Change configuredDataSource.targetBeanName to "jndiDataSource".
# 7.1 update: at the moment targetBeanName doesn't work after the Spring upgrade
# you must edit the <alias> definition in configBeans.xml
#
##### Application Server Managed Data Source Properties #####
# Depending on the app server, the "java:comp/env/" may not be required.
jndiDataSource.jndiName=java:comp/env/jdbc/testDataSource
# Set to "jndiDataSource" to use an app server managed datasource. Otherwise
# leave the default value "dataSource".
configuredDataSource.targetBeanName=dataSource
# These settings are for the activemq broker. At this time this should remain
# set to type activemq. This is only needed for running an embedded message
# broker within IdentityIQ, and is ignored when the message broker is external
messageServiceFactory.type=activemq
activeMQMessageServiceManager.brokerUri=tcp://0.0.0.0:61616?transport.trace=true&transport.soTimeout=10000
activeMQMessageServiceManager.activemqLocker=org.apache.activemq.store.jdbc.LeaseDatabaseLocker
# ActiveMQ Broker System Usage limit sizing in Megabytes
activeMQMessageServiceManager.memoryLimit=1024
activeMQMessageServiceManager.storeLimit=100000
activeMQMessageServiceManager.tempLimit=50000
##### Data Source Properties #####
dataSource.maxWaitMillis=10000
dataSource.maxTotal=50
dataSource.minIdle=5
#dataSource.minEvictableIdleTimeMillis=300000
#dataSource.maxOpenPreparedStatements=-1
dataSource.username=identityiq
dataSource.password=identityiq
##### MySQL/Aurora (without SSL) #####
## URL Format: dataSource.url=jdbc:mysql://<host_name>:<port>/<dbname>?useServerPrepStmts=true&tinyInt1isBit=true&useSSL=false&characterEncoding=UTF-8&characterEncoding=UTF-8&serverTimezone=UTC
## if the client timezone is not UTC, adding the JDBC option 'serverTimezone=UTC' will cause MySQL to behave
## differently with regard to TIMESTAMP fields. See IdentityIQ Installation Guide for more details.
#dataSource.url=jdbc:mysql://localhost/identityiq?useServerPrepStmts=true&tinyInt1isBit=true&useSSL=false&characterEncoding=UTF-8&serverTimezone=UTC
#dataSource.driverClassName=com.mysql.cj.jdbc.Driver
#sessionFactory.hibernateProperties.hibernate.dialect=org.hibernate.dialect.MySQL57Dialect
#activeMQMessageServiceManager.activemqJdbcAdapter=org.apache.activemq.store.jdbc.adapter.MySqlJDBCAdapter
##### MySQL/Aurora (SSL) #####
## URL Format: dataSource.url=jdbc:mysql://<host_name>:<port>/<dbname>?useServerPrepStmts=true&tinyInt1isBit=true&characterEncoding=UTF-8&serverTimezone=UTC
## -- Contact your MySQL DBA to determine if any additional SSL-related connection parameters are needed.
####
#dataSource.url=jdbc:mysql://localhost/identityiq?useServerPrepStmts=true&tinyInt1isBit=true&characterEncoding=UTF-8&serverTimezone=UTC
#dataSource.driverClassName=com.mysql.cj.jdbc.Driver
#sessionFactory.hibernateProperties.hibernate.dialect=org.hibernate.dialect.MySQL57Dialect
#activeMQMessageServiceManager.activemqJdbcAdapter=org.apache.activemq.store.jdbc.adapter.MySqlJDBCAdapter
##### p6spy #####
## You also need to modify spy.properties driverlist property
#dataSource.url=jdbc:p6spy:mysql://localhost/identityiq?useServerPrepStmts=true&tinyInt1isBit=true&useSSL=false&characterEncoding=UTF-8&serverTimezone=UTC
#dataSource.url=jdbc:p6spy:oracle:thin:@localhost:1521:identityiq
#dataSource.url=jdbc:p6spy:sqlserver://localhost:1433;databaseName=identityiq;
#dataSource.url=jdbc:p6spy:db2://localhost:50000/iiq
#dataSource.url=jdbc:p6spy:postgresql://localhost:5432/identityiq
#dataSource.driverClassName=com.p6spy.engine.spy.P6SpyDriver
##### Oracle #####
## URL Format: dataSource.url=jdbc:oracle:<drivertype>:<username/password>@<database>:<port>:<sid>
#dataSource.url=jdbc:oracle:thin:@localhost:1521:identityiq
#dataSource.driverClassName=oracle.jdbc.driver.OracleDriver
#sessionFactory.hibernateProperties.hibernate.dialect=org.hibernate.dialect.Oracle12cDialect
#activeMQMessageServiceManager.activemqJdbcAdapter=org.apache.activemq.store.jdbc.adapter.OracleJDBCAdapter
##### MSSQL Server #####
## URL Format: dataSource.url=jdbc:sqlserver://[serverName[\instanceName][:portNumber]][;property=value[;property=value]]
dataSource.url=jdbc:sqlserver://localhost:1433;databaseName=identityiq;encrypt=false;
dataSource.driverClassName=com.microsoft.sqlserver.jdbc.SQLServerDriver
sessionFactory.hibernateProperties.hibernate.dialect=sailpoint.persistence.SQLServerUnicodeDialect
scheduler.quartzProperties.org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.MSSQLDelegate
scheduler.quartzProperties.org.quartz.jobStore.selectWithLockSQL=SELECT * FROM {0}LOCKS UPDLOCK WHERE LOCK_NAME = ?
activeMQMessageServiceManager.activemqJdbcAdapter=org.apache.activemq.store.jdbc.adapter.TransactJDBCAdapter
##### IBM DB2 #####
## URL Format: dataSource.url=jdbc:db2://<host_name>:<port_number>/<database_name>
#dataSource.url=jdbc:db2://localhost:50000/iiq
#dataSource.driverClassName=com.ibm.db2.jcc.DB2Driver
#sessionFactory.hibernateProperties.hibernate.dialect=org.hibernate.dialect.DB297Dialect
#activeMQMessageServiceManager.activemqJdbcAdapter=org.apache.activemq.store.jdbc.adapter.DB2JDBCAdapter
##### PostgreSQL #####
## URL Format: dataSource.url=jdbc:postgresql://<host_name>:<port_number>/<database_name>
#dataSource.url=jdbc:postgresql://localhost:5432/identityiq
#dataSource.driverClassName=org.postgresql.Driver
#sessionFactory.hibernateProperties.hibernate.dialect=org.hibernate.dialect.PostgreSQL10Dialect
#scheduler.quartzProperties.org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.PostgreSQLDelegate
#activeMQMessageServiceManager.activemqJdbcAdapter=sailpoint.messagebus.impl.PostgresqlJDBCAdapter
##### Plugins ####
# Determines whether or not plugins are enabled, change
# to false if plugins should be disabled globally
plugins.enabled=true
# Determines if SQL scripts should be executed dynamically
# at the time a plugin is installed, upgraded or uninstalled
plugins.runSqlScripts=true
# Determines if XML object files should be imported dynamically
# at the time a plugin is installed, upgraded or uninstalled
plugins.importObjects=true
# Determines if the global SailPoint angular bundle will be used when
# there are snippets on a page
plugins.angularSnippetEnabled=false
##### Application Server Managed Plugins Data Source Properties #####
# Depending on the app server, the "java:comp/env/" may not be required.
jndiPluginsDataSource.jndiName=java:comp/env/jdbc/testPluginsDataSource
# Set to "jndiPluginsDataSource" to use an app server managed datasource. Otherwise
# leave the default value "pluginsDataSource".
configuredPluginsDataSource.targetBeanName=pluginsDataSource
##### Plugins Data Source Properties #####
pluginsDataSource.maxWaitMillis=10000
pluginsDataSource.maxTotal=50
pluginsDataSource.minIdle=5
#pluginsDataSource.minEvictableIdleTimeMillis=300000
#pluginsDataSource.maxOpenPreparedStatements=-1
pluginsDataSource.username=identityiqPlugin
pluginsDataSource.password=identityiqPlugin
##### MySQL (without SSL) #####
## URL Format: dataSource.url=jdbc:mysql://<host_name>:<port>/<dbname>?useServerPrepStmts=true&tinyInt1isBit=true&useSSL=false&characterEncoding=UTF-8&serverTimezone=UTC
#pluginsDataSource.url=jdbc:mysql://localhost/identityiqPlugin?useServerPrepStmts=true&tinyInt1isBit=true&useSSL=false&characterEncoding=UTF-8&serverTimezone=UTC
#pluginsDataSource.driverClassName=com.mysql.cj.jdbc.Driver
##### MySQL (SSL) #####
## URL Format: dataSource.url=jdbc:mysql://<host_name>:<port>/<dbname>?useServerPrepStmts=true&tinyInt1isBit=true&characterEncoding=UTF-8&serverTimezone=UTC
## -- Contact your MySQL DBA to determine if any additional SSL-related connection parameters are needed.
####
#pluginsDataSource.url=jdbc:mysql://localhost/identityiqPlugin?useServerPrepStmts=true&tinyInt1isBit=true&characterEncoding=UTF-8&serverTimezone=UTC
#pluginsDataSource.driverClassName=com.mysql.cj.jdbc.Driver
##### p6spy #####
## You also need to modify spy.properties driverlist property
#pluginsDataSource.url=jdbc:p6spy:mysql://localhost/identityiqPlugin?useServerPrepStmts=true&tinyInt1isBit=true&useSSL=false&characterEncoding=UTF-8&serverTimezone=UTC
#pluginsDataSource.url=jdbc:p6spy:oracle:thin:@localhost:1521:identityiqPlugin
#pluginsDataSource.url=jdbc:p6spy:sqlserver://localhost:1433;databaseName=identityiqPlugin
#pluginsDataSource.url=jdbc:p6spy:db2://localhost:50000/iiq_pl
#pluginsDataSource.url=jdbc:p6spy:postgresql://localhost:5432/identityiqPlugin
#pluginsDataSource.driverClassName=com.p6spy.engine.spy.P6SpyDriver
##### Oracle #####
## URL Format: dataSource.url=jdbc:oracle:<drivertype>:<username/password>@<database>:<port>:<sid>
#pluginsDataSource.url=jdbc:oracle:thin:@localhost:1521:identityiqPlugin
#pluginsDataSource.driverClassName=oracle.jdbc.driver.OracleDriver
##### MSSQL Server #####
## URL Format: dataSource.url=jdbc:sqlserver://[serverName[\instanceName][:portNumber]][;property=value[;property=value]]
pluginsDataSource.url=jdbc:sqlserver://localhost:1433;databaseName=identityiqPlugin;encrypt=false;
pluginsDataSource.driverClassName=com.microsoft.sqlserver.jdbc.SQLServerDriver
##### IBM DB2 #####
## URL Format: dataSource.url=jdbc:db2://<host_name>:<port_number>/<database_name>
#pluginsDataSource.url=jdbc:db2://localhost:50000/iiq_pl
#pluginsDataSource.driverClassName=com.ibm.db2.jcc.DB2Driver
##### PostgreSQL #####
## URL Format: dataSource.url=jdbc:postgresql://<host_name>:<port_number>/<database_name>
#pluginsDataSource.url=jdbc:postgresql://localhost:5432/identityiqPlugin
#pluginsDataSource.driverClassName=org.postgresql.Driver
##### Access History ####
##### Data Source Properties for Access History #####
dataSourceAccessHistory.maxWaitMillis=10000
dataSourceAccessHistory.maxTotal=50
dataSourceAccessHistory.minIdle=5
#dataSourceAccessHistory.minEvictableIdleTimeMillis=300000
#dataSourceAccessHistory.maxOpenPreparedStatements=-1
dataSourceAccessHistory.username=identityiqah
dataSourceAccessHistory.password=identityiqah
##### MySQL/Aurora (without SSL) #####
#dataSourceAccessHistory.url=jdbc:mysql://localhost/identityiqah?useServerPrepStmts=true&tinyInt1isBit=true&useSSL=false&characterEncoding=UTF-8&serverTimezone=UTC
#dataSourceAccessHistory.driverClassName=com.mysql.cj.jdbc.Driver
#sessionFactoryAccessHistory.hibernateProperties.hibernate.dialect=org.hibernate.dialect.MySQL57Dialect
##### MySQL/Aurora (SSL) #####
## URL Format: dataSource.url=jdbc:mysql://<host_name>:<port>/<dbname>?useServerPrepStmts=true&tinyInt1isBit=true&characterEncoding=UTF-8&serverTimezone=UTC
## -- Contact your MySQL DBA to determine if any additional SSL-related connection parameters are needed.
####
#dataSourceAccessHistory.url=jdbc:mysql://localhost/identityiqah?useServerPrepStmts=true&tinyInt1isBit=true&characterEncoding=UTF-8&serverTimezone=UTC
#dataSourceAccessHistory.driverClassName=com.mysql.cj.jdbc.Driver
#sessionFactoryAccessHistory.hibernateProperties.hibernate.dialect=org.hibernate.dialect.MySQL57Dialect
##### Oracle #####
## URL Format: dataSource.url=jdbc:oracle:<drivertype>:<username/password>@<database>:<port>:<sid>
#dataSourceAccessHistory.url=jdbc:oracle:thin:@localhost:1521:identityiqah
#dataSourceAccessHistory.driverClassName=oracle.jdbc.driver.OracleDriver
#sessionFactoryAccessHistory.hibernateProperties.hibernate.dialect=org.hibernate.dialect.Oracle12cDialect
##### MSSQL Server #####
## URL Format: dataSource.url=jdbc:sqlserver://[serverName[\instanceName][:portNumber]][;property=value[;property=value]]
dataSourceAccessHistory.url=jdbc:sqlserver://localhost:1433;databaseName=identityiqah;encrypt=false;
dataSourceAccessHistory.driverClassName=com.microsoft.sqlserver.jdbc.SQLServerDriver
sessionFactoryAccessHistory.hibernateProperties.hibernate.dialect=sailpoint.persistence.SQLServerUnicodeDialect
##### IBM DB2 #####
## URL Format: dataSource.url=jdbc:db2://<host_name>:<port_number>/<database_name>
#dataSourceAccessHistory.url=jdbc:db2://localhost:50000/iiq_ah
#dataSourceAccessHistory.driverClassName=com.ibm.db2.jcc.DB2Driver
#sessionFactoryAccessHistory.hibernateProperties.hibernate.dialect=org.hibernate.dialect.DB297Dialect
##### PostgreSQL #####
## URL Format: dataSource.url=jdbc:postgresql://<host_name>:<port_number>/<database_name>
#dataSourceAccessHistory.url=jdbc:postgresql://localhost:5432/identityiqah
#dataSourceAccessHistory.driverClassName=org.postgresql.Driver
#sessionFactoryAccessHistory.hibernateProperties.hibernate.dialect=org.hibernate.dialect.PostgreSQL10Dialect
#
# Settings for the ruleRunner and its pool
#
ruleRunner.maxPoolReuse=1000
ruleRunnerPoolConfig.maxTotal=-1
ruleRunnerPoolConfig.maxTotalPerKey=8
ruleRunnerPoolConfig.maxIdlePerKey=8
ruleRunnerPoolConfig.minIdlePerKey=0
##### Hibernate Listener Service Thread Pool Settings ######
# if this is false then the listeners will not be registered.
# if AI is installed this should probably be set to true.
hibernateListenerServiceConfig.hibernateListenerEnabled=true
# number of threads that will always be alive
hibernateListenerServiceConfig.coreThreads=10
# max number of threads that can be running if there is a high load
hibernateListenerServiceConfig.maxThreads=20
# how long in milliseconds extra threads will sit idle before scaling back down to the core number
hibernateListenerServiceConfig.keepAliveTime=10000
# how many changes can be queued up for the threads to work on
hibernateListenerServiceConfig.queueSize=10000
##### BundleProfileRelation Listener Service Thread Pool Settings ######
# number of threads that will always be alive
bundleProfileRelationListenerServiceConfig.coreThreads=10
# max number of threads that can be running if there is a high load
bundleProfileRelationListenerServiceConfig.maxThreads=20
# how long in milliseconds extra threads will sit idle before scaling back down to the core number
bundleProfileRelationListenerServiceConfig.keepAliveTime=10000
# how many changes can be queued up for the threads to work on
bundleProfileRelationListenerServiceConfig.queueSize=10000
##### Debug Settings #####
# Uncomment to send all SQL queries to std out. This provides a lot of output
# and slows down execution, so use it wisely.
#sessionFactory.hibernateProperties.hibernate.show_sql=true
# Hibernate Transaction Isolation Levels
# 1 = Read Uncommitted, 2 = Read Committed, 4 = Repeatable Read, 8 = Serializable
#sessionFactory.hibernateProperties.hibernate.connection.isolation=1
#
# IIQ Keystore and Master Password properties
#
# file location of the IIQ keystore
# (override of the default $SPHOME/WEB-INF/classes/iiq.dat )
#
#keyStore.file = /example/path/filename
# file location of the IIQ master password file
# (override of the default $SPHOME/WEB-INF/classes/iiq.cfg )
#
#keyStore.passwordFile = /example/path/filename
# Enable caching in the keystore
# (default is false or no caching )
#
#keyStore.cache = true
Additional troubleshooting steps:
- Verify that the correct driver file is located in the
..\webapps\identityiq\WEB-INF\lib folder.
- Ensure the default schema on the database side is correct for both
identityiq and identityiqah
if you have admin permission on your database, can you login to your database and run the command
ALTER USER identityiq WITH DEFAULT_SCHEMA = identityiq;
- additional settings to give a try in connection
url
encrypt=false; – Non-Production
integratedSecurity=true;encrypt=false; – Non-Production
Mark the Solution: Help the community by marking the correct comment as the Solution.
Show appreciation: Feel free to react with an emoji (
,
, etc.) to let others know the post was helpful.
Need more help? Message me directly if your issue requires a deeper dive.