I'm looking for opinions on what I should do with a locking situation with a 3rd party application during very high row count data updates (over 3 million rows at a time).
System: AIX 5.1, DB2 8 fp4a, WebSphere, + a 3rd party java application (I cannot disclose who they are).
Only 30 concurrent connections during the day and no lock contention or escalations with typical user interface use.
The Problem - a nightly data migration inserts and updates millions of rows of data. This is absolutely out of our control. The process is "owned" by the vendor and they insist the methods they use are correct

The result is a lot of lock escalations from row to table locks - not to mention the need for excessively sized and numerous log files.
The locklist is 153,600 already with a maxlocks of 10%. My possibly faulty estimates show that even the 524,288 maximum for the locklist + a setting maxlocks to 100% still would not provide enough locks to allow row locking.
Solution? - Could I alter the "huge" tables to default table lock just before the nightly run, then switch them back to default row lock after the run is complete? No 2 processes access the same table at once, so this may work. I haven't tested it yet though.
Also, does anyone else out there need to update millions of rows at a time - all in a single transaction? How did you resolve row lock issues without resulting in table locks escalations? Remember, we cannot ask the vendor to "split up" the updates and commit every 10,000 rows or so.
Thanks in advance for any advice.
-- Steve