OWB 10.2 is slow
Has anyone noticed how the 10.2 version is much slower than 10.1? even deploying one object takes a while.
Hi Jean-Pierre,
Here a not exhaustive list of issues:
- Java client is really slow (hardware requirement of client PC should be better defined in the installation guide)
- Auto binding of cubes resets all partitioning settings of the related table
- Auto binding of cubes resets the names of the manually renamed FKs
- Outbound synchronization of a table resets all physical properties to their default values
- "java exception index out of bound" occurs on large/complex mappings -> Client crashes
- Exports of the OWB Metadata failed without any error message or log entry
- It is not possible to validate pluggable mappings.
- It is not easy to delete or edit locations.
- A user with read only right locks the object he is looking at
- When a table is opened all FK related tables are opened with it, which means that all related objects will also be locked.
- OWB doesn't support negative values in filters. A simple "-1" can not be defined. The workaround which has to be used is to write "0-1".
- OWB often generates wrong code when ORs are used in the condtitions
Also I don't understand the logic of your new licensing policy. :-(
Personally I would have expected a bit more from a software which was delayed by 18 months.
Similar Messages
-
Developers are complaining OWB 10.2 is slow
Hi,
Our shop has been using OWB 10g Release 1. Recently I upgraded to OWB 10g Release 2 (10.2.0.1.31 per inventory). This week our developers began to toy with it. Today, the developers who use it are telling me everything is very slow, the Design Center, Control Center Manager and the Runtime Audit Browser, all of it. It is unusable! Very slow compared to OWB 10g R1.
I searched this forum for help.... and I see many folks are complaining about OWB 10.2 performance.
I have two questions:
1) If I patch our OWB installation from 10.2.0.1.31 to 10.2.0.2 can I expect an improvement in performance? Can anyone comment on their own experiences please?
2) I saw someone wrote in this forum "if you have upgraded to 10gr2 I have pity on you...most of us are waiting until september unless we have dual core client pcs and stupider management..." Can someone tell me what is happening in September?
Note: Our environment meets the minimum requirements per the Warehouse Builder Installation and Administration Guide
Thanks,
PhanyHi
We also had same issue.So, we upgraded our hardware
1GB RAM at client and 4GB RAM at server.
2.5 Ghz Processor.
Also, we optimized repository. Now, i donot know what kind of optimization was done as it was done by our DBA.
This improved the performance OWB considerably.
Also, try using OEM for some statistics.This might help in identifying the performance related issues.
Im not sure, but I dont think that the number of mappings can affect the performance. The Slowness of OWB can be attributed to(as per my uderstanding)
1 Java GUI(since you have a very good hardware combibnation it shouldnt be main problem
2. Services/sessions : If the there are too many sessions or services running on the same server which are eating into the Memory available, then the performance would reduce.
I request others too correct me if im wrong
Hope this helps!
Regards
Vibhuti -
Hi all,
We are using OWB 10.2 on AIX 5.3L, with Oracle DB 10.2.0.
We are experiencing performance issues, in particular during mapping deploy.
Sometimes, a deploy of a single mapping takes over than 5 minutes.
In particular, we have discovered that when the DB is performing I/O bound operations, OWB experience becomes very slow. If we launch query or procedure via sqlplus, it runs immediately, even under high I/O.
Do you have similar experiences?
Can you suggest a strategy for the solution of this issue?
Bye,
AndreaDid you try to create the following indexes on your repositories schemas ?
create index wb_rt_idx_ao_ou on wb_rt_audit_objects (object_uoid) tablespace &tndex.;
create index wb_rt_idx_ao_pa on wb_rt_audit_objects (parent_audit_object_id) tablespace &tndex;
Regards
Matthias -
OWB descign client 11.2.03 extremely slow
Hi all,
I got accustomed to OWB's memory problems in the interface since 10 years, it has never been fixed properly. The screen is frozen for minutes and nobody knows why. But since 10gR2 thinks improved and with 11gR2 you can work reasonably. But today I installed 11.2.03 patch and it's slower then ever. What can I do? I don't like ODI very much and prefer using OWB but you can see in the ODI studio a good example how a Java client interface can work as lightweight as we know it from Windows applications.
Is there a known problem with the actual OWB?
best regards
ThomasHi,
the solution was surprisingly: I dropped the newly created database (UTF8) and created a new one with the WE8MSWIN1252 character set. And now it works perfectly!
I didn't know that UTF8 is just for the "Big Boys". I tried it since my customers insist on UTF8. But they have some Unix with 64 Bit. That's too much for my poor Win7.
best regards
Thomas -
Chunking + dimension operator+ owb 11g very slow
Anbody using chunking for loading SCD type 2 dimesnions in Oracle 11g.
Can it be used with dimension operator.
Also what is Max Chunk iterator count - can't see in the documentation?
Thinking about dicthing domension operator for one of our SCD type 2 as so slow.
Also doing simple thing like deploying mapping very slow - anybody seen this - other previous version used also slow but not as slow.
Other programming development tools thing on PC leads me to think problem with OWB.
Do we need to purge repository auidting tables?
If so is there a script to do this in Oracle 11g.
Any ideas/thought on above much appreciated.
Many ThanksHi,
Thanks for the excellent suggestion.
Have run other mapings which maintain SCD type 2 using dimesnion operator behave similary to 10g. - have raised issue with this particular mapping with Oracle - awaiting response.
One question - when look at the mappings which maintain SCD Type 2s looks to join on dimension key and the surrogate ids.
What is best practice regarding indexing of such a dimension, e.g is it recommended to index dimension key and the surrogate ids along with the natural/nbusiness keys?
Thanks -
OWB Slow Response at logon and General Client Performance
Hi all wonder if anyone confirm what i am seeing is normal. I am relatively new to OWB but we are running with 10G R2 but have noticed very poor response from a client perspective particular at logon. It take around six minutes for the design center logon box to appear after you have clicked on the icon which seam very slow. Also noticed that performance reduces within the client the longer you use the product in one session.
Question: Is what i am seeing just normal performance or can the OWB performance be improved by some form of configuration either client or java settings. My PC spec is detailed below and has 2GB of memory which was recommended by Oracle
OS Name Microsoft Windows XP Professional
Version 5.1.2600 Service Pack 2 Build 2600
Total Physical Memory 2,048.50 MB
Available Physical Memory 1.02 GB
Total Virtual Memory 2.00 GB
Available Virtual Memory 1.89 GB
Page File Space 2.82 GBHey all thanks for you responses, think you might have identified the problem with the Anti Virus, rebooted machine and just start OWB on its own. Mcafee was hitting the CPU hard for five minutes and then suddenly logon box appeared so looks like thats the issue. Note sure i will be able to get that changed as it is centrally administered global setting for all machines i think. At least that explains why it took so long.
Many thanks
Will double check the DB side of things as well -
Deployment very slow since moving to OWB 10.1.0.4.0 on new server
We recently moved our OWB development from a Windows box running OWB 10.1.0.2.0 client/10.1.0.1.0 repository to a Linux box running OWB 10.1.0.4.0 client & repository. The other change was from using separate schemas for the design and runtime repositories, to a single schema for both repositories.
Overall performance has improved significantly - designing and executing mappings for example. However, deployment of mapping objects is now taking considerably longer - around 5 to 7 minutes for a mapping that took 45 seconds to deploy on the old server. The initial and end stages of the deployement run quickly, but there's a gap of several minutes (with just a blank grey box displayed) between the 'Generation in Progress' and 'Object Compilation' dialogue boxes.
Can anyone suggest what the problem might be, or anything we should be checking?
The new server is an HP ProLiant DL380 G4, with dual Xeon 3.6 GHz processors, 4 Gbytes of RAM, and mirrored 2 x 146 discs. The Oracle files are held on an MSA1000 SAN.
Thanks in advance for any help/advice
ChrisHi
Try to analyze the design and the runtime repository schemas.
In Windows you can set memory for java in the owb client batch file.
Check and modify it if it is exists in Linux too.
Ott Karesz
http://www.trendo-kft.hu -
OWB Repository Browser - Execution Job Report Very Very Slow
Dear All,
I have tried searching the Oracle Forum, but could not find any threads with above problems, would like to check if there are other gurus who can help with above issue:
We are currently monitoring our ETL Jobs with Repository Browser (10GR2) and found the Repository Browser excruciatingly slow. The first screen for the Execution Summary Report shows up pretty fast, however whenever we want to drill further inthe Execution Job Reports, it takes almost 20 Minutes for the next screen to pop-up, and when we drill into the Process Flow Details it is another 20-40 Minutes.
We have tried the following but it does not work:
1) Purging the audit details to only 1-2 days audit data
2) Re-analyzing all tables belonging to OWB_REPO_OWNERIn Metalink:
Subject: Poor performance of RAB Runtime Audit Browser
Doc ID: Note:389800.1 Type: PROBLEM
Last Revision Date: 30-AUG-2006 Status: PUBLISHED
In this Document
Symptoms
Cause
Solution
Applies to: Oracle Warehouse Builder - Version: 10.2.0
This problem can occur on any platform.
SymptomsRAB shows poor performance. CauseThe problem has been tracked to the view definition for WB_RTV_EXECUTION_STORES.
The table function that is used in that view is causing the performance degradation.
Bug 5498665: REPOSITORY BROWSER TOO SLOW : PERF PROBLEM WITH INTERNAL VIEW
SolutionReplace the view wb_rtv_execution_stores.
SQL> connect <owb_unified_repository>/<password>
SQL> create or replace view wb_rtv_execution_stores
as
select
audit_execution_id,
task_object_store_uoid as store_uoid
from
wb_rt_audit_executions
where
task_object_store_uoid is not null and
task_object_store_uoid <> '{0}'
union select
audit_execution_id,
execution_store_uoid as store_uoid
from
wb_rt_audit_executions
where
execution_store_uoid is not null and
execution_store_uoid <> '{0}'
union select
audit_execution_id,
execution_object_store_uoid as store_uoid
from
wb_rt_audit_executions
where
execution_object_store_uoid is not null and
execution_object_store_uoid <> '{0}';
Regards
Detlef -
OWB 11gR2 - Internal ERROR: Can not find the ACL containter
OWB 11gR2 - Internal ERROR: Can not find the ACL containter
=======================================
I am using OWB 11gR2 (11.2.0.1) on Win XP 32 bit. I have 3.23 GB RAM. OWB design center is ver slow on my desktop. We have our OWB repository is on Unix server.
We applied the patch 10270220.
We are getting
Internal ERROR: Can not find the ACL containter for object:CMPPhysicalMap@19654/id=104020/owningFCO=104020/proxyFor=(CMPPhysicalMapGen@19f99ae/id=104020/stname=null/pname=MAPPING_1/lname=MAPPING_1/status=POSTED/committed=true/persistent=true/propsLoaded=true)
What is happening here?
Thanks in helping.We have a map with 3 sources and 1 target. The 3 sources pass through Joiner then Expression then Target.
We are getting this error, during deployment. It shows compling for awhile, then through this error.
Here is the piece from detail window:
===========
at oracle.wh.repos.pdl.security.SecurityPolicyManager.getAccessCharMapOfPrivilegeOwner(SecurityPolicyManager.java:174)
at oracle.wh.repos.impl.foundation.CMPElement.getAccessCharMapOfPrivilegeOwner(CMPElement.java:2806)
at oracle.wh.repos.pdl.security.OWBSecurityImpl.hasPrivilege(OWBSecurityImpl.java:914)
at oracle.wh.repos.pdl.security.OWBSecurityImpl.internalSecurityCheck(OWBSecurityImpl.java:1542)
at oracle.wh.repos.pdl.security.OWBSecurityImpl.securityCheck(OWBSecurityImpl.java:694)
at oracle.wh.repos.pdl.security.SecurityModuleImpl.securityCheck(SecurityModuleImpl.java:959)
at oracle.wh.repos.pdl.security.SecurityModuleImpl.securityCheck(SecurityModuleImpl.java:924)
at oracle.wh.repos.pdl.dispatcher.EventDispatcherImpl.beforeReadObject(EventDispatcherImpl.java:824)
at oracle.wh.repos.pdl.foundation.OWBRoot.beforeRead(OWBRoot.java:1785)
at oracle.wh.repos.owbGen.CMPStringPropertyValueGen.getValue(CMPStringPropertyValueGen.java:217)
at oracle.wh.repos.impl.properties.CMPStringPropertyValue.getValue(CMPStringPropertyValue.java:117)
at oracle.wh.repos.impl.extended.PropertyFactory.getStringValue(PropertyFactory.java:440)
at oracle.wh.repos.impl.extended.CMPWBPrimitiveProperty.rawStringValue(CMPWBPrimitiveProperty.java:260)
at oracle.wh.repos.sdk.mapping.WBMapHelper.getStringProperty(WBMapHelper.java:716)
at oracle.wh.repos.sdk.mapping.WBMapHelper.getStringProperty(WBMapHelper.java:733)
at oracle.wh.repos.sdk.mapping.WBMapHelper.getReferencedLocations(WBMapHelper.java:1361)
at oracle.wh.service.impl.runtime.EnvironmentUtils.getReferencedLocations(EnvironmentUtils.java:284)
at oracle.wh.service.impl.runtime.EnvironmentUtils.getReferencedLocations(EnvironmentUtils.java:141)
at oracle.wh.service.impl.runtime.EnvironmentUtils.getReferencedLocations(EnvironmentUtils.java:135)
at oracle.wh.service.impl.runtime.RuntimePlatformServiceImpl.getReferencedLocations(RuntimePlatformServiceImpl.java:1238)
at oracle.wh.ui.runtime.application.WHRuntimeCommandUtil.addConnectorLocations(WHRuntimeCommandUtil.java:477)
at oracle.wh.ui.runtime.application.WHRuntimeCommandGenerateDeploy.getSingleDeployLocations(WHRuntimeCommandGenerateDeploy.java:3408)
at oracle.wh.ui.runtime.application.WHRuntimeCommandGenerateDeploy.getLocationsAndNewConnectors(WHRuntimeCommandGenerateDeploy.java:3517)
at oracle.wh.ui.runtime.application.WHRuntimeCommandGenerateDeploy.doPreDeploymentActions(WHRuntimeCommandGenerateDeploy.java:3224)
at oracle.wh.ui.runtime.application.WHRuntimeCommandGenerateDeploy._internalDeploy(WHRuntimeCommandGenerateDeploy.java:2420)
at oracle.wh.ui.runtime.application.WHRuntimeCommandGenerateDeploy.doDeploymentAsynch(WHRuntimeCommandGenerateDeploy.java:2117)
at oracle.wh.ui.runtime.application.WHRuntimeCommandHandler$1.construct(WHRuntimeCommandHandler.java:1005)
at oracle.wh.ui.runtime.SwingWorker$2.run(SwingWorker.java:124)
at java.lang.Thread.run(Thread.java:595)
===========
Did anyone receive such errors? -
Some Thoughts On An OWB Performance/Testing Framework
Hi all,
I've been giving some thought recently to how we could build a performance tuning and testing framework around Oracle Warehouse Builder. Specifically, I'm looking at was in which we can use some of the performance tuning techniques described in Cary Millsap/Jeff Holt's book "Optimizing Oracle Performance" to profile and performance tune mappings and process flows, and to use some of the ideas put forward in Kent Graziano's Agile Methods in Data Warehousing paper http://www.rmoug.org/td2005pres/graziano.zip and Steven Feuernstein's utPLSQL project http://utplsql.sourceforge.net/ to provide an agile/test-driven way of developing mappings, process flows and modules. The aim of this is to ensure that the mappings we put together are as efficient as possible, work individually and together as expected, and are quick to develop and test.
At the moment, most people's experience of performance tuning OWB mappings is firstly to see if it runs set-based rather than row-based, then perhaps to extract the main SQL statement and run an explain plan on it, then check to make sure indexes etc are being used ok. This involves a lot of manual work, doesn't factor in the data available from the wait interface, doesn't store the execution plans anywhere, and doesn't really scale out to encompass entire batches of mapping (process flows).
For some background reading on Cary Millsap/Jeff Holt's approach to profiling and performance tuning, take a look at http://www.rittman.net/archives/000961.html and http://www.rittman.net/work_stuff/extended_sql_trace_and_tkprof.htm. Basically, this approach traces the SQL that is generated by a batch file (read: mapping) and generates a file that can be later used to replay the SQL commands used, the explain plans that relate to the SQL, details on what wait events occurred during execution, and provides at the end a profile listing that tells you where the majority of your time went during the batch. It's currently the "preferred" way of tuning applications as it focuses all the tuning effort on precisely the issues that are slowing your mappings down, rather than database-wide issues that might not be relevant to your mapping.
For some background information on agile methods, take a look at Kent Graziano's paper, this one on test-driven development http://c2.com/cgi/wiki?TestDrivenDevelopment , this one http://martinfowler.com/articles/evodb.html on agile database development, and the sourceforge project for utPLSQL http://utplsql.sourceforge.net/. What this is all about is having a development methodology that builds in quality but is flexible and responsive to changes in customer requirements. The benefit of using utPLSQL (or any unit testing framework) is that you can automatically check your altered mappings to see that they still return logically correct data, meaning that you can make changes to your data model and mappings whilst still being sure that it'll still compile and run.
Observations On The Current State of OWB Performance Tuning & Testing
At present, when you build OWB mappings, there is no way (within the OWB GUI) to determine how "efficient" the mapping is. Often, when building the mapping against development data, the mapping executes quickly and yet when run against the full dataset, problems then occur. The mapping is built "in isolation" from its effect on the database and there is no handy tool for determining how efficient the SQL is.
OWB doesn't come with any methodology or testing framework, and so apart from checking that the mapping has run, and that the number of rows inserted/updated/deleted looks correct, there is nothing really to tell you whether there are any "logical" errors. Also, there is no OWB methodology for integration testing, unit testing, or any other sort of testing, and we need to put one in place. Note - OWB does come with auditing, error reporting and so on, but there's no framework for guiding the user through a regime of unit testing, integration testing, system testing and so on, which I would imagine more complete developer GUIs come with. Certainly there's no built in ability to use testing frameworks such as utPLSQL, or a part of the application that let's you record whether a mapping has been tested, and changes the test status of mappings when you make changes to ones that they are dependent on.
OWB is effectively a code generator, and this code runs against the Oracle database just like any other SQL or PL/SQL code. There is a whole world of information and techniques out there for tuning SQL and PL/SQL, and one particular methodology that we quite like is the Cary Millsap/Jeff Holt "Extended SQL Trace" approach that uses Oracle diagnostic events to find out exactly what went on during the running of a batch of SQL commands. We've been pretty successful using this approach to tune customer applications and batch jobs, and we'd like to use this, together with the "Method R" performance profiling methodology detailed in the book "Optimising Oracle Performance", as a way of tuning our generated mapping code.
Whilst we want to build performance and quality into our code, we also don't want to overburden developers with an unwieldy development approach, because what we'll know will happen is that after a short amount of time, it won't get used. Given that we want this framework to be used for all mappings, it's got to be easy to use, cause minimal overhead, and have results that are easy to interpret. If at all possible, we'd like to use some of the ideas from agile methodologies such as eXtreme Programming, SCRUM and so on to build in quality but minimise paperwork.
We also recognise that there are quite a few settings that can be changed at a session and instance level, that can have an effect on the performance of a mapping. Some of these include initialisation parameters that can change the amount of memory assigned to the instance and the amount of memory subsequently assigned to caches, sort areas and the like, preferences that can be set so that indexes are preferred over table scans, and other such "tweaks" to the Oracle instance we're working with. For reference, the version of Oracle we're going to use to both run our code and store our data is Oracle 10g 10.1.0.3 Enterprise Edition, running on Sun Solaris 64-bit.
Some initial thoughts on how this could be accomplished
- Put in place some method for automatically / easily generating explain plans for OWB mappings (issue - this is only relevant for mappings that are set based, and what about pre- and post- mapping triggers)
- Put in place a method for starting and stopping an event 10046 extended SQL trace for a mapping
- Put in place a way of detecting whether the explain plan / cost / timing for a mapping changes significantly
- Put in place a way of tracing a collection of mappings, i.e. a process flow
- The way of enabling tracing should either be built in by default, or easily added by the OWB developer. Ideally it should be simple to switch it on or off (perhaps levels of event 10046 tracing?)
- Perhaps store trace results in a repository? reporting? exception reporting?
at an instance level, come up with some stock recommendations for instance settings
- identify the set of instance and session settings that are relevant for ETL jobs, and determine what effect changing them has on the ETL job
- put in place a regime that records key instance indicators (STATSPACK / ASH) and allows reports to be run / exceptions to be reported
- Incorporate any existing "performance best practices" for OWB development
- define a lightweight regime for unit testing (as per agile methodologies) and a way of automating it (utPLSQL?) and of recording the results so we can check the status of dependent mappings easily
other ideas around testing?
Suggested Approach
- For mapping tracing and generation of explain plans, a pre- and post-mapping trigger that turns extended SQL trace on and off, places the trace file in a predetermined spot, formats the trace file and dumps the output to repository tables.
- For process flows, something that does the same at the start and end of the process. Issue - how might this conflict with mapping level tracing controls?
- Within the mapping/process flow tracing repository, store the values of historic executions, have an exception report that tells you when a mapping execution time varies by a certain amount
- get the standard set of preferred initialisation parameters for a DW, use these as the start point for the stock recommendations. Identify which ones have an effect on an ETL job.
- identify the standard steps Oracle recommends for getting the best performance out of OWB (workstation RAM etc) - see OWB Performance Tips http://www.rittman.net/archives/001031.html and Optimizing Oracle Warehouse Builder Performance http://www.oracle.com/technology/products/warehouse/pdf/OWBPerformanceWP.pdf
- Investigate what additional tuning options and advisers are available with 10g
- Investigate the effect of system statistics & come up with recommendations.
Further reading / resources:
- Diagnosing Performance Problems Using Extended Trace" Cary Millsap
http://otn.oracle.com/oramag/oracle/04-jan/o14tech_perf.html
- "Performance Tuning With STATSPACK" Connie Dialeris and Graham Wood
http://www.oracle.com/oramag/oracle/00-sep/index.html?o50tun.html
- "Performance Tuning with Statspack, Part II" Connie Dialeris and Graham Wood
http://otn.oracle.com/deploy/performance/pdf/statspack_tuning_otn_new.pdf
- "Analyzing a Statspack Report: A Guide to the Detail Pages" Connie Dialeris and Graham Wood
http://www.oracle.com/oramag/oracle/00-nov/index.html?o60tun_ol.html
- "Why Isn't Oracle Using My Index?!" Jonathan Lewis
http://www.dbazine.com/jlewis12.shtml
- "Performance Tuning Enhancements in Oracle Database 10g" Oracle-Base.com
http://www.oracle-base.com/articles/10g/PerformanceTuningEnhancements10g.php
- Introduction to Method R and Hotsos Profiler (Cary Millsap, free reg. required)
http://www.hotsos.com/downloads/registered/00000029.pdf
- Exploring the Oracle Database 10g Wait Interface (Robin Schumacher)
http://otn.oracle.com/pub/articles/schumacher_10gwait.html
- Article referencing an OWB forum posting
http://www.rittman.net/archives/001031.html
- How do I inspect error logs in Warehouse Builder? - OWB Exchange tip
http://www.oracle.com/technology/products/warehouse/pdf/Cases/case10.pdf
- What is the fastest way to load data from files? - OWB exchange tip
http://www.oracle.com/technology/products/warehouse/pdf/Cases/case1.pdf
- Optimizing Oracle Warehouse Builder Performance - Oracle White Paper
http://www.oracle.com/technology/products/warehouse/pdf/OWBPerformanceWP.pdf
- OWB Advanced ETL topics - including sections on operating modes, partition exchange loading
http://www.oracle.com/technology/products/warehouse/selfserv_edu/advanced_ETL.html
- Niall Litchfield's Simple Profiler (a creative commons-licensed trace file profiler, based on Oracle Trace Analyzer, that displays the response time profile through HTMLDB. Perhaps could be used as the basis for the repository/reporting part of the project)
http://www.niall.litchfield.dial.pipex.com/SimpleProfiler/SimpleProfiler.html
- Welcome to the utPLSQL Project - a PL/SQL unit testing framework by Steven Feuernstein. Could be useful for automating the process of unit testing mappings.
http://utplsql.sourceforge.net/
Relevant postings from the OTN OWB Forum
- Bulk Insert - Configuration Settings in OWB
http://forums.oracle.com/forums/thread.jsp?forum=57&thread=291269&tstart=30&trange=15
- Default Performance Parameters
http://forums.oracle.com/forums/thread.jsp?forum=57&thread=213265&message=588419&q=706572666f726d616e6365#588419
- Performance Improvements
http://forums.oracle.com/forums/thread.jsp?forum=57&thread=270350&message=820365&q=706572666f726d616e6365#820365
- Map Operator performance
http://forums.oracle.com/forums/thread.jsp?forum=57&thread=238184&message=681817&q=706572666f726d616e6365#681817
- Performance of mapping with FILTER
http://forums.oracle.com/forums/thread.jsp?forum=57&thread=273221&message=830732&q=706572666f726d616e6365#830732
- Poor mapping performance
http://forums.oracle.com/forums/thread.jsp?forum=57&thread=275059&message=838812&q=706572666f726d616e6365#838812
- Optimizing Mapping Performance With OWB
http://forums.oracle.com/forums/thread.jsp?forum=57&thread=269552&message=815295&q=706572666f726d616e6365#815295
- Performance of mapping with FILTER
http://forums.oracle.com/forums/thread.jsp?forum=57&thread=273221&message=830732&q=706572666f726d616e6365#830732
- Performance of the OWB-Repository
http://forums.oracle.com/forums/thread.jsp?forum=57&thread=66271&message=66271&q=706572666f726d616e6365#66271
- One large JOIN or many small ones?
http://forums.oracle.com/forums/thread.jsp?forum=57&thread=202784&message=553503&q=706572666f726d616e6365#553503
- NATIVE PL SQL with OWB9i
http://forums.oracle.com/forums/thread.jsp?forum=57&thread=270273&message=818390&q=706572666f726d616e6365#818390
Next Steps
Although this is something that I'll be progressing with anyway, I'd appreciate any comment from existing OWB users as to how they currently perform performance tuning and testing. Whilst these are perhaps two distinct subject areas, they can be thought of as the core of an "OWB Best Practices" framework and I'd be prepared to write the results up as a freely downloadable whitepaper. With this in mind, does anyone have an existing best practices for tuning or testing, have they tried using SQL trace and TKPROF to profile mappings and process flows, or have you used a unit testing framework such as utPLSQL to automatically test the set of mappings that make up your project?
Any feedback, add it to this forum posting or send directly through to me at [email protected]. I'll report back on a proposed approach in due course.Hi Mark,
interesting post, but I think you may be focusing on the trees, and losing sight of the forest.
Coincidentally, I've been giving quite a lot of thought lately to some aspects of your post. They relate to some new stuff I'm doing. Maybe I'll be able to answer in more detail later, but I do have a few preliminary thoughts.
1. 'How efficient is the generated code' is a perennial topic. There are still some people who believe that a code generator like OWB cannot be in the same league as hand-crafted SQL. I answered that question quite definitely: "We carefully timed execution of full-size runs of both the original code and the OWB versions. Take it from me, the code that OWB generates is every bit as fast as the very best hand-crafted and fully tuned code that an expert programmer can produce."
The link is http://www.donnapkelly.pwp.blueyonder.co.uk/generated_code.htm
That said, it still behooves the developer to have a solid understanding of what the generated code will actually do, such as how it will take advantage of indexes, and so on. If not, the developer can create such monstrosities as lookups into an un-indexed field (I've seen that).
2. The real issue is not how fast any particular generated mapping runs, but whether or not the system as a whole is fit for purpose. Most often, that means: does it fit within its batch update window? My technique is to dump the process flow into Microsoft Project, and then to add the timings for each process. That creates a Critical Path, and then I can visually inspect it for any bottleneck processes. I usually find that there are not more than one or two dogs. I'll concentrate on those, fix them, and re-do the flow timings. I would add this: the dogs I have seen, I have invariably replaced. They were just garbage, They did not need tuning at all - just scrapping.
Gee, but this whole thing is minimum effort and real fast! I generally figure that it takes maybe a day or two (max) to soup up system performance to the point where it whizzes.
Fact is, I don't really care whether there are a lot of sub-optimal processes. All I really care about is performance of the system as a whole. This technique seems to work for me. 'Course, it depends on architecting the thing properly in the first place. Otherwise, no amount of tuning of going to help worth a darn.
Conversely (re. my note about replacing dogs) I do not think I have ever tuned a piece of OWB-generated code. Never found a need to. Not once. Not ever.
That's not to say I do not recognise the value of playing with deployment configuration parameters. Obviously, I set auditing=none, and operating mode=set based, and sometimes, I play with a couple of different target environments to fool around with partitioning, for example. Nonetheless, if it is not a switch or a knob inside OWB, I do not touch it. This is in line with my dictat that you shall use no other tool than OWB to develop data warehouses. (And that includes all documentation!). (OK, I'll accept MS Project)
Finally, you raise the concept of a 'testing framework'. This is a major part of what I am working on at the moment. This is a tough one. Clearly, the developer must unit test each mapping in a design-model-deploy-execute cycle, paying attention to both functionality and performance. When the developer is satisifed, that mapping will be marked as 'done' in the project workbook. Mappings will form part of a stream, executed as a process flow. Each process flow will usually terminate in a dimension, a fact, or an aggregate. Each process flow will be tested as an integrated whole. There will be test strategies devised, and test cases constructed. There will finally be system tests, to verify the validity of the system as a production-grade whole. (stuff like recovery/restart, late-arriving data, and so on)
For me, I use EDM (TM). That's the methodology I created (and trademarked) twenty years ago: Evolutionary Development Methodology (TM). This is a spiral methodology based around prototyping cycles within Stage cycles within Release cycles. For OWB, a Stage would consist (say) of a Dimensional update. What I am trying to now is to graft this within a traditional waterfall methodology, and I am having the same difficulties I had when I tried to do it then.
All suggestions on how to do that grafting gratefully received!
To sum up, I 'm kinda at a loss as to why you want to go deep into OWB-generated code performance stuff. Jeepers, architect the thing right, and the code runs fast enough for anyone. I've worked on ultra-large OWB systems, including validating the largest data warehouse in the UK. I've never found any value in 'tuning' the code. What I'd like you to comment on is this: what will it buy you?
Cheers,
Donna
http://www.donnapkelly.pwp.blueyonder.co.uk -
Hi,
We have OWB 9.0.4 installed on 9i oracle database. during that time the mappings executed perfect and within the time. Now the database has been upgraded from 9i to 10g. The OWB mappings are running very very slow and we couldnt do as per the schedule hours. Let me know your suggestions and the actions to be taken for resolving it
Thanks
KishanHi Kishan,
I have also found that the mapping runs slow if there are data issues related to constrainst, so make sure that your data is clean.
Apart from Analyzing the table u can try other basic tuning techniques as
- No logging option
- Separate table space fot Data and Index; and configure the tables accordingly
- Create Bitmap index for non-unique files, B-tree index for unique
Regards,
Jak -
Hi,
Could somebody please help me with a Warehouse Builder import problem?
After importing lots of objects into a new 10.2.0.1 repository, especially mappings, the import slows down for each object imported.
I'm importing the objects one by one via an Expert, and stopping & restarting between sets.
This worked fine for another environment (OT), but it doesn't work as well for the A.
This is a problem since we're importing 5621 objects, some 1200 mappings and the import time for 1 mapping is now 15 minutes.
So I've tried restarting OWB after importing a set of mappings (300), optimizing the repository, restarting the client pc, all didn't help.
My client pc is a windows XP Sp3, 2.33Ghz, 3.75 Gb Ram virtual machine. Currently Java is using 877K mem, the cpu is very busy all the time (avg. 90%)
The database is doing nothing, so it's probably a problem with my client.
I've got the max java setting in owbclient.bat on -Xmx768. I've tried -Xmx1024M but then OWB won't start because the physical memory isn't big enough.
I've also tried -Xmx512M - no difference.
Any help is greatly appreciated!
Cheers,
MaartenSome things that you can do is
1) check if the user that is doing the import has admin privileges..if not see if it helps after granting admin privileges.
2) try to gather stats on the design repos and see if it helps.
Note : 10.2.0.1 is a de-supported version ..time to upgrade maybe ?? -
OWB Patch 10.1.0.4 is available in Metalink
Hi,
Patch 10.1.0.4 is available in Metalink.
Cheers
DetlefThe patch number is 4703215, a hefty 528M (for Windows).
From the documentation:
7.2 Bugs Fixed in 10.1.0.4
4110189 NO COMMIT BACKPORTING TO 10.1.0.X (BOMBAY)
3994801 OMB PLUS PL/SQL SCRIPT CONTAINS MORE AS 2499 CHARACTERS / SP2-0027
4350443 ''NO OCIJDBC10 IN JAVA.LIBRARY.PATH'' ERROR WHEN STARTING RAB IN LINUX
4187143 DWPRD: OWB - CANNOT START IT AFTER ORACLE_HOME CHANGE FOR DATABASE
4633954 BACKPORT BUG 3286037 FIX TO 10.1.0.4 VERSION ON SOLARIS 32 BIT PLATFORM
4609436 BLR BACKPORT OF BUG 3870981 ON TOP OF VERSION 10.1.0.3
3820028 VERY SLOW GENERATION OF PROCESS FLOW PACKAGE WITH 150+ PROCESS FLOWS
3882583 PROBLEM WITH EXTERNAL TABLE
4088890 RPE-02083 WHEN PURGING AUDIT INFORMATION WHILE WORKFLOW PROCESS IS RUNNING
4183568 UPGRADE DEPLOYMENT MGR SCRIPT DOES NOT INCLUDE THE TBS NAME
4373822 SLOW LOGON & NAVIGATION OF LARGE REPOSITORY DUE TO SQL FTS
4428430 RECOVERY SHOULD BE OPTIONAL
3997600 UNABLE TO SET DEPLOYABLE PROPETY OF FOREIGN KEY OF CUBE WITH OMBPLUS
3994878 RUNTIME AUDIT BROWSER PERFORMANCE
4425752 IMPORTING THE MDL FILE GETTING THE ERROR API0407 AT 10%
4393188 FORWARD PORT 4183568
4393182 FORWARD PORT 4106056 TO 10.1.0.4
4144163 PROCESS FLOW PACKAGE VALIDATION HANGS IN OWB 10G
4340763 RUNTIME SERVICE LOG FILE CANNOT BE DELETED WHEN SERVICE IS RUNNING
4106056 PARALLEL EXECUTION OF PROCESS FLOWS FAILS WITH RPE-01003
3836845 UNABLE TO DEPLOY PUBLIC TRANSFORMATION
3829240 DBG1034 AND ORA-00904 WHEN DEBUGGING MAPPING WITH MS-SQLSERVER SOURCE
3773182 OBJECT STATUS UNCERTAIN AFTER SUCCESFULL DEPLOYMENT
4551773 FORWARD PORT OF BUG 3997600
4488992 [7/11]ERROR API8532 VALIDATING EXPRESSION API-8532
4542250 OLAP BRIDGE FAILING ON 10G WITH BRD-02501
4537766 OWB10G BOMBAY DOES NOT INSTALL ON 10G RELEASE 2 DATABASE
4497246 ORA-06502: PL/SQL: NUMERIC OR VALUE ERROR: CHARACTER STRING BUFFER TOO SMALL
4407615 EXPLICIT GARBAGE COLLECTION CAN CAUSE PERFORMANCE PROBLEMS
3165476 UNABLE TO USE DATES BEFORE 1-1-1950; IMPLICIT CONVERSION
4159683 OWB DOES NOT IMPORT SQL QUERY WHILE IMPORTING VIEW DEFINITIONS
3952986 UPGRADING MULTIPLE TABLES FROM UI GIVES DEPLOYMENT FAILURE AS RETURN
3989847 GENERATED CODE HAS INVALID ALIASES AFTER UPGRADE FROM 9.0.3 TO 9.2.0.4
4232118 WBSECURITYSERVICEIMPL SECURITY HOLE
4212170 MAPPING GENERATES INCORRECT TARGET CODE/DATA WHEN SPLITTER INCLUDED
4308848 SLOW PERFORMANCES WHILE LOGIN TO DESIGN REPOSITORY
4311885 PROCESSFLOW FAILS; ORA-20002 3133 ACTIVITY INSTANCE X IS NOT A NOTIFIED ACTIVITY
4543947 UPGRADE OPTION DURING DEPLOYING DIMENSIONS/CUBES IS NOT WORKING CORRECTLY
3872199 JAVA.LANG.NULLPOINTEREXCEPTION WHEN CREATING MODULE WITH LOCAL SET TO TURKISH
4530332 REPOSITORY ASSISTANTS HANG ON STARTUP ON WINDOWS 2000 SP4 - PENTIUM IV XEON
4397564 EXECUTION DELAY WHEN EXECUTING ACTIVITIES DURING HIGH CONCURRENCY
4644829 PURGE TEMPLATE AND SUPPORTING PACKAGES NOT CONSISTENT
4120422 AFTER APPLING SECURITY PATCHSET 68 (3875927), PROCESS FLOWS NO LONGER FUNCTION
4078382 INSTALLING OWB 10G RUNTIME REPO ON AIX 5.2 WITH 8.1.7.4 RDBMS IS NOT POSSIBLE
4260822 ALL_IV_OBJECT_PROPERTIES VIEW NOT SHOWING VALUES
3943759 OMBEXPORT FAILS WITH: TOO MANY NESTED CALLS TO EVAL (INFINITE LOOP?)
3150520 NLS: MONTH DISPLAY AS UPSIDE DOWN OF ? FOR CHINESE CHINA
3826870 MDL FROM OWB 9.0.3 WILL NOT IMPORT
4169687 ENH: REQUEST FOR OPTION TO DISABLE AUDITING COMPLETELY
4402849 NO_ROWS ERROR DURING EXECUTION ON RAC
4213253 PUBLIC VIEWS UNAVAILABLE: ALL_IV_IMPACT_DEPENDENTS AND ALL_IV_LINEAGE_DEPENDENTS -
OWB 10gR2 - some enhancement requests
Hi, I've been working with OWB 10gR2 for approximately a week now, and I've come across a few (minor) bugs, as well as a list of enhancements that I think would make the tool better. I'd like to surface these in this forum so they can be either disagreed with or have workarounds suggested, as well as getting this list in front of Oracle. Also I'm new to the tool, so maybe there are ways to accomplish what I want.
p.s. as a side note - please don't take these as criticisms of the tool. I'm actually very impressed with OWB 10gR2, but just want to surface some ideas that I think would make the tool better.
Thanks,
Scott
---Bugs:
1. If I enter a quote character in one of the business description fields (i.e. for a cube or dimension), it causes the DDL scripts to blow up. It probably mentions the list of valid characters in the users guide somewhere - but if a character isn't legal, it should be flagged when I try to enter it originally not when deploying
2. I can enter illegal strings in an expression operator that fail validation there, but the whole map still passes validation. For instance, I put in an expression (for a varchar2 field) using a single quote at the start, but mistakenly with a double quote at the end. I didnt bother to validate this within the expression. The whole map validated fine, but (of course) blew up with the illegal syntax when generating the code.
3. I get the following error when trying to browse a cube (ROLAP, not MOLAP) through OWB, but I'm able to pull the cube up fine using either the excel add-in or biBeans: CubeDV_OLAPSchemaConnectionException_ENT_06952???
---Enhancement Requests:
1. Add a deploy button in control center next to the to default actions and reset actions buttons
2. Allow an option to have dimensions and cube defaults set to either deploy all, deploy data only, deploy catalog only, deploy aggregations (for cubes). Also, why is the default set to deploy data only? Does deploying the CMW2 metadata involve huge performance impacts or something? It seems like the CMW2 is almost free so it should be turned on by default. Its a pain to use the dimension wizard, but then have to go in to each dimension afterwards to set this option.
3. When using configure on dims and cubes in control center, the first time the configuration properties dialog pops up, everything is fine. However, when you try to configure the 2nd object, the background focus switches from control center back to design center. This makes navigation very slow if you have lots of items to change. I've noticed this behavior in a few other places as well.
4. Some dialogs do not have maximize buttons (i.e. dimension wizard dialogs), and default to a very small size. It is possible to have size of dialogs dynamically scaled to screen resolutions, and attempt to size columns so they fit properly. Or better yet, have each dialog remember how large it was last time, and automatically open up to that size?
5. When generating the autobind relational table while creating a dimension, it seems to be randomizing the order of the attributes within a level (although it does sort the top level attributes first, followed by lower level attributes), at least when using the dimension wizard. It would be nice if the attributes in the relational table came out sorted in the same order as they are specified in the attributes tab.
6. When using a unmapped display set there doesnt seem to be a way to refresh the set (i.e. remove the items that have since been mapped) unless you select all and then unmapped again. Would be nice if you could simply choose unmapped again and have it refresh the object
7. While doing a mapping, right click on canvas allows option to generate. Would be nice to also add the validate option to this menu
8. Validating mappings takes a decent amount of time would be nice if a busy icon was displayed to let user know that OWB hasnt locked up.
9. default size of job details dialog is too small, and even if I maximize I still have to go through and manually adjust the size of each pane. Similar to enhancement #4
10. Horizontal size of operators in mapping seems to be determined by the length of the operator name, instead of tying directly to the icon. Looks strange. Very minor
11. When displaying dimension objects in a mapping:
a. For the surrogate key columns add an icon to indicate this attribute is a surrogate key. Likewise, since its not legal to map anything to this column, remove the little arrow next to it (the one that turns gray when something is mapped to a column), or perhaps don't even show this column at all.
b. For the business key columns add some type of icon to show which attributes represent the business natural key (or make color different, etc.)
12. Similar to #11, for the cube operator in a mapping:
a. For the surrogate key columns if they cant be mapped to, then dont show them
b. For the business key columns add some type of icon to show which attributes represent the business natural key
c. Separate the measure columns from the dimension columns
13. For the Aggregation operator can you move the <None> default operator to the top of the list. At the bottom, it means you always have to scroll to use the most common operations (which are at the top of the list), i.e. sum and avg, etc.
14. In the log on prompt, if I choose SQL*Net connection, every time I start it up it defaults to the details being shown (even when I chose no detail last time), with cursor in the host box. I should be able to have the details hidden, and this dialog should ALWAYS default to having the active cursor in the password box on startup
15. When printing in a mapping, the page setup print dialog is very slow. Also, the print setup dialog shows margins, but you cant adjust them. It would be nice if this could be changed here
16. Add a print preview icon to all of the toolbars. Printer icon is there, print preview should also be.
17. In the dimension attributes, we need a way to tag an attribute as being the insert record date or the update record date. The corresponding MERGE SQL should be updated to use these attributes.
18. It would be nice if the mapping canvas defaulted to an unlimited size i.e. when I want to add new operators and the screen is already full, I either need to shrink the zoom factor down to the point where I cant read the icons anymore, or I have to pick up the new operator and drag at the bottom / right side until it scrolls enough to drop it where I want. If the canvas had an unlimited size, I could simple use the scroll bars to scroll to where I want.
19. Scroll wheel functionality to zoom in / out (and have it zoom in around the currently selected object)
20. Option to have operations automatically resize when longer attribute names are added to them (can workaround by mimimizing and then maximizing, but would be better to have the operators automatically adjust size to fit)
21. Ability to sort output attributes in an operator (just like table column sort functionality). If I create a new operator, it would be nice to group it with related operators instead of always having it at bottom.
22. re: column sort functionality drag and drop instead of up/down arrows would be nice
23. It would be nice if, when adding output attributes to (for example) the expression operator, it would choose the default data type the same way the dimension attribute wizard works (i.e. if it sees ind in name, automatically choose char(1)
24. Change the zoom in button so that it zooms in on the currently selected operator i.e. if I click on a particular table and then hit the zoom in button, it should keep the table I selected centered
25. When in a mapping, clicking on a line should highlight the attributes on both the source and target operators (to allow easier visual ID of where data is coming from / going to)
26. AWM has a feature where table attributes can be sorted so that mappings between them don't have "crossed" lines. Similar functionality in OWB would be very appreciated. It may be harder to automate this, but even manual drag and drop of attributes within an operator would be nice.if you could copy/paste this whole thing into the submission form (see feedback option under the numbers menu). The more people that request these features, the more likely we are to see them in an update or the next version.
Jason -
OWB 10G R2 with 9.2 DB....
At my company the standard for databases is still 9.2. Since this is a large organization, we are a little slow to adopt the latest versions (we are still running OWB 9.2.0.8).
According to the FAQ, Design repositories for OWB 10g R2 can be setup on a 9.2 DB.
http://www.oracle.com/technology/products/warehouse/htdocs/owb_10gr2_faq.html#37
In the FAQ, it also says to look at the Certify page in Metalink to see what databases are supported by OWB 10g R2:
http://www.oracle.com/technology/products/warehouse/htdocs/owb_10gr2_faq.html#35
In the Certify page, only 10g R2 DB appears to be certified for OWB 10g R2.
Is anyone running OWB 10g R2 with 9.2 DB (for both Design and Runtime environments)? Any problems with this setup?
Since OWB 10g R2 is a new release, could it be certified for 9.2 DB later?
Since it is not certified for 9.2 DB, will Oracle give support if we run into problems?
I thought one of the major advantages of OWB was suppose to be compatibility between database versions. I was surprised not to see that 9.2 was not certified.Hi,
You can have OWB 10G R2 on Oracle 9.2.
We are using OWB 10G R2 on Oracle 9.2.
I have done instalation on both Windows and Unix environment.
What you need is patch 9.2.0.6.0
Regards
Amit
9820579749
Maybe you are looking for
-
Running Microsoft Office 2001 with Tiger vs Classic
Mac experts, Okay, I have a couple of questions. First, I recently installed Tiger 10.4 on my G3 laptop. Runs great eventhough I know I'm pushing the envelope with only 128 MB of memory and at 400 MHz speed. Anyhow, since I also run several programs
-
i connected my mac mini throught HDMI port to sony tv, but its showing unable to support.
-
ORacle table taking too much space
Hi I am using Oracle 9i I created one table using script .Table is blank but It takes around 1 Gb space . When I create another table using that table as create table t_name as select * from original_table ; Space is taken by that table is vely low i
-
with the last update I can not longer connect my iphones to iTunes - Is there an update to fix this?
-
Error #0 and inability to do anything
Hello! So, I'm going to describe the problem right away. I'm on Windows 7. I recently tried installing a small flash game with Adobe AIR, but recieved an error message about being unable to install(I don't remember the exact text) and it said "Error