How to shorten active sync process

Hello, I am trying to setup IDM to use Database Table active sync to read SQL table then update couple IDM user's attributes. I used "used wizard generated input form" setting. Once it runs, IDM connects all the resources and fetches all the information of res account that each user has. We have over 6000 user. The active sync took over 10 hours to finish. Where and how can I let active sync not to connect other resource?

I identify that the query allowing take a while.
Periodicly, MGP send from 2 to 8 process which execute the query that takes all the processor. Even there are nothing to update.
How to acelerate it? or how to avoid it?.
UPDATE mobileadmin.cmp$wtgpi_10055 m
SET dmltype$$ = 'D',
seqno$$ = NULL,
dtype$$ = NULL
WHERE clid$$cs = 'XNC04615'
AND nvl(dtype$$, 'N') <> 'D'
AND (seqno$$ IS NOT NULL
OR nvl(dmltype$$, 'N') <> 'D')
AND NOT EXISTS (SELECT 'A'
FROM (SELECT t1.*
FROM shmk.designs_data t1, shmk.userdatakey t2
WHERE t2.user_id = 'XNC04615'
AND t1.ref = t2.ref) s
WHERE s.ref = m.ref) ;

Similar Messages

  • Active sync : process selection values are not persistent

    Hi,
    Version: IDM : 6
    I am attempting to provision oracle user accounts through IDM active sync process running against an AD LDAP server.
    I want to use default forms/views supplied by IDM product, and configure active sync to use my custom workflow on create/update events.
    I was not able to save my workflow for any of the events in process selection module of active sync configuration.
    this is what i did..
    ======================================================
    Active sync in (advanced mode) ->Process Selection
    Process Mode      
    Use the event type to determine the process / workflow ? (enabled)
    Create -> (from available workflows i select my custom workflow ) save
    ======================================================
    after saving my changes , i again re-visited active sync-> process selection : to confirm my changes.
    i do not see my saved workflow for create , but i see "default" as selected.
    Is assigning custom workflows through actives syncs process selection allowed?
    If Yes, How do i preserve my active sync-> process selection configurations?
    Thanks
    Edited by: idm_new_user on Jun 3, 2008 9:44 AM

    Hi Chapo,
    Thanks for trying to help me out...
    Issue is not with assigning my custom form to my active sync process, it works that way...(i can achieve AD->IDM->ORACLE provisioning) using custom form/workflow...i now want to use, forms/workflow shipped out of box by IDM product to achieve provisioning of oracle accounts(Target) with Active Sync configured on AD (source).I am having issues with this configuration...i am not sure , it even works, out of box with out editing any forms/workflows !!!
    what i now to achieve is a partial customization, i.e use forms supplied out of box by idm's active sync process, and ONLY use my custom workflows to do create/updates...
    This is what i am trying to do, for an active sync configured on AD resource in advanced mode.
    Find the AD LDAP resource under the Resources tab.
    The check the box on the left hand side.
    Now select "edit Active Sync process" from the drop down box.
    In the active sync ->process selection view...select "use event type to determine the process/workflow ?"
    and assign my custom workflows for create/update events...
    after saving this, i revisit to confirm my changes...only to find that , they get lost/replaced by "default"
    so, my question is how do i configure an active sync to use my workflow on create/update events...with out using my custom forms? if "process selection" module of active sync wizard is the way to do this, how can i save my configurations?

  • Re-Start Active Sync process where ever it was left

    I was forced to delete the SA runner active sync process. By this time the process completed 200 records.
    Now I want to re-start the Async process from 201 record.
    Any ideas how to achieve this?
    THanks.

    ActiveSync sorts by the uniqueId for each record.
    1) Backup the full files as you will need to copy back over the modified files for processing a subset of the records
    2) Make sure the ActiveSync & FFAS files are sorted correctly
    3) delete the 200 records that processed already such that the 201 is the beginning
    4) Before processing the diffs of the modified ActiveSync & FFAS files you need to complete a processing of the modified FFAS file without any diffs (ActiveSync = FFAS). This tricks AS into starting at the 201 without reprocessing the 1st 200.
    5) Now process the modified ActiveSync against the modified FFAS.
    6) On completion set both the modified files back to the saved full AS so all records exist for future executions

  • Ensure 1 Active Sync process runs against the change log before all others?

    He folks,
    We have a lot of LDAP active sync thread. We have a primary on that correlates to an individuals account. Then we have several that represent affiliations at our organization. The affiliations are represented in LDAP as subordinates of the main persons entry. These sets of data were set up as different resource adapters because the they are different object types in LDAP.
    Now we are running into a problem where the active sync threads for subordinates are running before the thread for the main entry. What this means, is that an affiliation thread might run, see a new person was added and ignore it (since that isn't it's resource) but find the affiliation subordinate entry and want to process it. However, the thread can't find an associated account in IDM yet, so no processing takes place on that change, ever..
    If the main account active sync thread had already run, it would see the main entry, and then make a correisponding IDM entry. If the IDM entry has been made, and the affiliation resource active sync adapter runs, it will then find the IDM entry and update that.
    So.. We are experience problems when the affiliation processes a new account before the main account sync process.
    Can we ensure somehow that the main account active sync process always runs first? These are all LDAP resources. If we could ensure the main account resource / sync happens before any other affiliation resource, then we would never ignore data, and would not have anyproblems.
    Does anyone know of a good clean way to do this?
    Thanks!

    I had a similar issue, and solved it by using post process workflows and starting and stopping resource adapters manually. This will allow you to start the first resource, and any others you want can be started/stopped manually via the workflow. You can effectively "chain" resource adapters to run in any order you'd like.
    On the first resource that you want to run before anything else, this will run as a post-process workflow:
         <Activity id='0' name='stopFirstResource'>
            <Action id='0' name='stop'>
              <expression>
                <block name='stop'>
                  <invoke name='stopActiveSyncOnResource' class='com.waveset.session.SessionUtil'>
                    <ref>displaySession</ref>
                    <s>%%FIRSTRESOURCENAME%%</s>
                  </invoke>
                </block>
              </expression>
            </Action>
            <Transition to='Process Errors'>
              <ref>WF_ACTION_ERROR</ref>
            </Transition>
            <Transition to='startSecondResource'/>
          </Activity>
          <Activity id='1' name='startSecondResource'>
            <Action id='0' name='start'>
              <expression>
                <invoke name='startActiveSyncOnResource' class='com.waveset.session.SessionUtil'>
                  <ref>displaySession</ref>
                  <s>%%SECONDRESOURCENAME%%</s>
                </invoke>
              </expression>
            </Action>
            <Transition to='Process Errors'>
              <ref>WF_ACTION_ERROR</ref>
            </Transition>
            <Transition to='end'/>
          </Activity>
    This will stop the first one (after it has run) and start the second one.
    Then, on the post process workflow of the second resource:
          <Activity id='1' name='stopSecondResource'>
            <Action id='0' name='stop'>
              <expression>
                <block name='start'>
                  <invoke name='stopActiveSyncOnResource' class='com.waveset.session.SessionUtil'>
                    <ref>displaySession</ref>
                    <s>%%SECONDRESOURCENAME%%</s>
                  </invoke>
                </block>
              </expression>
            </Action>
            <Transition to='Process Errors'>
              <ref>WF_ACTION_ERROR</ref>
            </Transition>
            <Transition to='end'/>
          </Activity>This stops the second one.

  • Active Sync process "hanging"

    Hi Experts,
    Last weekend an Acticve Sync task "hung" for 2 days. The Active Sync is scheduled to start every 24 hours at 8:30am.
    This morning however its status was "Started, executing" yet nothing was being logged. I would expect something as its log level is 4.
    The last time the AS was started was Friday but having the task in this state prevented the Saturday or Sunday morning runs from being executed.
    The only way to recover was to reset IdM by restarting the webserver.
    What circumstances could cause Active Sync to 'hang' like this?
    Has anyone else suffered this sort of situation and if so was the cause determined?
    Any hints or tips appreciated.

    We have experienced this behavior on a fairly frequent basis with our Active Directory Active Sync processes.
    We are not sure why the system behaves this way.
    We are in the habit of manually monitor the active sync jobs on a daily basis.
    We have the log level set to 2 on our 11 Active Directory resources.
    We view the timestamps on the log files to determine if the Active Syncs are truly running.
    Our 11 Active Directories run every 3 hours. I note this because the time stamp on the log files should be older than 3 hours (in our case) if the Active Sync (A/S) process is truly not running.
    Here is our process when restarting the A/S.
    1. Make sure the Task SARunner:<Active Directory Resource> is running.
    a. Go to the Tasks form and get a list of All Tasks.
    b. Find the SARunner:<Active Directory Resource>. If this task is not running then you need not read any further because you will need to recycle your Websever to get the Active Syncs to run.
    2. If the Task is running.
    a. Go into Debug and edit the Active Directory Resource.
    b. Change the Polling Start Time and Polling Start Date to the desired start time. Note: Set the start time at least 10 minutes into the future. So if at 11 am your making the change then set the polling start time to 11:10 (at a min.)
    b.     Save the changes.
    3. Navigate to the resources form.
    a. Stop the Active Sync
    b. Refresh the Active Sync
    c. Start the Active Sync
    d. Refresh the Active Sync.
    Good Luck.

  • Problem with Active Sync Process in Flat File

    I have a flat file (Employee.csv) as a resource. I populated that data into IDM using Active Sync.
    Ive created another flat file that is empty (CopyEmployee.csv) and added that as resource to IDM.
    By using the Active Sync process I want to populate the data from Employee.csv to CopyEmployee.csv.
    I tried but unable to get the output. Is this really possible ?
    Im using IDM 6.0 on SunApp 8.1

    Nope, flatfile is a read only adapter, to the best of my knowledge. You can use it to feed IM, that's it. No recon, nothing else. That's coz IM doesn't maintain a state for it (just does a diff with an index file during ActiveSync).
    You can think of maintaining a simulated resource on a file though.
    Ankush

  • How to catch error in the Active Sync process

    Hi, we are using Flat File active sync to update IDM user attribute. Once IDM found matched record, it builts view. However, during this period, the the matched user is locked, for example. Then IDM stop processing this record then go to next record. How can I catch this error? In log file I saw error message but how can use workflow or other way to know the error? How can get ResultItem that contains error message during AS?

    Hi,
    I am doing the following....
    Assume a main workflow which calls many sub workflows ...
    1. Define two global variables as follows
    <Variable name='anyErrorOccured'><Boolean>false</Boolean></Variable>
    <Variable name='allErrorMsg'><s>Error..</s></Variable>
    2. In the all main and sub workflows, add an special 'Action' to check the errors after each Action
    <Action id='1' name='doSomething'>
    </Action>
    <Action id='2' name='checkForErrors'>
    <cond>
    <isTrue><ref>WF_ACTION_ERROR</ref></isTrue>
    set the anyErrorOccured variable to true
    Append a custom error message(hard coded) to allErrorMsg variable - error message may contain workflow name and in which action error occured
    </cond>
    </Action>
    3. Before ending the main workflow, if anyErrorOccured is true, then send an email to IDM administartor with allErrorMsg
    <Activity id='3' name='CheckOverallError'>
    <Transition to='SendOverallErrorNotificationToIDM'>
    <ref>anyErrorOccured</ref>
    </Transition>
    <Transition to='end'/>
    </Activity>
    Hope, this helps.
    Furthermore, I tried to catch the actual error trace from IDM using the following in each 'checkForErrors' Action and append all IDM error messages for email notification.
    <invoke name='getMessage'>
    <get>
    <invoke name='getErrorMessages'>
    <ref>WF_CASE_RESULT</ref>
    </invoke>
    <i>1</i> ???????
    </get>
    </invoke>
    But , it was not successful, as I could not extract the right error mesage at the right place from WF_CASE_RESULT

  • How do I get sync process to send e-mail to confirm account?

    Sync program does not accept password and when I try to reset the link sent in the e-mail is no good

    Sorry, both I guess, but I believe the password reset is the one at the moment, maybe if I can reset password than I can get the rest done.

  • How to restrict active sync policy to download attachment in mobile on selected user in Exchnage 2010

    Dear Sir,
    we want to restrict download attachment in mobile to selected users. how to create policy?
    pls help
    SUNIL PATEL SYSTEM ADMINISTRATOR

    Hi,
    Do you want to limit the size of attachment that can be downloaded?
    If you want to do this, you can use the
    Set-ActiveSyncMailboxPolicy cmdlet with MaxAttachmentSize parameter to specify the maximum size of attachments that can be downloaded.
     Here is an article about this command for your reference.
    http://technet.microsoft.com/en-us/library/bb123756(v=exchg.141).aspx
    After that, you can specify an Exchange ActiveSync mailbox policy for the user you wanted. You can look at the following article.
    http://technet.microsoft.com/en-us/library/bb125264(v=exchg.141).aspx
    Best regards,
    Belinda Ma
    TechNet Community Support

  • Last Fetched Predicate statement in active sync process

    Can anybody tell me what should be the Last Fetched Predicate and Static Search Predicate for a changelog table with seqno column for polling to a sql database.
    From this post, http://forum.java.sun.com/thread.jspa?forumID=764&threadID=5104031
    let say I have a polling to a changelog db table with a seq number and it will have to read from this table. But, in my case, I just need to look for a code in the table to fire a workflow.What would be the good approach to achieve this requirement?

    Hi,
    If lastmod is a varchar2 in the database,
    then you need to say:
    lastmod > '$(var)'
    where var is the identity manager variable
    that lastmod is mapped to in the resource schema.
    Basically, if you say:
    x > '$(y)'
    x must be a field name in the database
    y must be the identity manger variable it
    maps to in the schema in the
    resource adapter configuration.
    If you edit the resource schema from the
    identity manager web interface, you should
    be able to see the mapping.
    Hope this helps,
    John I

  • How to stop active transport process?

    Hi everybody
    Question like in subject.
    Is there any option in STMS?
    THX
    Adam

    have u checked sm37 to see if there are any background jobs running with the transport?  If there is cancel and delete it.
    Thanks,
    Nick.

  • How Create LDAP Group Inside Active Sync Form?

    I have an Active Sync form that is working well to synchronize (and slightly massage) data from an Active Directory source to a Sun Directory Server destination.
    I need to synchronize group information from AD to DS. It must automatically create groups during the Active Sync processing. It can't be done externally using another scripting language; it must be done within IdM.
    I have the following code...
    <Action id='0' application='com.waveset.provision.WorkflowServices'>
    <Argument name='op' value='createResourceObject'/>
    <Argument name='object'>
      <Object>
      <Attribute name='resourceId' value='DS'/>
      <Attribute name='resourceName' value='DS'/>
      <Attribute name='resourceType' value='LDAP'/>
      <Attribute name='objectName' value='abcd'/>
      <Attribute name='attributes'>
        <Object>
        <Attribute name='cn' value='abcd'/>
        <Attribute name='groupType' value='abcd'/>
        </Object>
      </Attribute>
      <Attribute name='objectType' value='group'/>
      <Attribute name='objectId' value='CN=abcd,ou=Groups,dc=blah,dc=com>
      </Object>
    </Argument>
    <Argument name='objectType' value='group'/>
    <Argument name='resourceId' value='DS'/>
    </Action>However with that code inside the <Field><Expansion>...</Expansion><Field> section the group is not created. I've enabled tracing and as best I can determine the code isn't even executed.
    I have created resource schemas for accounts[DS].ldapGroups and accounts[AD].groups and that works well. I can read group memberships from those lists. However I can't simply append to those lists to automatically create groups (which would be nice). That's why I've gone down this path of attempting to create the groups programatically.
    I've scoured the groups and the course notes and found nothing relevant here. The examples all refer to creating the groups within an interactive form. I'm trying to do the same within the <Field> section of an Active Sync form.

    TTSLSAB wrote:
    Hi Vladimir,
    can you please tell me what should i import in the java class inorder to avoid the below error (session) for the line
              Resource resource = (Resource)session.getObject(Type.RESOURCE, resId);
             ResourceAdapter ra = ResourceOp.findAdapter(resource, session.getCache());Error, which i am getting is
    Exception in thread "main" java.lang.Error: Unresolved compilation problems:
         session cannot be resolved
         session cannot be resolvedsession is your LighthouseContext handle so depending on how you are implementing the class you quoted, you will either need to pass it in, for example via the invoke tag from your form/workflow, or get your own - don't know how this is done but I'm assuming authenticating to IdM would have to be done.
    For all those interested, I have implemented the Java code snippet listed by Vladimir in XPRESS.
    idmSessionHandle - is the LighthouseContext for the current session
    currentOUDN - is a string representing the AD DN of the OU to be created
                    <defvar name='resourceAdapterHandle'/>
                    <set name='resourceAdapterHandle'>
                      <invoke name='findAdapter' class='com.waveset.provision.ResourceOp'>
                        <ref>resourceObject</ref>
                        <invoke name='getCache'>
                          <ref>idmSessionHandle</ref>
                        </invoke>
                      </invoke>
                    </set>
                    <defvar name='newOUGenericObject'/>
                    <set name='newOUGenericObject'>
                      <new class='com.waveset.object.GenericObject'>
                        <map>
                          <s>objectId</s>
                          <ref>currentOUDN</ref>
                          <s>objectType</s>
                          <s>Organizational Unit</s>
                        </map>
                      </new>
                    </set>
                    <invoke name='createObject'>
                      <ref>resourceAdapterHandle</ref>
                      <ref>newOUGenericObject</ref>
                      <new class='java.util.HashMap'/>
                    </invoke>
    [...]Although the above works well, to create OUs in AD, I have not yet tested its real life application with regards to the initial mass loading of users (from LDAP (auth source) to IdM to AD) and ActiveSyncing. My concerns are two threads attempting to create the OU at roughly the same time, the first succeeds, and second one fails because AD will reply with the fact that the object already exists. The workaround would be to do a recheck of the existence of the OU, after a failure was encountered. This ties into exception handling in general in this approach.
    If anyone can contribute exception handling and possibly a create with retries approach, to the above code, I'd appreciate it.
    Cheers.

  • Automatic Active Sync failed to Start at appropriate time

    Hellos,
    Its holiday season here. We had a FF Active Sync process that failed to start up.
    Ops noted an overheating CPU at 2am. Server was brought down.. App server stopped, Database stopped. Fan fixed and Server rebooted.. Database started Ok, App server started Ok.. according to AS Log idM started up ok... but the 'automatic' Active Sync process refused to start.
    What could prevent it?!
    I have seen various people's opinions.. e.g.
    "Hi,
    There can be lot of reasons , for not starting activesync.
    if you are using activesync between SIM and database ,
    then lets start from activesync wizard ,
    1)check the i/p activesync form(version should be correct)
    2)check the startup type
    3) if you are using query based activesync
    check the first and last predicate fields and you need to ensure that the logic you have used in i/p activesync form will generate some processing once you start active sync otherwise you will not see active sync in executing state.
    you can check weather activesync has performed operation or not in IAPI in the debug page under configurator
    if your CPU utilisation on server is very high activesync will not start
    these are general things
    if you can give some more specific details abt your application and problem i can help you out.
    Warm Regards,
    Gajanan"
    This process had been left unstarted for some time. Noone checked.. why should they.. its automatic (obviously IdM isnt an R.E.M. fan)
    Surely an automatic start type should (re)start after a reboot for hardware reasons!
    Is the only thing we can we put in a Solaris shell script to test that these ****ing active sync process have been started and are running after a reboot/restart of App.server is a date test of the log file? i.e. if log file has not been touched in x days raise an alarm... seems something that is better built into IdM than a script.
    How has this problem been faced and met by others out there? I am sure we are not the only people who have had to shutdown and restart IdM.

    Indeed it does. The problem is that a log is just that.. a log of what has happened. In our case the 'automatic' AS process failed to start automatically.
    We are forced to use the log and reverse apriori reasoning to detect whether the AS process actually started.
    I hope you agree this situation isnt really satisfactory, is it?

  • Active Sync Not Starting

    Getting this crazy error:
    Error starting #ID#C4C490642F5489B6:309EE1:106A49D3C08:-7FFB.Source adapter management is initializing.
    Obviously the first bit is the resource adapter's ID. This problem just suddently started happening after a restart and no changes to the RA configuration. Thankfully it's a test box...
    Anyway, when we try and start the adapter we get this error and in the WebLogic logs we see this:
    Exception in Scheduler thread:
    com.waveset.util.InternalError: Item 'TaskInstance:SARUNNER:#ID#C4C490642F5489B6:142C63F:1069A84A3C0:-7FC6(id=null)' object is null.
    com.waveset.util.InternalError: Item 'TaskInstance:SARUNNER:#ID#C4C490642F5489B6:142C63F:1069A84A3C0:-7FC6(id=null)' object is null.
    Weird that it thinks the object is null seeing as how we'd made not changes the RA. Has anyone seen this error?

    We had a similar problem on the production environment with the same error as listed on the original post. After struggling for almost 2 work days and the weekend, the issue was that the AD gateway service hung, and restarting the gateway service started all the active sync processing again.
    The basic problem is that no error is logged related to the Gateway service (either on IDM side or on the AD server), and the active sync processing thread will hang in execute mode trying to connect to AD. No proper error led us all over the place starting with the database resource which the active sync was running against.
    So check that all the applicable resources are responding before getting deeper into Active sync debugging.

  • Active Sync Threshold

    Has anyone ran across a requirement to set a threshold on the number of operations (add, delete, etc) an active sync process is allowed to run before aborting the request? That is not 100% accurate. The requirement is to abort the operation that has exceeded the threshold but process the remaining operations. The threshold should also be applied prior to any of the actions actually being processed. Hence, it is an all or nothing situation.
    For instance, I want to set a threshold on the number of deletions. If during the active sync process this threshold is exceeded all deletions would be skipped but any additions or updates would still be processed. The final requirement is that an administrator would be notified of the issue and have the ability to approve/reject each of the operations.
    I have two different thoughts on how best to solve this:
    1) Use a pre-poll workflow to examine the resource and perform the threshold check. If the threshold is exceeded then a flag is set to indicate that these operations should be skipped. The active sync forms then use this flag in order to determine what to do with the request. The nice thing about this is that the administrator simply has to disable the pre-poll workflow to allow the operations to be completed. However, the solution is highly dependent on the resource type. It also requires the ability to effectively force a change on the record so that it is processed during the next active sync run.
    2) Build a workflow that defers all threshold-based operations until the end of the active sync process. Then use a post-poll workflow to perform the threshold check. If the threshold is not exceeded then the deferred tasks can be ran immediately. However, if the threshold is exceeded then a notification can be sent to an administrator. I would need to provide a server task for the administrator to either approve/reject the deferred operation.
    I think both solutions will work. I am wondering if anyone has already solved this issue or has thoughts on my two different approaches.
    Thanks,
    Pete

    What about this: keep track of the number of deletions by whatever means and set some flag when the threshold has been reached. Then, in the Delete User Workflow, check the flag and if it is set, force an approval so the operation is suspended until it is approved or rejected.

Maybe you are looking for

  • How to make sales order entry mandatory in CO01

    Hi, I have a scenario where the system should not allow to create production order without the reference of sales order. I can achieve this by using transaction code CO08.But in some special cases i have to use CO01 transaction for creation of produc

  • How do I get Snow Leopard onto my Blackbook?

    Hi folks. With Lion coming up, I have to have 10.6.8 on my Blackbook.  A drive recently failed and I have installed Tiger onto it.  My Pro has Snow Leopard on it, but I can't install it onto my laptop.  How can I get Snow Leopard onto it?  Cheers

  • How many Accounts we can clear By using F.13 And F-03

    HI All, I want to clear all open accounts using F.13 or F-03 But some gl are not getting square off except GR/IR Account. How can i Clear Ecess clearing, Fright clearing Service tax Clearing....Accounts. I am unable to clear this accounts please give

  • Send Vector class to JSP and print this Vector using JSTL

    Hello All! I need your help to solve my question. I developed a Servlet + jsp application. I tested it in local with Apache Tomcat/6.0.20 and it works correctly. I write and use these classes: class for execute query, and including data page: package

  • Center a SWF file when Publishing

    I have been using Flash for a while Flash 8 and now Flash 9.  I dont know too much about the program, someone wrote the program for me and I update it.  When ever I publish the Site to upload to my server I have to go into the HTML file and insert <c