Wednesday, 13 January 2016

Count of the task that’s been retried for that user.

select count(*) from osi where orc_key='%INST_KEY%' and mil_key='%TASK_KEY%'

Query to get the user list for which the task is getting failed based onm date

SELECT distinct USR.USR_LOGIN as UserLogin,OIU.ORC_KEY as ProcessInstKey,MIL.MIL_NAME,OBJ.OBJ_NAME,MIL.MIL_key as taskKey FROM OSI,SCH,STA,MIL,TOS,PKG,OIU,USR,OBJ,OST WHERE OSI.MIL_KEY=MIL.MIL_KEY AND SCH.SCH_KEY=OSI.SCH_KEY AND STA.STA_STATUS=SCH.SCH_STATUS AND TOS.PKG_KEY=PKG.PKG_KEY    AND MIL.TOS_KEY=TOS.TOS_KEY         AND OIU.USR_KEY=USR.USR_KEY      AND OIU.OST_KEY=OST.OST_KEY         AND OST.OBJ_KEY=OBJ.OBJ_KEY       AND OSI.ORC_KEY=OIU.ORC_KEY        AND OBJ.OBJ_NAME in (%RESOURCE_NAME%) AND OST.OST_STATUS in ('Provisioned','Enabled') AND STA.STA_BUCKET = 'Rejected' and STA.STA_BUCKET not in ('Completed') AND MIL_NAME in (%TASK_NAME%) AND trunc(OIU.OIU_UPDATE) = trunc(sysdate-%DATE_DIFF%)

Value Change listener when creating UDF in OIM

For Create and Modify page
valueChangeListener="#{pageFlowScope.cartDetailStateBean.attributeValueChangedListener}"
For MyInformation page.
valueChangeListener="#{backingBeanScope.MyInformationUIBean.valueChanged}"

Friday, 8 January 2016

Weblogic custom Webservice access issue

Issue::
The custom OIM webservice is deployed in OIM successfully.

On invoking the sebservice,it was not able to read the credential store created for the custom webservice.

Error::

, Cache-Hit: true, Permissions Cached: false, RESULT: false>
java.security.AccessControlException: access denied (oracle.security.jps.service.credstore.CredentialAccessPermission context=SYSTEM,mapName=OIM_WS,keyName=WS_CREDENTIALS read)
        at java.security.AccessControlContext.checkPermission(AccessControlContext.java:374)



Fix:

1.Login to EM console
2.Navigate to Weblogic domain
3.Navigate to IAM_DOMAIN-->SECURITY-->SYSTEM POLICIES
4.Add the Name, CodeBase and permission for the custom WebserviceCreated.

NAME::file:${domain.home}/servers/${weblogic.Name}/tmp/_WL_user/OIGDynamicWS/fo01e1/war/WEB-INF/lib/_wl_cls_gen.jar

RESOURCE::oracle.security.jps.service.credstore.CredentialAccessPermission
PERMISSIONCLASS::context=SYSTEM,mapName=OIM_WS,keyName=WS_CREDENTIALS


Query To update the ApplicationInstance to revoked

update OIU set OIU.OST_KEY=(select OST.OST_KEY from OST,OBJ where
OST.OBJ_KEY=OBJ.OBJ_KEY
AND OBJ.OBJ_NAME=(select OBJ_NAME from OBJ where OBJ_KEY =(select app.OBJECT_KEY from APP_INSTANCE app where APP_INSTANCE_DISPLAY_NAME='OUD'))
AND OST_STATUS='Revoked') where OIU.USR_KEY IN(select OIU.USR_KEY from OIU where
OIU.APP_INSTANCE_KEY=(select APP_INSTANCE_KEY from APP_INSTANCE where APP_INSTANCE_DISPLAY_NAME='OUD')
AND OIU.OST_KEY=(select OST.OST_KEY from OST,OBJ where
OST.OBJ_KEY=OBJ.OBJ_KEY
AND OBJ.OBJ_NAME=(select OBJ_NAME from OBJ where OBJ_KEY =(select app.OBJECT_KEY from APP_INSTANCE app where APP_INSTANCE_DISPLAY_NAME='OUD'))
AND OST_STATUS='Provisioned')) and OIU.APP_INSTANCE_KEY=(select APP_INSTANCE_KEY from APP_INSTANCE where APP_INSTANCE_DISPLAY_NAME='OUD');

Query to get the OIM process Task failure Count and its failure reason

select ml.MIL_NAME, ml.MIL_KEY,count(*) cnt
from MIL ml, OSI os, SCH sc
where
ml.MIL_KEY = os.MIL_KEY
and os.SCH_KEY = sc.SCH_KEY
and sc.SCH_STATUS = 'R'
and os.osi_retry_counter > 0
--and os.osi_retry_on >= sysdate - 15
group by ml.mil_name, ml.mil_key
order by cnt desc


Task failure reason

select ml.mil_name, ml.mil_key, os.orc_key,usr.usr_login,sc.sch_reason,count(*) cnt
from MIL ml, OSI os, SCH sc, oiu oiu, usr usr
where
 os.orc_key = oiu.orc_key
and oiu.usr_key=usr.usr_key
and  ml.MIL_KEY = '82'
and ml.MIL_KEY = os.MIL_KEY
and os.SCH_KEY = sc.SCH_KEY
and sc.sch_status = 'R'
group by ml.MIL_NAME, ml.MIL_KEY, os.orc_key,usr.usr_login,sc.sch_reason
order by cnt asc

OIM retry data query

SELECT * 
FROM OTI 
WHERE orc_key IN 
  (SELECT orc_key 
  FROM oiu 
  WHERE oiu_create      > sysdate -6 
  AND app_instance_key           IN ('12','13','11') 
  )

Query to update response code in Process task

In OIM,once a task is assigned to any user,its not possible to change the response in process task.

The folloing query can be used to update the response code via DB

select * from SCH;

select * from RSC where mil_key='19766';

select * from MIL where MIL_NAME='Create User' and tos_key='1673';

select * from TOS where PKG_KEY=(select PKG_KEY from PKG where PKG_NAME='Tesdsfdfgdgds');

select * from mil where mil_key='19766';

select * from tos;

select * from STA;

Query:
update RSC set sta_key='2' where RSC_DATA='OBJECT_ALREADY_EXISTS' and mil_key='19766';