November 10, 2004
Deploying Mappings in Oracle Warehouse Builder
I just fell into a trap for young players, and spent a good couple of hours this morning trying and failing to deploy a mapping from Oracle Warehouse Builder to my development environment.
As an aide memoire and general help for anyone else in the situation here is what you need to do to deploy a mapping. For those new to Warehouse Builder beware that it has quite a complex internal model of the world. This allows it to support all kinds of different implementation models and configuration management scenarios. It can cause quite a bit of confusion to the simple minded developer trying a simple deployment to their own database though.
For the purposes of this discussion I am running Warehouse Builder version 126.96.36.199.8 although you should see the same behaviour with 10g (version 1).
I assume that you have successfully built and validated your mapping in the mapping editor. As part of this you will have needed to define at least one source module and a target module. You then need to define a location for each of these modules. The modules are roughly equivalent to database schemas (or collections of objects) and the locations are roughly equivalent to database instances (or a collection of data files and associated processes).
The final piece of the jigsaw is a runtime repository. This needs to be created and initialised using the Oracle Universal Installer on the same machine that your database runs on. Once that is installed you need to tell your Warehouse Builder client (and design repository) about it. Right click on the Runtime Repository Connections item in your project tree and select "Create Runtime Repository Connection", or press control-n.
With all of this done (and committed to the design repository) start the deployment manager. You can start it from the Project menu in the Warehouse Builder client or by double clicking on the Runtime Repository Connection you have created, or by right clicking on the Runtime Repository Connection and selecting "Editor ..." or by typing control-o.
Next, and this is where I failed spectacularly, you need to register all of your locations with the runtime repository. I think that this is a superfluous step and should really be done for you by Warehouse Builder. Once I try and deploy a mapping, or any other OWB component, the runtime repository should be updated with all of the details necessary for it to work. But this isn't the case so you have to do it manually before attempting anything else. Right click each of your locations (which the Warehouse Builder will have picked up from the design information you entered) and select the "Register" option.
Once this has been done select the object you wish to deploy, give it a suitable deployment action, pause whilst you look for the commit button or menu item that isn't there, press the deploy button (and look confused when a commit dialogue appears) and Bob should indeed by your Mother's brother.
Once more, I couldn't help think that a bit of task based product documentation would have been useful here. The Oracle by Example lessons helped and are definitely a step in the right direction, but still more should be done in the standard documentation that ships with the product. Bad Oracle.
You can probably tell from some of the preceding paragraphs that I'm quite amazed at how bad the user interface to OWB is. I need to spend some more time with the tool before I can do it justice though so I'll probably post a seperate entry on it.
Posted by Andy Todd at November 10, 2004 11:05 AM