Configure Default User Search to User Login attribute

In OIM 12c, The user search is by default comes with Display Name and Everytime you login and look for the user you have to select User Login from drop-down, to make this user search to User Login permanently follow the below mentioned steps:

1)      Take the backup of the oracle.iam.ui.view.war from the OIM Server location                 /idm/server/apps

2)      Copy the war at desktop

3)      Follow the below process to make the change in the war file.

To change this functionality you will need to customize the following file where the labels are set for defining default values: iam/iam-product/consoles/Identity/ManageUsersUI/adfmsrc/oracle/iam/ui/manageusers/pages/search_usersPageDef.xml

This file which is part of adflibManageUsersUI.jar which is is located in OIM_HOME\server\apps\oracle.iam.ui.view.war

Extract the jar file ,navigate to oracle.iam.ui - manageusers - pages - search_usersPageDef.xml .

In this the following section sets the default search attribute viz "DefaultQuickSearchAttrName" :

From:

<executables>

    <iterator Binds="UserVO1" RangeSize="25"
              DataControl="ManageUsersAMDataControl" id="UserVO1Iterator"/>
    <searchRegion Criteria="UserVOCriteria"
                  Customizer="oracle.jbo.uicli.binding.JUSearchBindingCustomizer"
                  Binds="UserVO1Iterator" id="UserVOCriteriaQuery"
                  InitialQueryOverridden="false"
                  DefaultQuickSearchAttrName="displayName"/>
  </executables>


To-


  <executables>
    <iterator Binds="UserVO1" RangeSize="25"
              DataControl="ManageUsersAMDataControl" id="UserVO1Iterator"/>
    <searchRegion Criteria="UserVOCriteria"
                  Customizer="oracle.jbo.uicli.binding.JUSearchBindingCustomizer"
                  Binds="UserVO1Iterator" id="UserVOCriteriaQuery"
                  InitialQueryOverridden="false"
                  DefaultQuickSearchAttrName="userLogin"/>
  </executables>


4)   Save it

5)   Copy the updated oracle.iam.ui.view.war in persistent volume location

6)   Login to weblogic console

7)   Click on deployments

8)   Lock and Edit

9)   Look for oracle.iam.ui.view

10)  Select the checkbox and click on update

11)  Click on change path

12)  And select the updated war from persistent volume location which is /u01/oracle/user_projects

13)  Click on Next

14)  Click on Next

15)  Click on Next

16)  Finish

17)  Click on Activate changes

18)  Ignore the Error

19)  Click on Activate Changes again.

20)  Restart the servers.

21)  Check if you see user login by default search.

Process to clean an unused process task in OIM process definition

Process to clean an unused process task in OIM process definition

OIM Tables used while clean up and it’s meanings:

MIL -Table stores task information
TOS -Holds information about a process.
EVT -Defines event handlers by providing a the process and class name. In addition the scheduling time of when the event handler can execute is set to pre (insert, update, delete) or post (insert, update, delete).
ADP -Defines an adapter created through the Adapter Factory.
DEP -Dependencies Among Tasks Within A Workflow Process.
MAV -Stores the runtime data mappings for ‘Process Task’ adapters. The data source being a process form, Location, User, Organization, Process, IT Resource, or Literal data.
MEV -E-mail notification events.
MSG -Defines the user groups that have permission to set the status of a process task.
MST -Task Status And Object Status Information. Holds All The Task Status To Object Status Mappings.
OSI -Holds information about tasks that are created for an order.
OSI_RESTORE - Table does not exists
OTI -Holds specific information such as status or scheduled dates about an instance of a task which are in Pending(Provisioning/Approval tasks ) and Rejected (Provisioning tasks) status buckets.
RGM -Table for Response Code Generated Milestones.
UNM -“UnDo Milestone” Feature.
RSC -Defines The All The Possible Response Code For A Process Task.
RVM -Holds Recovery Milestones.
RML -Rules To Apply To Task, Defines The Task Assignment Rules Attached To A Process Task.
 
 

Steps to delete these tasks with the sql queries running from OIM Database:

 
NOTE: This is not recommended doing in the higher environments as running sql queries from OIM database directly is not recommended.

Get the MIL_KEY from the task name that needs to be deleted:
select * from MIL where MIL_NAME='<Task_Name to be deleted>';
select * from MIL where MIL_KEY='';

Run the following queries and record the number of rows returned by each query:
select * from EVT where EVT_KEY in (select EVT_KEY from MIL where MIL_KEY='');
select * from ADP where EVT_KEY in (select EVT_KEY from MIL where MIL_KEY='');
select * from DEP where MIL_KEY='';
select * from MAV where MIL_KEY='';
select * from MEV where MIL_KEY='';
select * from MSG where MIL_KEY='';
select * from MST where MIL_KEY='';
select * from OFFLINE_USER_ATTRIBUTES where MIL_KEY='';
select * from OSI where MIL_KEY='';
select * from OSI_RESTORE where MIL_KEY='';
select * from OTI where MIL_KEY='';
select * from RGM where MIL_KEY='';
select * from RML where MIL_KEY='';
select * from RSC where MIL_KEY='';
select * from RVM where MIL_KEY='';
select * from UNM where MIL_KEY='';


Clean the data found from the above queries returned:
delete from OSI where MIL_KEY='';
delete from RSC where MIL_KEY='';

Now, Login to design console to delete the task manually.

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...