Massive Deployment Script w/ 1.5 million DELETE Statements

Compares and synchronizes Oracle data

Massive Deployment Script w/ 1.5 million DELETE Statements

Postby jwortham » Mon Mar 25, 2013 3:21 pm

I’m using the Oracle Data Compare 2 tool to migrate configuration data from a DEV system to a PROD system and everything seems to be working beautifully right up until the deployment process. The script created from the output is ~453MB and as such I’m unable to open it in SQL Plus or Oracle SQL Developer; thus I’m resigned to deploy it using Red Gate’s built in deployment function. When doing this, the deployment progress bar gets to 63% in ~20 minutes and after that it appears to be taking an hour per percentage point after.

I've doing a bit of digging I've noticed that of the 2.3 million lines in the resulting deployment script, ~1.55 million of them are DELETE statements. However, I'm unclear why there would be so many DELETE statements. I don't have any of the "Target Only" columns unchecked when detailing what's going to be merged so everything should either be UPDATE or INSERT statements.

Because Oracle does such extensive logging on delete it makes sense that once the deployment process reached that spot that it would grind to a near screeching hault. Unfortunately, there is no way to disable logging on deletes in Oracle.

I'm really hoping for some assistance as I'd prefer not to have to wait 27+ hours for the deployment to process (I'm going to have to do it 2 or 3 times too, while we test the merge).

Some additional details that might help:
    Oracle Version: 11g
    Table Differences: 309
    Tables Selected for Deployment: 239
    Rows Selected for Deployment: 1,806,407 of 2,380,892
    Deployment Script Size: 422MB
    Total Number of Insert and Update Lines: 758,970
    Total Number of Delete Lines: 1,554,123
Posts: 1
Joined: Mon Mar 25, 2013 3:04 pm

Postby Michael Christofides » Thu Mar 28, 2013 4:20 pm

This issue was resolved through our support system.

For anybody else interested, when the target only check-box is checked it means that we include these "differences" in the deployment script. Including differences where the data only appears in the target means we drop those rows.

Just to avoid confusion it is explained in detail here:

There are also a couple of ways of breaking large deployment scripts into smaller ones. You can either select which tables to compare, or use a where clause on an individual table.

Michael Christofides
Product Manager - Oracle tools
Michael Christofides
Posts: 97
Joined: Wed Apr 20, 2011 5:37 pm
Location: Red Gate Software

Return to Data Compare for Oracle

Who is online

Users browsing this forum: No registered users and 0 guests