1. Go into the responsibility: System Administrator.
2. Navigate to Request > Run.
3. Submit request 'Synchronize WF LOCAL tables'
4. Submit request 'Workflow Directory Services User/Role Validation'
5. Check result in table wf_local_user_roles via:
select role_name, effective_end_date from wf_local_user_roles
where user_name='<>';
6. If still find some records haven't been changed to null, perform:
a.) backup the records:
create table wf_local_user_roles_bak as
select * from wf_local_user_roles
where user_name='<>' and effective_end_date <> to_date('<>','RRRR-MM-DD');
b.) update effective_end_date to null
update wf_local_user_roles
set effective_end_date=to_date('9999-01-01','RRRR-MM-DD')
where user_name='<>' and effective_end_date <> to_date('<>','RRRR-MM-DD');
7. Retest the issue.
8. Migrate the solution as appropriate to other environments.
他们自己都无法确定请求跑完之后是不是能解决这个问题,呵呵!挺讽刺!
值得注意的一点是,Synchronize WF LOCAL tablese 和Workflow Directory Services User/Role Validation请求是需要在有任何用户变更之后提交的,这是避免问题出现的办法。虽然不喜欢这种方式,但还只能每天定时运行。。。