cancel
Showing results for 
Search instead for 
Did you mean: 

How to solve problem with audit in state 'Wait for result audit:xxxxxx' ?

Former Member
0 Kudos

Hello Guru,

I have IDM 7.2 SP9 on Oracle 11.2.0.4.

The problem is - some users have provisioning status=20 with message "Wait for result audit:xxxxxxx" in table MXP_AUDIT.

And provisioning doesn't start when I try to modify such accounts via WEB-interface with 'Modify' task. Only new record with provstatus=0 is added to table MXP_AUDIT and nothing else has happenned.

If I select information about audit with provstatus=0 from table mxp_ext_audit, I get null result:

I tried to use recommendation from topic SAP IDM: Provisioning is stuck (yet again) - My checklist

update mxp_audit set provstatus=1100 where auditid = <auditid>

But nothing changed.

I have 367 records with status '20' and message 'Wait for audit'. And I can't change these item, because of such stuck.

Could you please help me to solve this problem?

Thanks in advance!

Natalia.

Accepted Solutions (1)

Accepted Solutions (1)

Steffi_Warnecke
Active Contributor
0 Kudos

Hello Natalia,

did you use


update mxp_audit set provstatus=1100 where auditid = <auditid>

with the audit-id, that is shown in "Wait for result audit:xxxxxxx" or with the audit-id this message came up for?

Regards,

Steffi.

Former Member
0 Kudos

Hi Steffim

I tried both:

1. set status = 1100 for audit-id from message

wait , but nothing happened.

2. set status = 1100 for audit with provstatus=20

nothing

3. set status for all audits with status =0

nothing.

Best regards,

Natalia.

Steffi_Warnecke
Active Contributor
0 Kudos

So


update mxp_audit set provstatus=1100 where auditid = 230892

did nothing? Is the entry still there with the same message?

Maybe it's a permission-problem. Did you try with the "mxmc_oper"-user?

Former Member
0 Kudos

Maybe this screenshot can be helpfull.

My tryes to update status of audits and change item again via web-task 'Modify':

I did it with mxmp_oper account. 'Commit' was applied.

Former Member
0 Kudos

State = 0 just means the task has been initiated and doesn't tell much more. Finding the reason why the audits it's waiting for did not complete is usually a good start. You can check the audit listed in as "wait for result audit:xxxxx" and look at the LastAction column to find out what the last task that executed or failed was and then check the syslog entries for this task. If you have extended audit enabled you can also look at this


select t.taskname,a.* from mxp_tasks T, mxp_ext_audit A where T.taskid = A.aud_task and A.aud_ref = <wait for auditid> order by aud_datetime

If I recall correctly, setting the audit that has a wait for... to state 1100 will do nothing as entries in that state are ignored by the dispatcher and will not be picked up or processed at any point. This state is only set by procedures called by the dispatcher.

Br,

Chris

Former Member
0 Kudos

Btw, I was just told that there is a patch for this issue on sp9 where the modify task is stuck

(Norman has already mentioned this patch)

Br,

Chris

Message was edited by: Per Krabsetsve

Former Member
0 Kudos

Hello Per,

last action for audit mentioned in message 'Wait for" is 223 "2. Modify ABAP User":

Syslog for this task (13.06.14 16:45:20) has no errors:

I've updated system to the last release of SP9, but it hasn't helped me.

Have you any ideas how to unfroze provisioning for such accounts?

Best regards,

Natala.

Former Member
0 Kudos


Per,

maybe this information could be helpful to solve my issue. I used your queries from On queue processing, or the lack thereof. Part #2 :

select

count(P.mskey) numEntries,t.taskid,t.taskname,A.Name ActionType,s.name StateName,

case when js.name = 'Running' then 'Running, processed:'||to_char(NVL(J.CurrentEntry,0)) else js.name end as Jstate

from

mxp_provision P

inner join mxp_Tasks T on T.taskid = P.actionid

inner join mxp_state S on S.StatID = P.state

inner join MXP_ActionType A on A.ActType=P.ActionType

left outer join mc_jobs J on J.JobGuid = T.JobGuid

left outer join mc_job_state JS on j.State = JS.State

group by

t.taskid,T.taskname, A.name, S.name,case when js.name = 'Running' then 'Running, processed:'||to_char(NVL(J.CurrentEntry,0)) else js.name end

order by

A.name, S.name

and got result - I have big Queue for Modify task:

What I have to do with such Queue? How to reset it?

Best regards,

Natalia.

Former Member
0 Kudos

I see that they have the state Queued in the provisioning queue (37). This is a new state that was introduced with SP9 and it is used to queue events that trigger the provisioning framework "modify" task so that they are not run in parallel but in order.

To release it you should only need to change the state of the oldest one (per mskey) to 2:

update mxp_provision set State = 2, PrevState = State where AuditRef = <auditid> and State = 37;

You can try running this and see what it lists:


BEGIN

  FOR c IN (select min(auditref) auditref,mskey from mxp_provision where state = 37 group by mskey) LOOP

    DBMS_OUTPUT.PUT_LINE('update mxp_provision set State = 2, PrevState = State where AuditRef = ' || to_char(c.auditref) || ' and State = 37;');

    -- update mxp_provision set State = 2, PrevState = State where AuditRef = c.auditref and State = 37;

   END LOOP;

END;

and then run one or two of the resulting updates it lists using F5 (run script) in SQL developer and see if things are released (commit if required). If it works correctly you can remove the -- in front of the update statement or run the rest manually.

BIG WARNING THOUGH: I have not been able to test this myself, so use with extreme caution outside development systems...

Br,

Chris

Former Member
0 Kudos

Dear Per,

THANK YOU A LOT!!!

I've did as you recommended on Development system and result is amazing - Provisioning started!

I want to add some notes to your script, maybe it can be helpful for someine else:

We need to set State=2 for the oldest audit for every Repository ID.

After this magic trick other audits in Queue for Repository_ID were started for provisioning.

So I changed your script to this one:



BEGIN
   FOR c IN (select min(auditref) auditref,mskey,repositoryid from mxp_provision where state = 37  group by mskey,repositoryid) LOOP
     DBMS_OUTPUT.PUT_LINE('update mxp_provision set State = 2, PrevState = State where AuditRef = ' || to_char(c.auditref) || ' and State = 37 and repositoryid=' || to_char(c.repositoryid) || ';');

    -- update mxp_provision set State = 2, PrevState = State where AuditRef = c.auditref and State = 37;

   END LOOP;
END;

run only once and waited.

So, problem is solved now.

Many thanks for your help!

Best regards,

Natalia.

Answers (2)

Answers (2)

Former Member
0 Kudos

Hello all,

today I do not see any new audit record with status 'Wait for audit:xxxxxxxx'.

Hope SP9 update is helped.

But... what I have to do with queued records? I can't change huge amount of users.

Please help me.

Best regards,

Natalia.

normann
Advisor
Advisor
0 Kudos

Hi Natalia,

I guess you need to delete them manually (delete from mxp_provision where audit = ...) and set the provstate in mxp_audit to 1100 (update mxp_audit set provstate = 1100 where auditid = ...)

If you create a statement to get all the stuck audit ids you can automate it.

Regards

Norman

normann
Advisor
Advisor
0 Kudos

Hello Natalia,

what patch level of SP9 are you using? There is a bug where modify task is not working properly for early SP9 release and as far as I remember the symptoms were like what you describe. Even though you clean it up now it will appear again.

Regards

Former Member
0 Kudos

Hello Norman,

As I see, it was patch level 0 of SP9.

I used this package to update system:

Now in IC I see that version is

normann
Advisor
Advisor
0 Kudos

Hi Natalia,

I would recommend you to patch all components to latest release as there might be dependencies.

That means without VDS it would be at least 4 steps:

Designtime executables

Designtime DB

Runtime

UI

But is basically all just executing a file or script and not really much of an effort.

Regards

Norman

Former Member
0 Kudos

Hello Norman,

I've just updated all components to the latest SP9 releases:

ICDESIGNTIME09_6-10009681

ICRUNTIME09_4-20005938

IDMIC09_4-20005939.SCA

But it hasn't helped me.

Fresh screenshot of mxp_audit after 'Modify' task executed :

Best regards,

Natalia.

normann
Advisor
Advisor
0 Kudos

Hello Natalia,

were this the same users that have stuck modify tasks in the queue already? If so can you try to use an untouched user?

Thanks

Norman

Former Member
0 Kudos

Hi Norman,

there are 5 entries with status 'Wait for audit:" appered today. I tried to change one of them (via 'Modify' web-task), set valid_to, but I got the same result - Provisioning was not started, only new string was added to mxp_audit with provstatus=0.

I didn't do any updates in DB level for this user. It's fresh.

Best regards,

Natalia.