What's new in Oracle Warehouse Builder 10.2.0.4

Last week I mentioned that the Oracle Warehouse Builder 10.2.0.4 patchset was out for Linux and Windows; but what I did not mention what was in it! So to make amends here are a few of the highlights.

Firstly, this is not just a bug-fix release, even though there over 100 fixes listed in the patch readme; there are some new pieces of functionality and some of the documentation for existing functionality has been enhanced. So, what's new?

  • We can now use ROWID and ROWNUM pseudocolumns on TABLE, VIEW and MATERIALIZED VIEW operators; true, not everyone needs to use these pseudocolumns in their mappings, but when you do, easy access is a real plus
  • Set based DELETE load types are supported on TABLE operators
  • MERGE OPTIMIZATION on a TABLE allows a transformation that is only, say, applicable to the update part of the merge be applied to just the update, before it use to be used on both the UPDATE and the INSERT
  • Shadow tables (used for error logging) now support DML errors as well as logical errors triggered by data rule violations.
  • Oracle database version 11g is certified (that also means case specific passwords now work!)
  • There are some enhancements to better support Oracle Applications, it is noted that there are no plans to port these enhancements to OWB 11R1
  • And one of the OWB 10.2.0.2 enhancements that passed me by, and as 10.2.0.4 is cumulative patcheset, it is mentioned in the documentation, we can now use CONNECT BY in a filter operator to allow recursive self-joins on a table.
One of the big areas where some of our customers have had difficulties in the past is with the implementation of SCD2 type dimensions and their associated fact cubes. There have been examples of 'unfortunate coding' that have given rise to poor update performance, the documentation has not always been clear of what is required or even what the operators actually do. This has been addressed in this patchset. Many of the bugs fixes are included in this patch and the documentation clarified. For example there is very clear description of the versioning process and in particular hierarchy versioning and the new optional setting to allow a changed, versioned, parent to close-off child records and generate new children rather than the default of updating the children to link to the new version of the parent record.

It is worth remembering that OWB mapping code is generated by the client application and deployed to target database therefore you should update the client software as well as the server software.

With any patch you do need to test and test again, and this testing should also include the functionality that worked fine in the old release. In particular you should verify that performance is satisfactory. It is also worth reviewing the OTN forums to see if anyone is finding problems.