A bayon blog reader wrote me and asked if I had any additional information on scheduling ETL mappings and process flows. I had not fiddled too much with that part of the product; the Oracle provided run_my_owb_stuff.sql and SQL Templates for Enterprise Manager had usually been sufficient for my customers. There are some new scheduling features in Paris and without the reader request I probably would have just passed them up. So while this covers a somewhat smaller feature of the new version, it’s still interesting and makes a nice installation in my OWB Paris Early Review series.

To address scheduling needs there are entirely new OWB objects, appropriately called “Schedule Modules” and “Schedules.” Those current users of the product are well aware that in previous versions of the product, no such objects existed so it’s helpful to show how these are used. One creates a new Module which is merely a container to hold the actual Schedule objects. Note: I haven’t found anything particular interesting about the module definition in terms of deployment or configuration, but perhaps it’s used in the multi-configuration deployments.

Then one creates the schedule that will contain information on when to run an OWB Mapping Process flow. Note: I tested this feature with a Mapping but not a process flow. All the documentation I’ve seen from Oracle mentions that Schedules can be applied to either Mappings or Process Flows.

Now we see a wizard, which happens to be a conundrum. Wizards are usually helpful in providing the most common use cases with a honed interface, however the actual Schedule editor is far more intuitive than the wizard as you’ll see below. I think it a bit strange that the wizard is less helpful than the actual editor; any other testers out there have an opinion please email me!

We’ll define a start and end date for the Schedule which defines the bounds on which it will run. Perhaps you’ve built a Mapping that only runs for the next 3 months during an OLTP system migration so you can define when this schedule will no longer run.

And now we’ll set our recurrence… Don’t worry, you can see more details and have more control over the Schedule in the actual editor.

I’ve now created my schedule, LOAD_EMP_EVERY_2_MINUTES and have opened it in the editor. You can see this is a much better way of visually editing the Schedule. It projects the schedule in a hierarchical manner in the Schedule Preview window (you can flatten it if you so choose). It also allows you to set clauses here, so you can fine tune when it will execute. You might need to use this if you need to limit the Schedule so that it only runs on say Monday Thru Friday when the system is populating data.

Next step is to CONFIGURE the Mapping and let OWB know that we intend to use a certain schedule when we “Run” our Mapping (or flow). For this example, we’ll assume we’ve already created and tested an OWB mapping named “STAGE_EMP_TABLE” that’s been deployed and runs properly via the Control Center.

Now, when we head back into our Control Center panel we see a new Item that hasn’t been deployed named “STAGE_EMP_TABLE_JOB.” We deploy this object

We know see we have an available job in our Control Center. Remember that in Paris, nearly all (if not all) of the Control Center runs asynchronously now i.e. the client doesn’t block while deploying an application or running a mapping or process flow.

Now, according to OWB my Job has been scheduled and is running! It shows the job, when it last ran was, and what the return was of that run. In my example, the last run was sucessful and finished at 6PM on 2/25/2005.

I did manually verify the job was running, ensuring that STAGE_EMP_TABLE was executed properly each time. You can also see a list of the runs and which job they are associated with. The control center is showing me that it is currently running the job, and that it ran the job previously twice successfully. Notice the seperation of the time is two minutes apart, so it appears as if my schedule was about right. This is completion time, so don’t be worried if it doesn’t match up because while your job may start at the correct time, it may finish with varied elapsed times.

I do believe the only way to change the schedule, Start and Stop the Scheduled jobs is through the proper OWB Client. I took a quick look at the OWB Web Based browser and it does not appear as if you can make changes. My Paris copy mentions that the browser isn’t even going to be in the Beta release so I am probably just seeing some partial build with an incomplete version of the OWB Browser.

For those that this feature matters, this will be very helpful. OWB is really shooting to be a one stop shop for all your Data Warehouse/ETL needs and the scheduling feature is a nice little piece of that. Happy OWB scheduling to ya!

This blog is part of the OWB Paris Early Review series which reviews and comments on several new Paris features.