OIA+OIM: Import Users, Accounts, User Role Memberships and Entitlements
880385Sep 15 2011 — edited Oct 26 2011Hello, I am having trouble importing user data from OIM. Everything is synced pretty well and I have been able to import everything successfully except the users and their data. Everytime I do an import it sayd "Success : Imported 0 of 0 Users,Accounts,User Role Memberships and Entitlements". I am only importing data from one resource. I have also tried unchecking entitlements and role membership checkboxes but to no avail. When I check the logs I am seeing a lot of SQL errors. I have turned on the ibatis logging and am getting the following errors pertaining to importing users (There are more errors following but I figure this should be enough to go on for now):
18:05:23,474 DEBUG [DBIAMSolution] Importing Users
18:05:23,474 DEBUG [DefaultJobMonitor] MonitorMap{status=6, totalCount=0, currentCount=0, iamType=DATA IMPORT}
18:05:23,474 DEBUG [DefaultJobMonitor] MergedMap{status=6, totalCount=0, currentCount=0, iamType=DATA IMPORT}
18:05:23,474 DEBUG [IamDbUserImporterImpl] DBUsers Import Start ...
18:05:23,474 DEBUG [DBIAMSolution] publishing import starting event...
18:05:23,474 DEBUG [AuthenticationEventsListener] Listening application event
18:05:23,474 DEBUG [DefaultIAMListener] storing new ImportRun
18:05:23,474 DEBUG [IbatisObjectStorageManagerImpl] Storing AbstractDomainObject com.vaau.rbacx.iam.domain.ImportRun@2b69876
18:05:23,474 DEBUG [Connection] {conn-101408} Connection
18:05:23,474 DEBUG [Connection] {conn-101408} Preparing Statement: INSERT INTO IMPORT_RUNS (IMPORT_ID, SOURCE, IMPORT_TYPE, START_TIME, END_TIME, TOTAL_NUMBER_OF_RECORDS, NUMBER_OF_RECORDS_IMPORTED, NUMBER_OF_ERRORS, DESCRIPTION, IMPORTED_BY, SUCCESS, post_import_tasks) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
18:05:23,474 DEBUG [PreparedStatement] {pstm-101409} Executing Statement: INSERT INTO IMPORT_RUNS (IMPORT_ID, SOURCE, IMPORT_TYPE, START_TIME, END_TIME, TOTAL_NUMBER_OF_RECORDS, NUMBER_OF_RECORDS_IMPORTED, NUMBER_OF_ERRORS, DESCRIPTION, IMPORTED_BY, SUCCESS, post_import_tasks) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
18:05:23,474 DEBUG [PreparedStatement] {pstm-101409} Parameters: [66, OIM Staging Table, Users, 2011-09-15 18:05:23.474, null, 0, 0, 0, Users import from OIM Staging Table, BATCH, false, false]
18:05:23,474 DEBUG [PreparedStatement] {pstm-101409} Types: [java.lang.Long, java.lang.String, java.lang.String, java.sql.Timestamp, null, java.lang.Long, java.lang.Long, java.lang.Long, java.lang.String, java.lang.String, java.lang.Boolean, java.lang.Boolean]
18:05:23,474 DEBUG [PreAuthAwareAuthenticationProcessingFilter] checking to see if authentication is required for following URI --> /rbacx_staging/secure/dwr/call/plaincall/dwrSchedulerService.getJobStatus.dwr
18:05:23,474 DEBUG [PreAuthAwareAuthenticationProcessingFilter] Following URI --> /rbacx_staging/secure/dwr/call/plaincall/dwrSchedulerService.getJobStatus.dwr requires authentication = false
18:05:23,474 DEBUG [AuthenticationEventsListener] Listening application event
18:05:23,474 DEBUG [Connection] {conn-101410} Connection
18:05:23,474 DEBUG [Connection] {conn-101410} Preparing Statement: INSERT INTO IMPORT_RUN_STEPS (ID, IMPORT_RUN_ID, NAME, DESCRIPTION, START_TIME, END_TIME, INPUT_NAME, NUMBER_OF_INPUT_RECORDS, OUTPUT_NAME, NUMBER_OF_OUTPUT_RECORDS, NUMBER_OF_ERRORS, SUCCESS) VALUES ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
18:05:23,474 DEBUG [PreparedStatement] {pstm-101411} Executing Statement: INSERT INTO IMPORT_RUN_STEPS (ID, IMPORT_RUN_ID, NAME, DESCRIPTION, START_TIME, END_TIME, INPUT_NAME, NUMBER_OF_INPUT_RECORDS, OUTPUT_NAME, NUMBER_OF_OUTPUT_RECORDS, NUMBER_OF_ERRORS, SUCCESS) VALUES ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
18:05:23,474 DEBUG [PreparedStatement] {pstm-101411} Parameters: [66, 66, Import, Users import from OIM Staging Table , 2011-09-15 18:05:23.474, null, OIM Staging Table, 0, OIA Database , 0, 0, false]
18:05:23,474 DEBUG [PreparedStatement] {pstm-101411} Types: [java.lang.Long, java.lang.Long, java.lang.String, java.lang.String, java.sql.Timestamp, null, java.lang.String, java.lang.Long, java.lang.String, java.lang.Long, java.lang.Long, java.lang.Boolean]
18:05:23,474 DEBUG [Connection] {conn-101412} Connection
18:05:23,474 DEBUG [Connection] {conn-101412} Preparing Statement: SELECT * FROM IMPORT_RUN_STEPS WHERE ID = ?
18:05:23,474 DEBUG [PreparedStatement] {pstm-101413} Executing Statement: SELECT * FROM IMPORT_RUN_STEPS WHERE ID = ?
18:05:23,474 DEBUG [PreparedStatement] {pstm-101413} Parameters: [66]
18:05:23,474 DEBUG [PreparedStatement] {pstm-101413} Types: [java.lang.Long]
18:05:23,474 DEBUG [IamDbUserImporterImpl] Starting import run id ---> 66
18:05:23,474 DEBUG [Connection] {conn-101415} Connection
18:05:23,474 DEBUG [Connection] {conn-101415} Preparing Statement: select id from oia_staging_users
18:05:23,474 DEBUG [DataSourceInterceptor] Entering DataSourceInterceptor.invoke()
18:05:23,489 DEBUG [DataSourceInterceptor] Exiting DataSourceInterceptor invoke.
18:05:23,489 DEBUG [PreparedStatement] {pstm-101416} Executing Statement: select id from oia_staging_users
18:05:23,489 DEBUG [PreparedStatement] {pstm-101416} Parameters: []
18:05:23,489 DEBUG [PreparedStatement] {pstm-101416} Types: []
18:05:23,505 ERROR [IamDbUserManagerImpl] Problem retrieving IAM userIds from db
org.springframework.jdbc.BadSqlGrammarException: SqlMapClient operation; bad SQL grammar []; nested exception is com.ibatis.common.jdbc.exception.NestedSQLException:
--- The error occurred in com/vaau/rbacx/iam/db/dao/ibatis/maps/IamDbUser.xml.
--- The error occurred while applying a parameter map.
--- Check the findAllUserIds-InlineParameterMap.
--- Check the statement (query failed).
--- Cause: java.sql.SQLSyntaxErrorException: ORA-00942: table or view does not exist
at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:220)
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:72)
at org.springframework.orm.ibatis.SqlMapClientTemplate.execute(SqlMapClientTemplate.java:212)
at org.springframework.orm.ibatis.SqlMapClientTemplate.executeWithListResult(SqlMapClientTemplate.java:249)
at org.springframework.orm.ibatis.SqlMapClientTemplate.queryForList(SqlMapClientTemplate.java:296)
at org.springframework.orm.ibatis.SqlMapClientTemplate.queryForList(SqlMapClientTemplate.java:290)
at com.vaau.rbacx.iam.db.dao.ibatis.SqlMapIamDbUserDao.findAllUserIds(SqlMapIamDbUserDao.java:48)
at com.vaau.rbacx.iam.db.manager.IamDbUserManagerImpl.getUserIds(IamDbUserManagerImpl.java:48)
at com.vaau.rbacx.iam.db.helpers.IamDbUserImporterImpl.readUsers(IamDbUserImporterImpl.java:78)
at com.vaau.rbacx.iam.db.DBIAMSolution.doDataLoad(DBIAMSolution.java:547)
at com.vaau.rbacx.iam.db.DBIAMSolution.loadData(DBIAMSolution.java:284)
at com.vaau.rbacx.iam.service.impl.RbacxIAMServiceImpl.dataLoad(RbacxIAMServiceImpl.java:510)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
at $Proxy135.dataLoad(Unknown Source)
at com.vaau.rbacx.scheduling.executor.iam.DbIamJobExecutor.execute(DbIamJobExecutor.java:83)
at com.vaau.rbacx.scheduling.manager.providers.quartz.jobs.AbstractJob.execute(AbstractJob.java:72)
at org.quartz.core.JobRunShell.run(JobRunShell.java:202)...
Any help would be much appreciated.