Schema comparison
Moderators: chulett, rschirm, roy
Schema comparison
Hello,
I have a requirement where i have to compare two databases one is backup database and other one is prod database. We have around 120 tables in each database schema and we have to produce delta by comparing those tables. Is there a optimal to do this. I am thinking of change capture stage. but do i need to design a single for each pair of database comparison that would be 120 jobs? is there a way i can compare the whole schema?
Apprecaite your help.
Regards
I have a requirement where i have to compare two databases one is backup database and other one is prod database. We have around 120 tables in each database schema and we have to produce delta by comparing those tables. Is there a optimal to do this. I am thinking of change capture stage. but do i need to design a single for each pair of database comparison that would be 120 jobs? is there a way i can compare the whole schema?
Apprecaite your help.
Regards
Hello chulettchulett wrote:What database? Most come with tools, or third-pary tools exist for tasks like this. It would be cumbersome and time-consuming to accomplish this via ETL, I would think.
Yes it is cumbersome i certainly agree with that. But is there a optimal option by using ETL datastage?. we cant do multiple instances as 122 tables have different metadata.
I don't think there will be anything "optimal" about an ETL solution to this problem. This is really a DBA task to validate "backup" databases. And as far as I know, if you really want to go down this road you will need 122 jobs for this... but at least they will all be very very (very) similar.
Set it up once and then clone, clone, clone.
ps. You still haven't mentioned the database - Oracle, DB2, ??
![Wink :wink:](./images/smilies/icon_wink.gif)
Set it up once and then clone, clone, clone.
ps. You still haven't mentioned the database - Oracle, DB2, ??
-craig
"You can never have too many knives" -- Logan Nine Fingers
"You can never have too many knives" -- Logan Nine Fingers
Hello chulettchulett wrote:I don't think there will be anything "optimal" about an ETL solution to this problem. This is really a DBA task to validate "backup" databases. And as far as I know, if you really want to go down this road you will need 122 jobs for this... but at least they will all be very very (very) similar.![]()
Set it up once and then clone, clone, clone.
ps. You still haven't mentioned the database - Oracle, DB2, ??
Thanks for your reply.The delta will be done on oracle databases.
Thanks
Create schema files for all tables
Create a job that does nothing but compare two sets of data (Change capture or Difference stage)
Turn RCP on
Use a set of common columns as keys - audit columns can be a candidate key
Mark all non key columns are values to true
Pass the schema file names as parameters to your job
I have not tried this but theoretically should work if you have common audit keys across both databases. The experts can tell you why it will not![Wink :wink:](./images/smilies/icon_wink.gif)
Create a job that does nothing but compare two sets of data (Change capture or Difference stage)
Turn RCP on
Use a set of common columns as keys - audit columns can be a candidate key
Mark all non key columns are values to true
Pass the schema file names as parameters to your job
I have not tried this but theoretically should work if you have common audit keys across both databases. The experts can tell you why it will not
![Wink :wink:](./images/smilies/icon_wink.gif)
-
- Premium Member
- Posts: 783
- Joined: Mon Jan 16, 2006 10:17 pm
- Location: Sydney, Australia
Hello Keshavkeshav0307 wrote:yes this can be done in a single CDC job.
if you are comapring record to record then read all column as as column( by concanating them). the CDC will give output of the record difference
Thanks for your reply.Can you please explain me more elaborately since i am using two oracle stages to compare (delta) how can i pass the schema file as a parameter and also how to read all the columns from oracle as a single column.
Thanks
Hello Keshav,keshav0307 wrote:yes this can be done in a single CDC job.
if you are comapring record to record then read all column as as column( by concanating them). the CDC will give output of the record difference
Since we are comparing 122 tables we have different metadata for each pair of tables. how can we do that
Thanks
-
- Premium Member
- Posts: 783
- Joined: Mon Jan 16, 2006 10:17 pm
- Location: Sydney, Australia
Hello Keshav,keshav0307 wrote:you didn't read it carefully.that means irrespective of the table, there will always be only one column.if you are comapring record to record then read all column as as column( by concanating them). the CDC will give output of the record difference
how to do that for reading multiple tables and how to pass the schema file as parameter for oracle stage.
Thanks