Showing posts with label ETL. Show all posts
Showing posts with label ETL. Show all posts

Tuesday, September 23, 2008

DataStage Error - [General repository interface 'other error']

Situation
Today,one of my DataStage job that is scheduled to be run everyday suddenly failed and below is the error message that I captured in DataStage Director.

jobControlForEntity..JobControl (@JA_loadETLStreamFromRelationship): Controller problem: Error calling DSRunJob(loadETLStreamFromRelationship), code = -99
[General repository interface 'other error']


When I saw this error message, I really have no clues on why this error message is thrown as the job is running without fail all the time. Anyway, after spending a couple of hours to debug it and I managed to resolve this.


Solutions
  1. Create a new copy of the loadETLStreamFromRelationship by right click on the job and select Create Copy. A new job with the name CopyOfloadETLStreamFromRelationship is created.
  2. Change the job sequence to invoke the new copy of the job which is CopyOfloadETLStreamFromRelationship.
  3. Recompile and re-run the job. Now the job running fine without throwing any errors as stated above.
  4. Delete the previous job loadETLStreamFromRelationship.
  5. Rename the new copy of the job to become loadETLStreamFromRelationship and change back the sequence to invoke the loadETLStreamFromRelationship.

Hope this helps.

Wednesday, February 13, 2008

Slowly Changing Dimension (SCD)

In dimensional data warehouse, most dimensions change over time. When a dimension changes, e.g. when a product get renamed or product get a new category. Therefore we must maintain the dimension history to ensure that old sales orders will still be able to reference after the changes. In order to achieve this, the slowly changing dimension or in short SCD comes into the picture.

SCD is a technique for implementing history maintenance in dimensional data warehouse. In general, there are three types of SCD : SCD Type 1, SCD Type 2 and SCD Type 3. Let's define the types of SCD.

a) SCD Type 1

  • Updates dimension records by overwriting the existing data.
  • Used when no history of the records is maintained in the table like situation where we directly overwrite the incorrect data.

b) SCD Type 2

  • Doesn't delete or modify any existing data.
  • Whenever there is a change in source, a newer version of records will be created. This means that it will keep a full history of dimension data in the table.

c) SCD Type 3

  • Maintains just previous and current data.
  • It keep history by adding more than one column to records to maintain its history. For example, in customer dimension table, we will have two extra columns: Current_Address and Previous_Address.
  • Used to maintain a limited history where we have a database space constraint.