Free OWB Tuning PDF

I’ve been barely able to keep up with my current OWB projects and getting ready for my UKOUG presentation that I haven’t had ANY time to work on the previously floated ideas for blogs. However, I didn’t want to pass up the chance to add to a thread started on rittman.net.

Jon Mead, a colleague a SolStonePlus, emailed Mark and I about his findings about the tuning method “in the real world.” Jon and Mark had sorted out many of the details for how to generate diagnostic data for OWB Mappings and Flows. I asked to include this exceptional work in my OWB Tuning Workshop (which is the final afternoon of my Administration/Operations course) as part of a method for tuning OWB DW solutions. The method I put forth in the workshop includes information on generating detailed information for tuning particular mappings, but I included it as part of an overal process for tuning OWB Data Warehouses.


Method 1: OWB Runtime Data Analysis

This involves examination in greater detail the runtime audit information provided by the OWB runtime engine. The web based interface provides only per-run reporting, and there is currently not any Oracle provided interface for analyzing the data in the Runtime Repository. We’ll examine some of the data available as Oracle views, and understand what information is available to us. It provides performance data on a macro level, and does not provide detailed diagnostic information (an explain plan for instance).

Method 2: Mapping/Process Flow Analysis

We’ll learn how to set our mappings and process flows up to generate very detailed information about how Oracle is processing our logic, and an entire wealth of information used for common Oracle tuning practices. This includes being able to explain plan, receiving information on wait events, etc. We’ll learn how to implement these diagnostics in our mappings and process flows along with how to collect and assemble them from our Oracle server

Jon echoes the same reasons why this tracing should be used as part of an overal process: too much data and diagnostic data to sort through. Make sure your dollars are well spent and tune mappings one at a time. Tune the ones that will provide the most direct benefit (decrease in load time), or will not scale well (hockey stick anyone?). I have in my “OWB Toolbox” a little OWB Performance Data Mart that transforms the OWB Runtime View data into a ROLAP mart (with Disco). It’s pretty cool, actually! I’ll see if I can’t take some screenshots from a non-client instance (when I get the time, right?).

It might not be good business sense to publish parts of a course that I charge money for, but hitherto I’ve been a better techie than businessman so what do I care!? 🙂

Without further adieu here are the first 13 workbook pages (there’s 90 pages total) from the afternoon workshop that enumerates a method for tuning OWB solutions. Feel free to contact me with any feedback or if you think you could use some help tuning your OWB solution.

UPDATE: A reader sent me an email noting that there is a rather amusing metaphor mixup in the paper… Blog visitors from “.ca” should recognize it straight away. 🙂 I’ll revise it eventually.

OWB 10gR2 slips to 2006

Originally reported by Mark Rittman:

Apart from Report Center though, there were no significant new products launched at Open World that affect BI and data warehousing – indeed, we were told this week that OWB Paris won’t be out until calendar year 2006 (that’s over two years late by my estimation) so there probably won’t be much new going on for a while now.

I emailed the OWB product managers in Redwood Shores and they confirmed that Paris will not be out until calendar year 2006.

I have mixed feelings about this development. OWB 10gR2 is such a marked improvement on OWB capabilities that I am dissapointed that most customers are unable to use it on their DW projects. I’m building a new DW using Paris for a customer in Houston and parts of the development are SCREAMING by because of some of the new Dimensional modeling features. That being said, using the beta product I’ve been only at 80% effectiveness. Simple things still tend to blow up and take some time to sort out… This is not a bad product, it’s a beta product. In that regard, I’m happy they’re waiting. OWB is a solid tool… Releasing it too early with issues would not help the uptake and long term reputation of the product.

I’m just hopeful it’s not Paris in 2012!

Oracle Open World from afar

I couldn’t make Open World this year… too busy on my project to skip out for the week. Quite unfortunate! However, all the bloggers from the conference deserve our thanks for their coverage of OW. I’ve been listening to Keynotes, reading through presentations of interest, and otherwise getting much more of the “scoop” than in years past.

Thanks to all the OW bloggers on behalf of the world Oracle community!

Has it been that long?

My start page is my blog… Every time that Firefox launches there’s the bayon blog either
a) verifying that it’s still up, I’ve paid my domain fees, my ISP hasn’t crashed, and that everything is 5×5
-OR-
b) I haven’t posted anything of any consequence lately, my google page rank is lower, and overall I’ll feel like a slacker because I haven’t posted for a while

Unfortunately the past 6 weeks have very much been the latter instead of the former. My last post, on 8/7/2005 marked the starting week of a new “Paris” DW project that has kept me VERY busy (almost too busy). I’ve been queuing up several articles that just need the proper amount of time to take screenshots and write up… Here’s what I’ve got skeletons for:

  • CDC Expert for 10gR2: I’ve built an Expert that generates a Change Data Capture set of OWB objects (tables and mappings). I’ll release it publicly as soon as the preview release “hits the shelves” but ahead of that I can post some screenshots, etc.
  • OWB 10gR2 Transportable Modules: Using Data Pump and Transportable tablespaces one can do ETL at the speed of “copy”
  • OWB 10gR2 Real Time Data Warehousing: I had a customer wanting to do some “message based” integration with their BI system so I have some screen shots from a demo I did for them.
  • OWB 10gR2 What the Heck?: There some gotchas that could potentially break your OMB scripts, cause some of your perfectly valid 10gR1 operators to become invalid, etc. I’ll just post some of the gotchas I’ve found
  • Code Generation for Data Warehousing: I’ve been thinking about this a lot lately, and think there’s more opportunity here then most people think. I recently had a customer drop a spreadsheet with 300+ “master table” fields in front of me and asked what it would look like in a proper reporting (ie, Dimensional) model. I used OMB to generate 32 Dimensions (levels, keys, scd types, attributes) 8 cubes and all their corresponding measures and FKs in about a day. There’s opportunity to do more here…

Email me and let me know if you’d like to put a request a particular article… And check out the rittman.net article on Data Profiling!

Perhaps I'm mistaken on BizGres

I wasn’t exactly flattering to GreenPlum in this blog. I basically said that anything interesting they were doing was going to be in their MPP (commerical) instead of BizGres (Open Source). I’ve just looked (not used, just read in the docs) at the features for BizGres 0.7 and there are some interesting features in there.

  • Bitmap Index Scan Performance Enhancement
  • Table Partitioning
  • KETL – extract, transform and load (ETL) technology from Kinetic Networks
  • JasperReports from JasperSoft

Again, too busy at the mo’ to have a look although would love to see what the KETL is all about. We’ll see what the uptake and community acceptance is… It’ll be interesting to see what happens with the new three way partnership between Jasper/Kinetic/GreenPlum as well.

Pentaho Milestone 2 release

Since I probably piqued some interest with this blog, I figured I should post an update…

The folks at Pentaho have released some actual software. I’m head deep in an OWB Paris project so I’ve had ZERO time to have a look. I’d love for anyone who’s had a look to email me and let me know their impressions.

From their release briefing:

Using this release, you will be able to experience the streamlined install process and interact with a number of components and samples.

  • Reporting
    how to run reports, burst different content to different users, and parameterize reports.
  • Business rules
    how to include and use business rules in the creation and delivery of content.
  • Email
    how to send the results of a business rule or report creation to an email address, and how to do email bursting.
  • Printing
    how to print a report to a selected printer, how to do batch printing, and how to print bursting (applying different report parameters to individual printers).
  • Workflow
    how to initiate a workflow and pass parameters to it.
  • Bursting
    how to deliver customized versions of a generic report to different email addresses or printers
  • Scheduler
    how to schedule the actions of the Pentaho BI Platform
  • Web Services
    how to access the actions of the Pentaho BI Platform using web services
  • Navigation
    how to organize and describe content to users using Java Server Pages or portlets  
  • Many of the visual features such as wizards – you may have heard discussed or seen demonstrated are not scheduled for delivery until the next milestone release. Please bear this in mind as you use the product.

Using a different schema than username in OWB

It’s not uncommon to set up a special Oracle account to access data in another schema. This is common practice and a good practice, especially when it comes to reporting users.

You want to give a reporting user a limited view of the system; only SELECT access on known interface tables or only SELECT on tables in exactly one other schema. This helps protect the usually powerful schema owner (ACTUAL_SCHEMA) from being widely disseminated. This won’t be new to any bayon blog readers.

The question is:

How does one set up an OWB Oracle Data Source Module (ACTUAL_SCHEMA) that uses one username and password (LOW_PRIV_USER) for authentication but access the objects needed (ACTUAL_SCHEMA)?

The answer is:

You can’t in OWB 10gR1, but you can in OWB 10gR2 (in beta). Note: OWB Product Management emailed a solution in 10gR1 (see below)

I’d love to be wrong, so if anyone would like to send along a solution I’d be happy to post it here.

I reviewed the link area (for importing metdata), nothing! Ok, so perhaps it’s just for metadata. It’s not the end of the world as long as we can register when a different username/schema pair.

However, you can’t register using a different schema than the user either.

Last thought was to try and “Configure” a location, but you can’t do that.

I’m starting to sound like an Oracle employee, but the next version is great. This whole process was a snap with Paris.

If anyone has figured out how to do it in 10gR1 please email me and let me know.

UPDATE: The way to accomplish this in OWB 10gR1 is to configure the mapping to not use the LOCATION but to use a custom DBLink or schema prefix instead. I’ll try it and add a screenshot of this process, but basically this allows you to override the location for every mapping. Thanks Nikolai!

RSS and Paris Project

Did anyone notice that with the upgrades to the forums on OTN, there are now RSS feeds for forums and threads? What a welcome addition to the forums! Add the RSS for the Warehouse Builder forum to your RSS reader.

I’m head deep in a project building a new Data Warehouse with Paris. I’m getting to use even more areas than I had when I was just “kicking the tires.” I’m hoping to post some more findings over the next few weeks on volume, scalability, configuration, deployment, etc.

OWB Trace Data : ROWKEYs

I was diving into some details of the Runtime Audit Browser for the course I just created about Administration and Operation. As I was digging into some of the trace data displayed in the RAB I noticed that I had never actually used the “ROWKEY” here to lookup the actual database rows in question.


Example, some row has had an error during processing and an error message is generated here along with it’s ROWKEY.

When I saw the ROWKEY I realized I had not idea how to use it to find the actual row. The ROWKEY appears to be the record number within the cursor, which as most readers know means that you can’t actually use it to get to the physical row. I perused the OWB public runtime views and did not find anything useful there, as the only information provided was still this ROWKEY. I did some digging and found an undocumented VIEW that helps track down and find the Oracle ROWID that can be used to find the row in question.

Login to the OWB Runtime Repository owner (or some other user that has access to these views). Track down the execution audit id, which you can use the following query with your mapping name.

Next, use the following query (or some derivative) to generate a report with the cursor keys and the actual oracle ROWIDs. Note: This uses a view that is not part of the public OWB API so you should know that this might break at any point since Oracle has not made them an actual public interface.

You now have your ROWID for the trace rows… You can query for the actual row by using ROWID in Oracle by using a query like this:

Did you notice above, that in the trace data it was only the DML cursors that had ROW_IDENTs? What a bummer! If the DML succeeded and the row was inserted then there would probably not be a need to track it down using this method. Clearly this is of limited use since OWB appears not to track the ROWID of the SELECT cursors. If anyone has had any better luck on tracking down the SELECT ROWID (or other method to identify the errored rows) I’d love to hear from you, and I’d be happy to post it here.

OWB Administration and Operations Training

I put togther a three day training for a large US wireless company to help their Operations, System Administrators, and DBAs understand and administer an OWB Data Warehouse solution. These topics are covered only partially in the Oracle University course, and rightfully so. OWB is primarily a development tool and most people who use it are “developers;” some however are charged primarily with administering, testing, and managing OWB solutions. This course, offered only for private onsite trainings, is perfect for these individuals.

Here’s a PDF with the course outline, and sample slides. The training manual is hundreds of pages worth of slides, notes, and hands on exercises. If your company is interested in developing knowledge about OWB in your DBA, Operations, and System Administrators please email me to discuss bringing this course to your company.

This course is for Operators, Administrators, and Quality Assurance staff for organizations that utilize OWB. Students will learn the fundamental architecture of OWB, its repository structures, and how mappings are built (logically and physically). Students learn how to import, export, and sample metadata along with view metadata reports through the web. Students learn how to execute mappings from within OWB, and also from SQL scripts and Enterprise Manager.

Students will learn how to generate common trace files/plans for OWB mappings so they can leverage their existing knowledge and Oracle tuning skills. Students will understand the security features provided in OWB and what steps should be considered to help them secure their OWB installation. Students will also learn how to build powerful process flows, email notifications, error dispatching etc.