MyTechReference - Technical Notes


by IDAMGroup

NetIQ IDM JDBC Driver Setup

NetIQ IDM JDBC Driver Setup

In this post i am going to take you through setting up JDBC driver in Indirect Synchronization method. And i am going to do a simple setup with the following stuff

  • Indirect Synchronization method
  • Subscriber channel only
  • No publisher events, so disabled the publisher channel
  • Password sync
  • No entitlement.
  • You need to write triggers to update from Intermediate Staging table to Master table ( Not written in this post ).

I am not expert in Oracle database so i struggled quite a bit to get the basic connection and data synced. Keeping that in mind writing this post to ease some of that burden.

Environment

  • IDM 4.0.2
  • eDir 8.8.7
  • Oracle DB 11g R2
  • JDBC driver 3.6

What i am going to sync

This is a very simple setup and i am going to sync the below eDir attributes to database.

eDirectory Database
CN Uname
Given Name Fname
Surname Lname
Fullname Fullname
nspmDistributionPassword USR_PWD

 

Syncing data from Vault to Oracle Database for Indirect Synchronization is 2 step process

  1. Sync objects from Identity Vault to Intermediate staging table, this is done by JDBC driver.
  2. Using triggers push/update data from Intermediate staging table to Master table.

 

Oracle DB

Oracle Script to create Intermediate staging table, sequence and functions.

NOTE: This script is only for Indirect synchronization method subscriber channel only.

 

------------------
SET TERMOUT ON;
SET ECHO OFF;
CONNECT SYSTEM/<Password>;
--Create Schema/User
CREATE USER indirect IDENTIFIED BY novell DEFAULT TABLESPACE USERS;
GRANT CONNECT, RESOURCE, CREATE VIEW TO indirect;
CONNECT indirect/novell;
CREATE SCHEMA AUTHORIZATION indirect
--Table creation
 CREATE TABLE usr
 (
 idu         INTEGER  NOT NULL,
 fname       VARCHAR2(64),
 lname       CHAR(64),
 uname       VARCHAR2(64),
 fullname    VARCHAR2(64),
 USR_PWD     VARCHAR2(12)
 CONSTRAINT pk_usr_idu PRIMARY KEY (idu)
 )
 CREATE TABLE event_time
 (
 stamp  DATE
 )
--Permission assignment
 GRANT SELECT, INSERT, UPDATE, DELETE ON indirect.usr
 TO indirect WITH GRANT OPTION;
--Assign time stamp
 INSERT INTO event_time VALUES(SYSDATE);
--Incrementing the sequence number
 CREATE SEQUENCE indirect.seq_usr_idu
 START WITH 1
 INCREMENT BY 1
 NOMINVALUE
 NOMAXVALUE
 CACHE 128
 ORDER;
--Create a function to store the Squence number
CREATE FUNCTION indirect.proc_idu
 RETURN INTEGER
 AS
 o_idu INTEGER;
 BEGIN
 SELECT indirect.seq_usr_idu.nextval INTO o_idu FROM DUAL;
 RETURN o_idu;
 END proc_idu;
 /
CONNECT indirect/novell;
GRANT UNLIMITED TABLESPACE TO indirect;
REVOKE CONNECT, CREATE VIEW FROM indirect;

 

JDBC Driver

There are few setting you need to make sure to make it work.  I don’t have any policies on the subscriber channel just disabled it for this testing

  • To sync password make sure you have password policy configured with Distribution password option checked and assigned to the user container

Below are the change to driver configuration

Once you created the driver   Click on the driver –> Edit property –> Driver configuration

In the Subscription option

Method and Timing

I have created a function to generate the primary key values , so we need to mention the function as below in the dirver configuration

Stored-Procedure/Function: This method assumes that the stored-procedure / function is the authoritative source of primary key values for the specified parent table or view.

TableName("?=schema.procedureName()")

usr(“?=indirect.proc_idu()”)

 

JDBC_driverPrameter

Schema Mapping

 Note: nspmDistributionPassword -> USR_PWD is missing in the screen shot.

JDBC_driver_schemaDriver Filter

 

Enabled  Subscriber channel for the below attributes  and Disable publisher channel for the same.

Given Name
Full Name
Surname
CN
nspmDistributionPassword

Save the changes and re-start the JDBC driver

Note: Password attribute can be synchronized using Schema Mapping as in this post or you can create a policy to “set destination attribute with the nspmDistributionPassword“. In the latter one you don’t have to do the Schema Mapping and set notify for password attribute in the driver filter.

Attached the JDBC driver log for your reference (trace 3 level). I have made some highlights in difference color and given explanation at the end.

———————————-

[07/01/14 11:39:06.277]:Oracle ST:Start transaction.
[07/01/14 11:39:06.278]:Oracle ST:Processing events for transaction.
[07/01/14 11:39:06.280]:Oracle ST:
<nds dtdversion="4.0" ndsversion="8.x">
  <source>
    <product edition="Evaluation" version="4.0.2.0">DirXML</product>
    <contact>Novell, Inc.</contact>
  </source>
  <input>
    <add cached-time="20140701153906.175Z" class-name="User" event-id="linux-IDM#20140701153906#1#1:33736704-01cd-4b8e-199a-04677333cd01" qualified-src-dn="O=mytechref\OU=user\CN=tmark" src-dn="\MYTECHREF\mytechref\user\tmark" src-entry-id="33071" timestamp="1404229146#23">
      <add-attr attr-name="Given Name">
        <value timestamp="1404229146#4" type="string">Tony</value>
      </add-attr>
      <add-attr attr-name="Full Name">
        <value timestamp="1404229146#6" type="string">Tony Mark</value>
      </add-attr>
      <add-attr attr-name="Surname">
        <value timestamp="1404229146#3" type="string">Mark</value>
      </add-attr>
      <add-attr attr-name="CN">
        <value timestamp="1404229146#23" type="string">tmark</value>
      </add-attr>
    </add>
  </input>
</nds>
[07/01/14 11:39:06.283]:Oracle ST:No event transformation policies.
[07/01/14 11:39:06.283]:Oracle ST:Subscriber processing add for \MYTECHREF\mytechref\user\tmark.
[07/01/14 11:39:06.283]:Oracle ST:Applying object matching policies.
[07/01/14 11:39:06.284]:Oracle ST:Applying policy: %+C%14CMatching Rule%-C.
[07/01/14 11:39:06.284]:Oracle ST:  Applying to add #1.
[07/01/14 11:39:06.284]:Oracle ST:Policy returned:
[07/01/14 11:39:06.285]:Oracle ST:
<nds dtdversion="4.0" ndsversion="8.x">
  <source>
    <product edition="Evaluation" version="4.0.2.0">DirXML</product>
    <contact>Novell, Inc.</contact>
  </source>
  <input>
    <add cached-time="20140701153906.175Z" class-name="User" event-id="linux-IDM#20140701153906#1#1:33736704-01cd-4b8e-199a-04677333cd01" qualified-src-dn="O=mytechref\OU=user\CN=tmark" src-dn="\MYTECHREF\mytechref\user\tmark" src-entry-id="33071" timestamp="1404229146#23">
      <add-attr attr-name="Given Name">
        <value timestamp="1404229146#4" type="string">Tony</value>
      </add-attr>
      <add-attr attr-name="Full Name">
        <value timestamp="1404229146#6" type="string">Tony Mark</value>
      </add-attr>
      <add-attr attr-name="Surname">
        <value timestamp="1404229146#3" type="string">Mark</value>
      </add-attr>
      <add-attr attr-name="CN">
        <value timestamp="1404229146#23" type="string">tmark</value>
      </add-attr>
    </add>
  </input>
</nds>
[07/01/14 11:39:06.287]:Oracle ST:No match found.
[07/01/14 11:39:06.288]:Oracle ST:No object creation policies.
[07/01/14 11:39:06.288]:Oracle ST:No object placement policies.
[07/01/14 11:39:06.288]:Oracle ST:Submitting add to subscriber shim.
[07/01/14 11:39:06.288]:Oracle ST:Applying command transformation policies.
[07/01/14 11:39:06.289]:Oracle ST:Applying XSLT policy: %+C%14CReplica+Value%-C.
[07/01/14 11:39:06.292]:Oracle ST:Policy returned:
[07/01/14 11:39:06.293]:Oracle ST:
<nds dtdversion="4.0" ndsversion="8.x">
  <source>
    <product edition="Evaluation" version="4.0.2.0">DirXML</product>
    <contact>Novell, Inc.</contact>
  </source>
  <input>
    <add cached-time="20140701153906.175Z" class-name="User" event-id="linux-IDM#20140701153906#1#1:33736704-01cd-4b8e-199a-04677333cd01" qualified-src-dn="O=mytechref\OU=user\CN=tmark" src-dn="\MYTECHREF\mytechref\user\tmark" src-entry-id="33071" timestamp="1404229146#23">
      <add-attr attr-name="Full Name">
        <value timestamp="1404229146#6" type="string">Tony Mark</value>
      </add-attr>
      <add-attr attr-name="CN">
        <value timestamp="1404229146#23" type="string">tmark</value>
      </add-attr>
      <add-attr attr-name="Given Name">
        <value timestamp="1404229146#4" type="string">Tony</value>
      </add-attr>
      <add-attr attr-name="Surname">
        <value timestamp="1404229146#3" type="string">Mark</value>
      </add-attr>
    </add>
  </input>
</nds>
[07/01/14 11:39:06.294]:Oracle ST:Applying policy: %+C%14CPassword(Sub)-Transform Distribution Password%-C.
[07/01/14 11:39:06.295]:Oracle ST:  Applying to add #1.
[07/01/14 11:39:06.295]:Oracle ST:Policy returned:
[07/01/14 11:39:06.295]:Oracle ST:
<nds dtdversion="4.0" ndsversion="8.x">
  <source>
    <product edition="Evaluation" version="4.0.2.0">DirXML</product>
    <contact>Novell, Inc.</contact>
  </source>
  <input>
    <add cached-time="20140701153906.175Z" class-name="User" event-id="linux-IDM#20140701153906#1#1:33736704-01cd-4b8e-199a-04677333cd01" qualified-src-dn="O=mytechref\OU=user\CN=tmark" src-dn="\MYTECHREF\mytechref\user\tmark" src-entry-id="33071" timestamp="1404229146#23">
      <add-attr attr-name="Full Name">
        <value timestamp="1404229146#6" type="string">Tony Mark</value>
      </add-attr>
      <add-attr attr-name="CN">
        <value timestamp="1404229146#23" type="string">tmark</value>
      </add-attr>
      <add-attr attr-name="Given Name">
        <value timestamp="1404229146#4" type="string">Tony</value>
      </add-attr>
      <add-attr attr-name="Surname">
        <value timestamp="1404229146#3" type="string">Mark</value>
      </add-attr>
    </add>
  </input>
</nds>
[07/01/14 11:39:06.297]:Oracle ST:Applying policy: %+C%14CPassword(Sub)-Default Password Policy%-C.
[07/01/14 11:39:06.298]:Oracle ST:  Applying to add #1.
[07/01/14 11:39:06.298]:Oracle ST:Policy returned:
[07/01/14 11:39:06.298]:Oracle ST:
<nds dtdversion="4.0" ndsversion="8.x">
  <source>
    <product edition="Evaluation" version="4.0.2.0">DirXML</product>
    <contact>Novell, Inc.</contact>
  </source>
  <input>
    <add cached-time="20140701153906.175Z" class-name="User" event-id="linux-IDM#20140701153906#1#1:33736704-01cd-4b8e-199a-04677333cd01" qualified-src-dn="O=mytechref\OU=user\CN=tmark" src-dn="\MYTECHREF\mytechref\user\tmark" src-entry-id="33071" timestamp="1404229146#23">
      <add-attr attr-name="Full Name">
        <value timestamp="1404229146#6" type="string">Tony Mark</value>
      </add-attr>
      <add-attr attr-name="CN">
        <value timestamp="1404229146#23" type="string">tmark</value>
      </add-attr>
      <add-attr attr-name="Given Name">
        <value timestamp="1404229146#4" type="string">Tony</value>
      </add-attr>
      <add-attr attr-name="Surname">
        <value timestamp="1404229146#3" type="string">Mark</value>
      </add-attr>
    </add>
  </input>
</nds>
[07/01/14 11:39:06.301]:Oracle ST:Applying policy: %+C%14CPassword(Sub)-Check Password GCV%-C.
[07/01/14 11:39:06.301]:Oracle ST:  Applying to add #1.
[07/01/14 11:39:06.301]:Oracle ST:Policy returned:
[07/01/14 11:39:06.302]:Oracle ST:
<nds dtdversion="4.0" ndsversion="8.x">
  <source>
    <product edition="Evaluation" version="4.0.2.0">DirXML</product>
    <contact>Novell, Inc.</contact>
  </source>
  <input>
    <add cached-time="20140701153906.175Z" class-name="User" event-id="linux-IDM#20140701153906#1#1:33736704-01cd-4b8e-199a-04677333cd01" qualified-src-dn="O=mytechref\OU=user\CN=tmark" src-dn="\MYTECHREF\mytechref\user\tmark" src-entry-id="33071" timestamp="1404229146#23">
      <add-attr attr-name="Full Name">
        <value timestamp="1404229146#6" type="string">Tony Mark</value>
      </add-attr>
      <add-attr attr-name="CN">
        <value timestamp="1404229146#23" type="string">tmark</value>
      </add-attr>
      <add-attr attr-name="Given Name">
        <value timestamp="1404229146#4" type="string">Tony</value>
      </add-attr>
      <add-attr attr-name="Surname">
        <value timestamp="1404229146#3" type="string">Mark</value>
      </add-attr>
    </add>
  </input>
</nds>
[07/01/14 11:39:06.303]:Oracle ST:Applying policy: %+C%14CPassword(Sub)-Add Password Payload%-C.
[07/01/14 11:39:06.304]:Oracle ST:  Applying to add #1.
[07/01/14 11:39:06.304]:Oracle ST:Policy returned:
[07/01/14 11:39:06.304]:Oracle ST:
<nds dtdversion="4.0" ndsversion="8.x">
  <source>
    <product edition="Evaluation" version="4.0.2.0">DirXML</product>
    <contact>Novell, Inc.</contact>
  </source>
  <input>
    <add cached-time="20140701153906.175Z" class-name="User" event-id="linux-IDM#20140701153906#1#1:33736704-01cd-4b8e-199a-04677333cd01" qualified-src-dn="O=mytechref\OU=user\CN=tmark" src-dn="\MYTECHREF\mytechref\user\tmark" src-entry-id="33071" timestamp="1404229146#23">
      <add-attr attr-name="Full Name">
        <value timestamp="1404229146#6" type="string">Tony Mark</value>
      </add-attr>
      <add-attr attr-name="CN">
        <value timestamp="1404229146#23" type="string">tmark</value>
      </add-attr>
      <add-attr attr-name="Given Name">
        <value timestamp="1404229146#4" type="string">Tony</value>
      </add-attr>
      <add-attr attr-name="Surname">
        <value timestamp="1404229146#3" type="string">Mark</value>
      </add-attr>
    </add>
  </input>
</nds>
[07/01/14 11:39:06.307]:Oracle ST:Filtering out notification-only attributes.
[07/01/14 11:39:06.307]:Oracle ST:Fixing up association references.
[07/01/14 11:39:06.307]:Oracle ST:Applying schema mapping policies to output.
[07/01/14 11:39:06.307]:Oracle ST:Applying policy: %+C%14CSchema+Mapping+Rule%-C.
[07/01/14 11:39:06.307]:Oracle ST:  Mapping attr-name 'Full Name' to 'FULLNAME'.
[07/01/14 11:39:06.308]:Oracle ST:  Mapping attr-name 'CN' to 'UNAME'.
[07/01/14 11:39:06.308]:Oracle ST:  Mapping attr-name 'Given Name' to 'FNAME'.
[07/01/14 11:39:06.308]:Oracle ST:  Mapping attr-name 'Surname' to 'LNAME'.
[07/01/14 11:39:06.308]:Oracle ST:  Mapping class-name 'User' to 'INDIRECT.USR'.
[07/01/14 11:39:06.309]:Oracle ST:Applying output transformation policies.
[07/01/14 11:39:06.309]:Oracle ST:Applying policy: %+C%14COutput Transformation%-C.
[07/01/14 11:39:06.310]:Oracle ST:  Applying to add #1.
[07/01/14 11:39:06.310]:Oracle ST:Policy returned:
[07/01/14 11:39:06.310]:Oracle ST:
<nds dtdversion="4.0" ndsversion="8.x">
  <source>
    <product edition="Evaluation" version="4.0.2.0">DirXML</product>
    <contact>Novell, Inc.</contact>
  </source>
  <input>
    <add cached-time="20140701153906.175Z" class-name="INDIRECT.USR" event-id="linux-IDM#20140701153906#1#1:33736704-01cd-4b8e-199a-04677333cd01" qualified-src-dn="O=mytechref\OU=user\CN=tmark" src-dn="\MYTECHREF\mytechref\user\tmark" src-entry-id="33071" timestamp="1404229146#23">
      <add-attr attr-name="FULLNAME">
        <value timestamp="1404229146#6" type="string">Tony Mark</value>
      </add-attr>
      <add-attr attr-name="UNAME">
        <value timestamp="1404229146#23" type="string">tmark</value>
      </add-attr>
      <add-attr attr-name="FNAME">
        <value timestamp="1404229146#4" type="string">Tony</value>
      </add-attr>
      <add-attr attr-name="LNAME">
        <value timestamp="1404229146#3" type="string">Mark</value>
      </add-attr>
    </add>
  </input>
</nds>
[07/01/14 11:39:06.312]:Oracle ST:Applying policy: %+C%14CPassword(Sub)-Pub Email Notifications%-C.
[07/01/14 11:39:06.312]:Oracle ST:  Applying to add #1.
[07/01/14 11:39:06.313]:Oracle ST:Policy returned:
[07/01/14 11:39:06.313]:Oracle ST:
<nds dtdversion="4.0" ndsversion="8.x">
  <source>
    <product edition="Evaluation" version="4.0.2.0">DirXML</product>
    <contact>Novell, Inc.</contact>
  </source>
  <input>
    <add cached-time="20140701153906.175Z" class-name="INDIRECT.USR" event-id="linux-IDM#20140701153906#1#1:33736704-01cd-4b8e-199a-04677333cd01" qualified-src-dn="O=mytechref\OU=user\CN=tmark" src-dn="\MYTECHREF\mytechref\user\tmark" src-entry-id="33071" timestamp="1404229146#23">
      <add-attr attr-name="FULLNAME">
        <value timestamp="1404229146#6" type="string">Tony Mark</value>
      </add-attr>
      <add-attr attr-name="UNAME">
        <value timestamp="1404229146#23" type="string">tmark</value>
      </add-attr>
      <add-attr attr-name="FNAME">
        <value timestamp="1404229146#4" type="string">Tony</value>
      </add-attr>
      <add-attr attr-name="LNAME">
        <value timestamp="1404229146#3" type="string">Mark</value>
      </add-attr>
    </add>
  </input>
</nds>
[07/01/14 11:39:06.317]:Oracle ST:Submitting document to subscriber shim:
[07/01/14 11:39:06.317]:Oracle ST:
<nds dtdversion="4.0" ndsversion="8.x">
  <source>
    <product edition="Evaluation" version="4.0.2.0">DirXML</product>
    <contact>Novell, Inc.</contact>
  </source>
  <input>
    <add cached-time="20140701153906.175Z" class-name="INDIRECT.USR" event-id="linux-IDM#20140701153906#1#1:33736704-01cd-4b8e-199a-04677333cd01" qualified-src-dn="O=mytechref\OU=user\CN=tmark" src-dn="\MYTECHREF\mytechref\user\tmark" src-entry-id="33071" timestamp="1404229146#23">
      <add-attr attr-name="FULLNAME">
        <value timestamp="1404229146#6" type="string">Tony Mark</value>
      </add-attr>
      <add-attr attr-name="UNAME">
        <value timestamp="1404229146#23" type="string">tmark</value>
      </add-attr>
      <add-attr attr-name="FNAME">
        <value timestamp="1404229146#4" type="string">Tony</value>
      </add-attr>
      <add-attr attr-name="LNAME">
        <value timestamp="1404229146#3" type="string">Mark</value>
      </add-attr>
    </add>
  </input>
</nds>
[07/01/14 11:39:06.325]:Oracle ST:BEGIN Transaction 
[07/01/14 11:39:06.325]:Oracle ST:  {? = call INDIRECT.PROC_IDU()}
[07/01/14 11:39:06.334]:Oracle ST:      Return format:  return value
[07/01/14 11:39:06.334]:Oracle ST:      Return method:  return value
[07/01/14 11:39:06.334]:Oracle ST:      OUT @ index  1, param '$1', field 'IDU'
[07/01/14 11:39:06.507]:Oracle ST:      OUT @ index  1, param '$1', field 'IDU', value = 385
[07/01/14 11:39:06.508]:Oracle ST:  INSERT INTO INDIRECT.USR(IDU, FNAME, LNAME, UNAME, FULLNAME) VALUES (?, ?, ?, ?, ?)
[07/01/14 11:39:06.508]:Oracle ST:      IN  @ index  1, field 'IDU', value = 385
[07/01/14 11:39:06.509]:Oracle ST:      IN  @ index  2, field 'FNAME', length: 4, value = 'Tony'
[07/01/14 11:39:06.509]:Oracle ST:      IN  @ index  3, field 'LNAME', length: 64, value = 'Mark                                                            '
[07/01/14 11:39:06.509]:Oracle ST:      IN  @ index  4, field 'UNAME', length: 5, value = 'tmark'
[07/01/14 11:39:06.510]:Oracle ST:      IN  @ index  5, field 'FULLNAME', length: 9, value = 'Tony Mark'
[07/01/14 11:39:06.526]:Oracle ST:  COMMIT
[07/01/14 11:39:06.526]:Oracle ST:END   Transaction 
[07/01/14 11:39:06.526]:Oracle ST:SubscriptionShim.execute() returned:
[07/01/14 11:39:06.527]:Oracle ST:
<nds dtdversion="2.0" ndsversion="8.x" xmlns:jdbc="urn:dirxml:jdbc">
  <source>
    <product build="20120601_0445" instance="Oracle" version="3.5.9">DirXML Driver for JDBC</product>
    <contact>Novell, Inc.</contact>
  </source>
  <output>
    <add-association dest-dn="\MYTECHREF\mytechref\user\tmark" dest-entry-id="33071" event-id="linux-IDM#20140701153906#1#1:33736704-01cd-4b8e-199a-04677333cd01">IDU=385,table=USR,schema=INDIRECT</add-association>
    <status event-id="linux-IDM#20140701153906#1#1:33736704-01cd-4b8e-199a-04677333cd01" jdbc:update-count="1" level="success"/>
  </output>
</nds>
[07/01/14 11:39:06.528]:Oracle ST:Applying input transformation policies.
[07/01/14 11:39:06.528]:Oracle ST:Applying policy: %+C%14CPassword(Pub)-Sub Email Notifications%-C.
[07/01/14 11:39:06.529]:Oracle ST:  Applying to add-association #1.
[07/01/14 11:39:06.529]:Oracle ST:  Applying to status #2.
[07/01/14 11:39:06.529]:Oracle ST:Policy returned:
[07/01/14 11:39:06.530]:Oracle ST:
<nds dtdversion="2.0" ndsversion="8.x" xmlns:jdbc="urn:dirxml:jdbc">
  <source>
    <product build="20120601_0445" instance="Oracle" version="3.5.9">DirXML Driver for JDBC</product>
    <contact>Novell, Inc.</contact>
  </source>
  <output>
    <add-association dest-dn="\MYTECHREF\mytechref\user\tmark" dest-entry-id="33071" event-id="linux-IDM#20140701153906#1#1:33736704-01cd-4b8e-199a-04677333cd01">IDU=385,table=USR,schema=INDIRECT</add-association>
    <status event-id="linux-IDM#20140701153906#1#1:33736704-01cd-4b8e-199a-04677333cd01" jdbc:update-count="1" level="success"/>
  </output>
</nds>
[07/01/14 11:39:06.531]:Oracle ST:Applying schema mapping policies to input.
[07/01/14 11:39:06.532]:Oracle ST:Applying policy: %+C%14CSchema+Mapping+Rule%-C.
[07/01/14 11:39:06.532]:Oracle ST:Resolving association references.
[07/01/14 11:39:06.533]:Oracle ST:Processing returned document.
[07/01/14 11:39:06.533]:Oracle ST:Processing operation <add-association> for \MYTECHREF\mytechref\user\tmark.
[07/01/14 11:39:06.535]:Oracle ST:Processing operation <status> for .
[07/01/14 11:39:06.536]:Oracle ST:
DirXML Log Event -------------------
     Driver:   \MYTECHREF\mytechref\MytechRef\Oracle
     Channel:  Subscriber
     Object:   \MYTECHREF\mytechref\user\tmark
     Status:   Success
[07/01/14 11:39:06.537]:Oracle ST:End transaction.
[07/01/14 11:39:06.537]:Oracle ST:Start transaction.
[07/01/14 11:39:06.541]:Oracle ST:Processing events for transaction.
[07/01/14 11:39:06.542]:Oracle ST:
<nds dtdversion="4.0" ndsversion="8.x">
  <source>
    <product edition="Evaluation" version="4.0.2.0">DirXML</product>
    <contact>Novell, Inc.</contact>
  </source>
  <input>
    <modify cached-time="20140701153906.190Z" class-name="User" event-id="linux-IDM#20140701153906#1#2:fa811315-4f69-4a53-3ca0-151381fa694f" qualified-src-dn="O=mytechref\OU=user\CN=tmark" src-dn="\MYTECHREF\mytechref\user\tmark" src-entry-id="33071" timestamp="1404229146#63">
      <association state="associated">IDU=385,table=USR,schema=INDIRECT</association>
      <modify-attr attr-name="nspmDistributionPassword"><!-- content suppressed -->
      </modify-attr>
    </modify>
  </input>
</nds>
[07/01/14 11:39:06.544]:Oracle ST:Password synchronization event detected.
[07/01/14 11:39:06.544]:Oracle ST:No event transformation policies.
[07/01/14 11:39:06.544]:Oracle ST:Subscriber processing modify for \MYTECHREF\mytechref\user\tmark.
[07/01/14 11:39:06.544]:Oracle ST:Password synchronization command detected.
[07/01/14 11:39:06.545]:Oracle ST:Applying command transformation policies.
[07/01/14 11:39:06.546]:Oracle ST:Applying XSLT policy: %+C%14CReplica+Value%-C.
[07/01/14 11:39:06.548]:Oracle ST:Policy returned:
[07/01/14 11:39:06.548]:Oracle ST:
<nds dtdversion="4.0" ndsversion="8.x">
  <source>
    <product edition="Evaluation" version="4.0.2.0">DirXML</product>
    <contact>Novell, Inc.</contact>
  </source>
  <input>
    <modify cached-time="20140701153906.190Z" class-name="User" event-id="linux-IDM#20140701153906#1#2:fa811315-4f69-4a53-3ca0-151381fa694f" qualified-src-dn="O=mytechref\OU=user\CN=tmark" src-dn="\MYTECHREF\mytechref\user\tmark" src-entry-id="33071" timestamp="1404229146#63">
      <association state="associated">IDU=385,table=USR,schema=INDIRECT</association>
      <modify-attr attr-name="nspmDistributionPassword"><!-- content suppressed -->
      </modify-attr>
    </modify>
  </input>
</nds>
[07/01/14 11:39:06.549]:Oracle ST:Applying policy: %+C%14CPassword(Sub)-Transform Distribution Password%-C.
[07/01/14 11:39:06.550]:Oracle ST:  Applying to modify #1.
[07/01/14 11:39:06.550]:Oracle ST:Policy returned:
[07/01/14 11:39:06.550]:Oracle ST:
<nds dtdversion="4.0" ndsversion="8.x">
  <source>
    <product edition="Evaluation" version="4.0.2.0">DirXML</product>
    <contact>Novell, Inc.</contact>
  </source>
  <input>
    <modify cached-time="20140701153906.190Z" class-name="User" event-id="linux-IDM#20140701153906#1#2:fa811315-4f69-4a53-3ca0-151381fa694f" qualified-src-dn="O=mytechref\OU=user\CN=tmark" src-dn="\MYTECHREF\mytechref\user\tmark" src-entry-id="33071" timestamp="1404229146#63">
      <association state="associated">IDU=385,table=USR,schema=INDIRECT</association>
      <modify-attr attr-name="nspmDistributionPassword"><!-- content suppressed -->
      </modify-attr>
    </modify>
  </input>
</nds>
[07/01/14 11:39:06.551]:Oracle ST:Applying policy: %+C%14CPassword(Sub)-Default Password Policy%-C.
[07/01/14 11:39:06.552]:Oracle ST:  Applying to modify #1.
[07/01/14 11:39:06.552]:Oracle ST:Policy returned:
[07/01/14 11:39:06.552]:Oracle ST:
<nds dtdversion="4.0" ndsversion="8.x">
  <source>
    <product edition="Evaluation" version="4.0.2.0">DirXML</product>
    <contact>Novell, Inc.</contact>
  </source>
  <input>
    <modify cached-time="20140701153906.190Z" class-name="User" event-id="linux-IDM#20140701153906#1#2:fa811315-4f69-4a53-3ca0-151381fa694f" qualified-src-dn="O=mytechref\OU=user\CN=tmark" src-dn="\MYTECHREF\mytechref\user\tmark" src-entry-id="33071" timestamp="1404229146#63">
      <association state="associated">IDU=385,table=USR,schema=INDIRECT</association>
      <modify-attr attr-name="nspmDistributionPassword"><!-- content suppressed -->
      </modify-attr>
    </modify>
  </input>
</nds>
[07/01/14 11:39:06.554]:Oracle ST:Applying policy: %+C%14CPassword(Sub)-Check Password GCV%-C.
[07/01/14 11:39:06.554]:Oracle ST:  Applying to modify #1.
[07/01/14 11:39:06.554]:Oracle ST:Policy returned:
[07/01/14 11:39:06.554]:Oracle ST:
<nds dtdversion="4.0" ndsversion="8.x">
  <source>
    <product edition="Evaluation" version="4.0.2.0">DirXML</product>
    <contact>Novell, Inc.</contact>
  </source>
  <input>
    <modify cached-time="20140701153906.190Z" class-name="User" event-id="linux-IDM#20140701153906#1#2:fa811315-4f69-4a53-3ca0-151381fa694f" qualified-src-dn="O=mytechref\OU=user\CN=tmark" src-dn="\MYTECHREF\mytechref\user\tmark" src-entry-id="33071" timestamp="1404229146#63">
      <association state="associated">IDU=385,table=USR,schema=INDIRECT</association>
      <modify-attr attr-name="nspmDistributionPassword"><!-- content suppressed -->
      </modify-attr>
    </modify>
  </input>
</nds>
[07/01/14 11:39:06.556]:Oracle ST:Applying policy: %+C%14CPassword(Sub)-Add Password Payload%-C.
[07/01/14 11:39:06.556]:Oracle ST:  Applying to modify #1.
[07/01/14 11:39:06.556]:Oracle ST:Policy returned:
[07/01/14 11:39:06.556]:Oracle ST:
<nds dtdversion="4.0" ndsversion="8.x">
  <source>
    <product edition="Evaluation" version="4.0.2.0">DirXML</product>
    <contact>Novell, Inc.</contact>
  </source>
  <input>
    <modify cached-time="20140701153906.190Z" class-name="User" event-id="linux-IDM#20140701153906#1#2:fa811315-4f69-4a53-3ca0-151381fa694f" qualified-src-dn="O=mytechref\OU=user\CN=tmark" src-dn="\MYTECHREF\mytechref\user\tmark" src-entry-id="33071" timestamp="1404229146#63">
      <association state="associated">IDU=385,table=USR,schema=INDIRECT</association>
      <modify-attr attr-name="nspmDistributionPassword"><!-- content suppressed -->
      </modify-attr>
    </modify>
  </input>
</nds>
[07/01/14 11:39:06.557]:Oracle ST:Filtering out notification-only attributes.
[07/01/14 11:39:06.558]:Oracle ST:Fixing up association references.
[07/01/14 11:39:06.558]:Oracle ST:Applying schema mapping policies to output.
[07/01/14 11:39:06.558]:Oracle ST:Applying policy: %+C%14CSchema+Mapping+Rule%-C.
[07/01/14 11:39:06.558]:Oracle ST:  Mapping attr-name 'nspmDistributionPassword' to 'USR_PWD'.
[07/01/14 11:39:06.558]:Oracle ST:  Mapping class-name 'User' to 'INDIRECT.USR'.
[07/01/14 11:39:06.559]:Oracle ST:Applying output transformation policies.
[07/01/14 11:39:06.559]:Oracle ST:Applying policy: %+C%14COutput Transformation%-C.
[07/01/14 11:39:06.559]:Oracle ST:  Applying to modify #1.
[07/01/14 11:39:06.559]:Oracle ST:Policy returned:
[07/01/14 11:39:06.559]:Oracle ST:
<nds dtdversion="4.0" ndsversion="8.x">
  <source>
    <product edition="Evaluation" version="4.0.2.0">DirXML</product>
    <contact>Novell, Inc.</contact>
  </source>
  <input>
    <modify cached-time="20140701153906.190Z" class-name="INDIRECT.USR" event-id="linux-IDM#20140701153906#1#2:fa811315-4f69-4a53-3ca0-151381fa694f" qualified-src-dn="O=mytechref\OU=user\CN=tmark" src-dn="\MYTECHREF\mytechref\user\tmark" src-entry-id="33071" timestamp="1404229146#63">
      <association state="associated">IDU=385,table=USR,schema=INDIRECT</association>
      <modify-attr attr-name="USR_PWD"><!-- content suppressed -->
      </modify-attr>
    </modify>
  </input>
</nds>
[07/01/14 11:39:06.560]:Oracle ST:Applying policy: %+C%14CPassword(Sub)-Pub Email Notifications%-C.
[07/01/14 11:39:06.560]:Oracle ST:  Applying to modify #1.
[07/01/14 11:39:06.560]:Oracle ST:Policy returned:
[07/01/14 11:39:06.560]:Oracle ST:
<nds dtdversion="4.0" ndsversion="8.x">
  <source>
    <product edition="Evaluation" version="4.0.2.0">DirXML</product>
    <contact>Novell, Inc.</contact>
  </source>
  <input>
    <modify cached-time="20140701153906.190Z" class-name="INDIRECT.USR" event-id="linux-IDM#20140701153906#1#2:fa811315-4f69-4a53-3ca0-151381fa694f" qualified-src-dn="O=mytechref\OU=user\CN=tmark" src-dn="\MYTECHREF\mytechref\user\tmark" src-entry-id="33071" timestamp="1404229146#63">
      <association state="associated">IDU=385,table=USR,schema=INDIRECT</association>
      <modify-attr attr-name="USR_PWD"><!-- content suppressed -->
      </modify-attr>
    </modify>
  </input>
</nds>
[07/01/14 11:39:06.561]:Oracle ST:Submitting document to subscriber shim:
[07/01/14 11:39:06.562]:Oracle ST:
<nds dtdversion="4.0" ndsversion="8.x">
  <source>
    <product edition="Evaluation" version="4.0.2.0">DirXML</product>
    <contact>Novell, Inc.</contact>
  </source>
  <input>
    <modify cached-time="20140701153906.190Z" class-name="INDIRECT.USR" event-id="linux-IDM#20140701153906#1#2:fa811315-4f69-4a53-3ca0-151381fa694f" qualified-src-dn="O=mytechref\OU=user\CN=tmark" src-dn="\MYTECHREF\mytechref\user\tmark" src-entry-id="33071" timestamp="1404229146#63">
      <association state="associated">IDU=385,table=USR,schema=INDIRECT</association>
      <modify-attr attr-name="USR_PWD"><!-- content suppressed -->
      </modify-attr>
    </modify>
  </input>
</nds>
[07/01/14 11:39:06.563]:Oracle ST:BEGIN Transaction 
[07/01/14 11:39:06.564]:Oracle ST:  UPDATE INDIRECT.USR SET USR_PWD = ? WHERE IDU = ?
[07/01/14 11:39:06.564]:Oracle ST:      IN  @ index  1, field 'USR_PWD', length: 9, value = 'Welcome01'
[07/01/14 11:39:06.564]:Oracle ST:      IN  @ index  2, field 'IDU', value = 385
[07/01/14 11:39:06.568]:Oracle ST:  COMMIT
[07/01/14 11:39:06.568]:Oracle ST:END   Transaction 
[07/01/14 11:39:06.569]:Oracle ST:SubscriptionShim.execute() returned:
[07/01/14 11:39:06.569]:Oracle ST:
<nds dtdversion="2.0" ndsversion="8.x" xmlns:jdbc="urn:dirxml:jdbc">
  <source>
    <product build="20120601_0445" instance="Oracle" version="3.5.9">DirXML Driver for JDBC</product>
    <contact>Novell, Inc.</contact>
  </source>
  <output>
    <status event-id="linux-IDM#20140701153906#1#2:fa811315-4f69-4a53-3ca0-151381fa694f" jdbc:update-count="1" level="success"/>
  </output>
</nds>
[07/01/14 11:39:06.570]:Oracle ST:Applying input transformation policies.
[07/01/14 11:39:06.570]:Oracle ST:Applying policy: %+C%14CPassword(Pub)-Sub Email Notifications%-C.
[07/01/14 11:39:06.570]:Oracle ST:  Applying to status #1.
[07/01/14 11:39:06.570]:Oracle ST:Policy returned:
[07/01/14 11:39:06.571]:Oracle ST:
<nds dtdversion="2.0" ndsversion="8.x" xmlns:jdbc="urn:dirxml:jdbc">
  <source>
    <product build="20120601_0445" instance="Oracle" version="3.5.9">DirXML Driver for JDBC</product>
    <contact>Novell, Inc.</contact>
  </source>
  <output>
    <status event-id="linux-IDM#20140701153906#1#2:fa811315-4f69-4a53-3ca0-151381fa694f" jdbc:update-count="1" level="success"/>
  </output>
</nds>
[07/01/14 11:39:06.571]:Oracle ST:Applying schema mapping policies to input.
[07/01/14 11:39:06.572]:Oracle ST:Applying policy: %+C%14CSchema+Mapping+Rule%-C.
[07/01/14 11:39:06.572]:Oracle ST:Resolving association references.
[07/01/14 11:39:06.572]:Oracle ST:Processing returned document.
[07/01/14 11:39:06.572]:Oracle ST:Processing operation <status> for .
[07/01/14 11:39:06.573]:Oracle ST:
DirXML Log Event -------------------
     Driver:   \MYTECHREF\mytechref\MytechRef\Oracle
     Channel:  Subscriber
     Object:   \MYTECHREF\mytechref\user\tmark
     Status:   Success
[07/01/14 11:39:06.575]:Oracle ST:No password synchronization commands detected, assumed vetoed.
[07/01/14 11:39:06.576]:Oracle ST:Password synchronization event status recorded.
[07/01/14 11:39:06.577]:Oracle ST:End transaction.
------------------------------------------------

Blue 

          Driver filter applies where only the filter attributes will be passed on to the dirver.

Red

       Schema Mapping happens with database columns

Green

      Sequence function calls and create the unique sequence number for each row in database.

Purple

        Password Synchronization event is deteced and goes through Driver Filter, Schema mapping and appending to same sequence.

Indigo

          Show the status code:       Success

End result in database as shown

 

db_output

 

---------------------------------------------------------------------------------------------------------------------------------------------

Disclaimer: Content posted here worked for me and may not guarantee success, should be used as reference only and please use it cautiously.