Wednesday, February 20, 2008

Issues and workarounds for the Siebel DAC compare and Merge strategy


The Siebel provided DAC compare and merge strategy is a nice tool that helps us identify differences between a source DAC repository and the target DAC repository. Also helps to figure out which objects are to be moved to the target.
But, there onwards the merge process is manual and a big waste of time. One cheat used by many administrators is to simply copy the repository from the lower environment to the higher environment. This works, but it has one major drawback. The last ETL process id is inherited from the lower environment.
The implication is that the run ids stored in the Run Stats table has no relation to the run number stored in the W_PARAM_G table and it becomes a major challenge to figure out which ETL run did what. Then one has to meddle with the DAC repository tables to get the last ETL process being stored in the DAC repository in sync with the numbers stored in W_PARAM_G. This is a risky proposition especially if one has not understood the relationships between the repository tables and the significance of all the long keys stored by Siebel in the repository to maintain the relationship between the tables.
So, here is a solution which we have tried out (with success) to move a DAC repository from a lower environment to a higher environment without making a hash of the run history.The basic idea here is to move only few selected tables from the source environment to the target instead of doing a complete repository overwrite.
The steps are as below:
Step 1: Take backup (Export) from Target DAC Repository make it separate folder(Just for Backup)
Step 2: Import Schema DAC repository into to Target DAC repository
Step 3: Export below mention Tables from Source DAC Repository. Make a separate folder which should contain below mention tables (20) only.
Sr. NoEntityMain Table
1Database ConnectionsW_ETL_DBCONN
2Database IndicesW_ETL_DB_INDEX
3Database TablesW_ETL_TABLE_DT
4Execution PlanW_ETL_DEFN
5Execution Plan—Database ConnectionsW_ETL_DEFN_DB
6Execution Plan—Subject AreaW_ETL_DEFN_SA
7Execution Plan—Pre-PostStepsW_ETL_DEFN_STEP
8GroupW_ETL_GROUP
9Group TableW_ETL_GRP_TBL
10Index ColumnsW_ETL_INDEX_COL
11IndicesW_ETL_INDEX
12Informatica FolderW_ETL_FOLDER
13TablesW_ETL_TABLE
14TasksW_ETL_STEP
15Task DependenciesW_ETL_STEP_DEP
16Task PhaseW_ETL_PHASE
17Task TablesW_ETL_STEP_TBL
18Subject AreaW_ETL_SA
19Subject Area/GroupW_ETL_SA_GROUP
20System PropertiesW_ETL_SYSPROP
Step 4: Import this tables into Target DAC Repository.
Step 5: After importing we need to make some changes in the Setup tab, Database connection and informatica server setup in Target DAC Repository.
Step 6: Refresh all dates (for full load)
The steps to refresh are: Tools–>ETL Management–> Reset Data Warehouse
Step 7: Before running Full Load truncate below mentioned tables, please take backup before truncating.
Tables:
  1. S_ETL_RUN from OLTP
  2. W_ETL_RUN_S from OLAP

Any better ideas out there?
Inputs from Raghunatha Yadav & Sanjay Rao

you can read it More SiebelDAC

0 comments:

Post a Comment