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
- Sync objects from Identity Vault to Intermediate staging table, this is done by JDBC driver.
- 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()”)
Schema Mapping
Note: nspmDistributionPassword -> USR_PWD is missing in the screen shot.
Driver 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
---------------------------------------------------------------------------------------------------------------------------------------------
Disclaimer: Content posted here worked for me and may not guarantee success, should be used as reference only and please use it cautiously.