Pages

Wednesday, July 23, 2014

DAC task synchronization failed with the error Whitespace required

Issue: DAC task synchronization failed with the error "Whitespace required"

 Today when I synchronized the task in DAC, it got failed with below error. 

MESSAGE:::oracle.xml.parser.v2.XMLParseException: Whitespace required.
EXCEPTION CLASS::: com.siebel.etl.gui.core.MetaDataIllegalStateException

com.siebel.analytics.etl.infa.fileParsing.Infa7WfXmlDomParser.parse(Infa7WfXmlDomParser.java:97)
com.siebel.analytics.etl.infa.fileParsing.Infa7WfXmlDomParser.parseAll(Infa7WfXmlDomParser.java:79)
com.siebel.analytics.etl.infa.fileParsing.Infa7WfXmlDomParser.parseAll(Infa7WfXmlDomParser.java:75)
com.siebel.analytics.etl.infa.fileParsing.TaskSync.sync(TaskSync.java:158)
com.siebel.analytics.etl.client.action.TaskSynchronizationAction.doOperation(TaskSynchronizationAction.java:145)
com.siebel.etl.gui.view.dialogs.WaitDialog.doOperation(WaitDialog.java:54)
com.siebel.etl.gui.view.dialogs.WaitDialog$WaitDialogRunnableHelper.run(WaitDialog.java:86)
java.lang.Thread.run(Unknown Source)

::: CAUSE :::
MESSAGE:::Whitespace required.
EXCEPTION CLASS::: oracle.xml.parser.v2.XMLParseException

oracle.xml.parser.v2.XMLError.flushErrors1(XMLError.java:323)
oracle.xml.parser.v2.NonValidatingParser.parseDocument(NonValidatingParser.java:376)
oracle.xml.parser.v2.XMLParser.parse(XMLParser.java:226)
oracle.xml.jaxp.JXDocumentBuilder.parse(JXDocumentBuilder.java:155)
javax.xml.parsers.DocumentBuilder.parse(Unknown Source)
com.siebel.analytics.etl.infa.fileParsing.Infa7WfXmlDomParser.parse(Infa7WfXmlDomParser.java:91)
com.siebel.analytics.etl.infa.fileParsing.Infa7WfXmlDomParser.parseAll(Infa7WfXmlDomParser.java:79)
com.siebel.analytics.etl.infa.fileParsing.Infa7WfXmlDomParser.parseAll(Infa7WfXmlDomParser.java:75)
com.siebel.analytics.etl.infa.fileParsing.TaskSync.sync(TaskSync.java:158)
com.siebel.analytics.etl.client.action.TaskSynchronizationAction.doOperation(TaskSynchronizationAction.java:145)
com.siebel.etl.gui.view.dialogs.WaitDialog.doOperation(WaitDialog.java:54)
com.siebel.etl.gui.view.dialogs.WaitDialog$WaitDialogRunnableHelper.run(WaitDialog.java:86)

java.lang.Thread.run(Unknown Source)

Did some investigation to resolve the issue. Verified the "Task name", "Command for Full load" and "Incremental load for naming"...etc.

And finally got some clues to resolve the issue.

Solution: Remove the escape characters from the description of the objects( Either in folder,mapping or session...etc objects description).


If you see the workflow xml, description field values in not parsing correctly because of the " (extra double quotes".


 So you just make sure the description column should not contain any special characters and escape characters.

CHEERS :)


Friday, July 18, 2014

DAC 11g Evaluate Parameters Feature

Issue: Sometimes before triggering the Execution plan, we always worrying about what parameters DAC  is going to pass to the Informatica.(Especially in BI Apps environment).

Solution: Use "DAC11g Evaluate parameters" feature available at Execution plan tab.

Here is the little more explanation to make use of it.

Step 1: Login to DAC and click  "Execution" button and select "Execution plan" tab then select your execution plan.

Execution plan selection

Step 2: Go to "Ordered Tasks" child tab and right click on any tasks. Select "Evaluate Parameters".

Right click on the tasks

Step 3: It will ask you to proceed. Click on "Yes".

Evaluate Parameters input window


Step 4: It will take sometime to get the parameters name and corresponding values.


So here is the output of the parameters name and their values.

Note: 

a) You will get to know whether the Task will go for Incremental or Full Load.
b) Initial Extract date and Last Extract Dates.
c) Database Connection values

 All these details are enough for us to stand confidently.

CHEERS :)

Disadvantage of DAC 11g patch feature and the resolution

Hi All,

 In my previous post DAC 11g code migration, we have discussed about how to perform patch migration(or subset code migration). 

 But I faced this issue later sometime with the patch migration.

Traditional Container Migration is taking longer time.

To get rid of this issue, I followed this method.

Taken the tables backup which involves in DAC PATCHING and truncated them.

CREATE TABLE W_ETL_PATCH_BKP AS select * from W_ETL_PATCH;CREATE TABLE W_ETL_PATCH_DATA_BKP AS select * from W_ETL_PATCH_DATA;CREATE TABLE W_ETL_PATCH_CHILD_BKP AS select * from W_ETL_PATCH_CHILD;CREATE TABLE W_ETL_PATCH_AUDIT_BKP AS select * from W_ETL_PATCH_AUDIT;CREATE TABLE W_ETL_APATCH_BKP AS select * from W_ETL_APATCH;

TRUNCATE TABLE W_ETL_PATCH;TRUNCATE TABLE W_ETL_PATCH_DATA;TRUNCATE TABLE W_ETL_PATCH_CHILD;TRUNCATE TABLE W_ETL_PATCH_AUDIT;TRUNCATE TABLE W_ETL_APATCH;

Note:- But take this approach on your own decision.


Saturday, July 12, 2014

Important DAC system properties

 In this post, we will discuss few important DAC system properties.


Name Value Default value Description
Allow Clients To Remember User Password TRUE TRUE When set to true, this property will allow the clients to remember the user's password while logging into repository.
Such passwords, though encrypted, are stored in the client machine's file system.
While accessing critical environments, like Production environments, the clients that connect to
the repository may not be trustworthy.  Under such circumstances, the Administrator can set this flag to 'false'.
When set to false, even if on the login screen the user clicks on remember password while connecting to such a repository,
the client will warn that the password cannot be remembered while logging into this repository, and the user
will be required to reenter the password every time he/she logs in.


One of my project DEV DAC server is not allowing me to save password. When I spent some time to get this issue resolved.
Concurrency Level 1 1 Maximum number of ETLs that can run in parallel. When concurrency of 1 is set, ETL will run
in the same process space with the DAC Server. When multiple ETLs are allowed,
they will run as separate OS processes.  Invalid value will be interpreted as 1.
Restart the DAC Server to effect the changes.

By Default only one EP will in DAC. When you configure this value, you will be able to mutiple EP's at the same time(provided by they are independent of each other)
Dryrun FALSE FALSE When set to true, all the Tasks will be executed without invoking Informatica Workflows.  The change capture, truncation of tables,
drop/create indexes and analyze statements will be executed for real. This should be treated as a debugging option and should never be used
in production mode.  The possible values are TRUE or FALSE.

The changes will be effective for the next ETL. Restarting the DAC Server is not required.

This option looks like similar to "No Run" option. But be careful while using it. It will not load the data but will do rest of the subtasks(Truncate/Drop/Create Index/Analyze)
No Run FALSE FALSE When set to true, this property will run the execution plan for just generating the tasks and their details.
None of the tasks will be executed, and the refresh dates will not be updated.  Use this only to debug.
The changes will be effective for the next ETL. Restarting the DAC Server is not required.

This is really really helpful option in DAC. I have been asked, whether the EP will run for FULL LOAD/INCREMENTAL LOAD couple of time. Then I have shown proof with this option. 
Scheduler.Poll.Interval 300 300 Value in seconds as to how often DAC server will poll for changes in Schedule configuration.
Restart the DAC Server to effect the changes.

 I have tried to schedule an execution plan to run just after 2 mins. Time is passing and the EP is not running at the expected time. Finally found here, the poll interval is set to 5 mins. Means atleast you have to provide this time for DAC to get the new schedule time.