If you want to load large number of data into OIM, you can use the oimbulkload utility provided by OIM to automate these tasks. Using the oimbulkload utility we can load the data like OIM users, accounts allocated (provisioned) to OIM Users, roles, role hierarchies, role memberships, or role categories .
Data can be loaded to use OIM after the installation or in an already running environment. When running the utility to load users to OIM, a dummy password will be copied to users and hence when they login for the first time, password change will be enforced.
Bulk load utility in OIM11GR2 is available in the following location in OIM Server, MIDDLEWARE_HOME/Oracle_IDM1/server/db/oim/oracle/Utilities/oimbulkload.
The following directories are present in the oimbulkload utility directory,
Sqls: This directory contains SQL scripts used during bulk load operations.
Scripts: This directory contains the .sh and .bat scripts used during bulk load operations.Execute these scripts to start the bulk import.
csv_files: we need to copy the csv files with the data in this directory.
lib: The directory contains the oimBulkLoad.jar file.
sample_data: This directory contains the sample CSV files. You can refer this csv files to see how the data needs to be stored in the input source csv files.
The steps to load the OIM user data from csv file is explained below,
Prerequisites to run the bulkload utility in OIM11gR2
Temporary table Space
While running the script, the script will create few temporary tables.
OIM_BLKLD_TMP_SUFFIX : The script will first loads data from the CSV file into this table
OIM_BLKLD_EX_SUFFIX : This table is used to hold data records that fail (are not loaded into Oracle Identity Manager) during a bulk load operation.
OIM_BLKLD_LOG : The utility inserts progress and error messages in the OIM_BLKLD_LOG table.
You can use either default OIM table space or separate table space to store these temporary tables. It is recommended to create and use a separate tablespace to store these temporary tables. If you want to use the OIM default table space, add space to this data file. You can add data file to oim database table space by running the oim_blkld_setup.sql script as explained below,
Login to OIM database as sysdba
Execute the oim_blkld_setup.sql
Enter the OIM default table space name
Name and full path of the data file to be added in OIM Database
Enter the OIM database username
Create OIM user to copy password
Login to OIM server and create a new user. This password for this user will be copied as the default password for all the users created by oimbulkload utility.
Steps to Execute oimbulkload utility in OIM11gR2
You can run oimbulkload utility from a remote host or from OIM database server or from the OIM Server. To run it from remote host or OIM database server, copy the oimbulkupload folder from MIDDLEWARE_HOME/Oracle_IDM1/server/db/oim/oracle/Utilities to the server from which you want to execute the utility.
Firstly create the csv file in the csv_files directory with the user data to be loaded. Sample csv file content is as shown below,
Create a file master.txt in csv_files and enter the name of csv file created in the previous steps. If you have more than one csv files to be loaded then enter the csv file names in the sequence in which you want to load them in to OIM.
Stop OIM server.
Navigate to oimbulkload/scripts directory and execute ./oim_blkld.sh
From the main menu select the option depending up on the data you want to load. Select 1 to load user data.
Select csv file from the second menu as we are loading data from csv file
Enter the following details when prompted
ORACLE_HOME, Database Connection String , OIM DB User, OIM DB password, Master file name, Date Format, Batch Size ,log messages required and Sample Test user name as shown in the below screenshot
The oimbulkload operation will start and it will take time depending upon the number of users imported
Navigate to the log file mentioned in the status screen to see the oimbulkload summary .
Fix the issues with failed users and execute the utility again to load the failed users .