SQL Queries to clean up connector related data

SQL Queries to clean up connector related data
 
I have freshly installed a active directory connector with OBJ_NAME ADTarget and I would like to clean up all the data related to this connector as I would run the reconciliation job to get all the data from Target system and the OIM system should be clean for that reconciliation job to run.

Below are the sql queries I had to run in case of cleaning up the connector related data. The order of executing these queries should be the same which is mentioned as below:


delete from sug where svr_key in (select svr_key from svr where svr_key in (select itresource_key from app_instance where object_key=(select obj_key from obj where obj_name = 'ADTarget)));

delete from svp where svr_key in (select svr_key from svr where svr_key in (select itresource_key from app_instance where object_key=(select obj_key from obj where obj_name ='ADTarget')));

delete from svr where svr_key in (select itresource_key from app_instance where object_key=(select obj_key from obj where obj_name = 'ADTarget'));

delete from ent_assign where oiu_key in (select oiu_key from oiu where app_instance_key in (select app_instance_key from app_instance where object_key=(select obj_key from obj where obj_name = 'ADTarget')));

delete from oiu where app_instance_key in (select app_instance_key from app_instance where object_key=(select obj_key from obj where obj_name = 'ADTarget'));

delete from app_instance where object_key=(select obj_key from obj where obj_name = 'ADTarget');

commit;

Loggers that are helpful to Debug an ADF Issue

Loggers that are helpful to Debug any ADF Issue in OIM

Set the following loggers to TRACE:32 level logging:

oracle.iam.identitytaskflow
oracle.iam.platform.canonic
oracle.iam.consoles.faces
oracle.iam.consoles.common
oracle.iam.transUI
Xellerate.WebApp

In other words for some more debugging:

<logger name='oracle.jbo' level='FINEST'/>
<logger name='oracle.adfdiagnostics' level='CONFIG'/>
<logger name='oracle.adf.model' level='FINEST'/>
<logger name='oracle.adf.view' level='FINE'/>
<logger name='oracle.adfinternal.view' level='FINE'/>

Note: Revert back to Notification as soon as you finish the debugging at runtime as these takes lot of space on the server.

Invalid signature file digest for Manifest main attributes

Issue on Connector Server while starting.

C:\connector_server_java-1.5.0\bin>ConnectorServer.bat /run
Exception in thread "main" java.lang.SecurityException: Invalid signature file digest for Manifest main attributes
at sun.security.util.SignatureFileVerifier.processImpl(SignatureFileVerifier.java:317)
at sun.security.util.SignatureFileVerifier.process(SignatureFileVerifier.java:259)
at java.util.jar.JarVerifier.processEntry(JarVerifier.java:323)
at java.util.jar.JarVerifier.update(JarVerifier.java:234)
at java.util.jar.JarInputStream.read(JarInputStream.java:212)
at java.util.zip.ZipInputStream.closeEntry(ZipInputStream.java:140)
at java.util.zip.ZipInputStream.getNextEntry(ZipInputStream.java:118)
at java.util.jar.JarInputStream.getNextEntry(JarInputStream.java:142)
at java.util.jar.JarInputStream.getNextJarEntry(JarInputStream.java:179)
at org.identityconnectors.framework.impl.api.local.LocalConnectorInfoManagerImpl.processURL(LocalConnectorInfoManagerImpl.java:199)
at org.identityconnectors.framework.impl.api.local.LocalConnectorInfoManagerImpl.expandBundles(LocalConnectorInfoManagerImpl.java:91)
at org.identityconnectors.framework.impl.api.local.LocalConnectorInfoManagerImpl.<init>(LocalConnectorInfoManagerImpl.java:72)
at org.identityconnectors.framework.impl.api.ConnectorInfoManagerFactoryImpl.getLocalManager(ConnectorInfoManagerFactoryImpl.java:81)
at org.identityconnectors.framework.server.impl.ConnectorServerImpl.start(ConnectorServerImpl.java:68)
at org.identityconnectors.framework.server.Main.run(Main.java:206)

Solution:
1) Check the folder structure of your connector server
2) Remove any other jars from bundles folder and keep only bundle jar in it.

In my case, somebody kept supporting jars as well in the same folder along with my bundle jar(org.identityconnectors.dbum-12.3.0.jar)



SQLServerException:This driver is not configured for integrated authentication

Seeing Error while provisioning to MSSQL Connector:

[ERROR] [] [ORACLE.IAM.CONNECTORS.ICFCOMMON.RECON.LOOKUPRECONTASK] [tid: OIMQuartzScheduler_Worker-4] [userId: oiminternal] [ecid: 73ac5db7-f9df-4987-82d4-b6bf434d2467-000000a6,0:296] [APP: oim] [partition-name: DOMAIN] [tenant-name: GLOBAL] oracle.iam.connectors.icfcommon.recon.LookupReconTask : execute : Error during execution[[
java.lang.RuntimeException: com.microsoft.sqlserver.jdbc.SQLServerException: This driver is not configured for integrated authentication. ClientConnectionId:0edda621-37af-41bb-89d8-3542d00f387b


Solution:
1) mssql-jdbc-<latest_version>.jar is missing
Note: check the jdk version for your target and oim.
If you are 11g then the jar must be compatible with jdk1.7 but if you are on 12c then it should be working be jdk1.8. same way check the jdk versions on your connector server and target database.
2) Register this jar on oim server using UploadJars utility
3) Give the reference of this jar in setDomainEnv.sh
POST_CLASSPATH="/opt/oracle/apps/OIM_Middleware/oracle_common/modules/thirdparty/mssql-jdbc-9.4.0.jre8.jar${CLASSPATHSEP}${POST_CLASSPATH}"
export POST_CLASSPATH
4) You need to give the below jars reference additionally.
POST_CLASSPATH="/opt/oracle/apps/OIM_Middleware/idm/server/ThirdParty/ojdbc8.jar${CLASSPATHSEP}${POST_CLASSPATH}"
export POST_CLASSPATH

POST_CLASSPATH="/opt/oracle/apps/OIM_Middleware/oracle_common/lib/ons.jar${CLASSPATHSEP}${POST_CLASSPATH}"
export POST_CLASSPATH


SEVERE: com/microsoft/sqlserver/jdbc/SQLServerDriver Version Issue

I am seeing error while provisioning to DBUM connector

org.identityconnectors.framework.impl.api.local.ConnectorPoolManager getPool2
INFO: Creating new pool: ConnectorKey( bundleName=org.identityconnectors.dbum bundleVersion=12.3.0 connectorName=org.identityconnectors.dbum.DBUMConnector )
org.identityconnectors.dbum.DBUMConnector init
INFO: Connection Properties are {integratedSecurity=true, database=QPulse6Training}
org.identityconnectors.framework.server.impl.ConnectionListener processOperationRequest
SEVERE: com/microsoft/sqlserver/jdbc/SQLServerDriver has been compiled by a more recent version of the Java Runtime (class file version 60.0), this version of the Java Runtime only recognizes class file versions up to 52.0
java.lang.UnsupportedClassVersionError: com/microsoft/sqlserver/jdbc/SQLServerDriver has been compiled by a more recent version of the Java Runtime (class file version 60.0), this version of the Java Runtime only recognizes class file versions up to 52.0

Solution:
1) Check the version of the jar required for your target
mssql-jdbc-<latest_version>.jar
Note: check the jdk version for your target and oim.
If you are 11g then the jar must be compatible with jdk1.7 but if you are on 12c then it should be working be jdk1.8. same way check the jdk versions on your connector server and target database.
2) Register this jar on oim server using UploadJars utility
3) Give the reference of this jar in setDomainEnv.sh
POST_CLASSPATH="/opt/oracle/apps/OIM_Middleware/oracle_common/modules/thirdparty/mssql-jdbc-9.4.0.jre8.jar${CLASSPATHSEP}${POST_CLASSPATH}"
export POST_CLASSPATH
4) If you have connector server, make sure you have this latest jar enclosed in the bundle on the connector server as well.

Basic Perfomance Tuning For stuck threads and response times

Documentation for performance tuning: https://docs.oracle.com/en/middleware/fusion-middleware/12.2.1.4/asper/redundant-cross-references-remo...