Discoverer Optimizer

One of our application uses rule based optimizer at db level and by default discoverer uses cost based optimizer. We do a lot of ad-hoc reporting in this area. Does changing the optimizer at discoverer will help us in performance?

and one more ...
==================================================================
Subject:Which Optimizer Is Being Used In Discoverer? : Cost or Rule
     Doc ID:      Note:1055786.6      Type:      PROBLEM
     Last Revision Date:      26-NOV-2002      Status:      PUBLISHED
PROBLEM DESCRIPTION:
====================
Does Discoverer use the cost-based or rule-based optimizer?
SOLUTION DESCRIPTION:
=====================
There have been a number of questions recently about how the optimizer
chooses execution paths based on the presence of hints, statistics and the
optimizer_mode init.ora parameter. The rules are described in detail in
Chapter 8 of the Oracle 8 Tuning Guide.
There have also been questions about the Discoverer registry entry
"UseOptimizerHints".
If you do not need the details, for best results:
* leave "UseOptimizerHints" to its default value of 0,
* ensure the init.ora parameter optimizer_mode is set to CHOOSE,
* analyze the application tables, using ANALYZE TABLE command.
Which optimizer will be used:
The optimizer used will be the COST optimizer if there is a valid optimizer
hint in the SQL statement that Discoverer generates, regardless of all other
factors. Check the SQL inspector to look at the SQL generated. The kernel
parses SQL comments to determine if the comment is really a hint, and if so,
will ALWAYS, UNDER ALL CIRCUMSTANCES use the cost optimizer, even if there
are no statistics, and even if the init.ora parameters are set to use the
rule optimizer by default. Only if there is no optimizer hint in the SQL
statement, the following table shows what happens:
Optimizer Mode     Got           Optimizer used
parameter     Statistics?
CHOOSE          Y          Cost
CHOOSE          N          Rule
RULE          Y          Rule
RULE          N          Rule
ALL_ROWS     Y          Cost
ALL_ROWS     N          Cost (stats are estimated based on table
storage info)
FIRST_ROWS     Y          Cost
FIRST_ROWS     N          Cost (stats are estimated based on table
storage info)
In general, it makes sense to set the optimizer to CHOOSE, when the
presence of statistics (generated from the analyze table command) will
determine which optimizer is best. In Discoverer, we will not get Query
Performance prediction unless the COST optimizer is used, since the QPP
algorithm depends on getting an estimated cost for the query.
How do I get an optimizer hint in the query?
First, only consider this if you are familiar with Oracle tuning. You
don't need this for query prediction; you only do this if you want to
force a particular access path method on the optimizer. Set the hint in
the folder properties dialog. See the Oracle 8 Tuning Guide for details
of syntax.
NOTE: Any correct hint will force use of the cost optimizer under
ALL circumstances, even if the tables are not analyzed.
What does the registry entry "UseOptimizerHints" do?
The default value is 0 and it should not be changed. The registry entry
is only there to allow compatibility with Discoverer 3.0.7 which always
generated an optimizer hint (+All ROWS or +FIRST ROWS) in the SQL.  If 
you set "UseOptimizerHints = 1, it will revert to this behavior. The
effect of this is that the cost optimizer will be used under ALL
circumstances (see above). If your tables have not been analyzed, this
can result in poor query performance. UseOptimizerHints should always be
set to 0. If the tables are analyzed, you will use the cost optimizer,
and if they are not you will use the rule based optimizer.
What is the effect on Query Prediction?
Query prediction depends on Discoverer getting a cost for the query from
the cost optimizer. If you follow the guidelines above, and the tables are
analyzed, you will get query prediction, without having to worry about
optimizer hints. If the rule optimizer is used, due to one of the factors
above, you will not get query prediction. Setting "UseOptimizerHints = 1"
forces use of the cost optimizer, and you WILL then get query prediction,
but, unless the tables are analyzed you will get poor accuracy and poor
query performance, since the cost optimizer will not have the information
it needs to determine the best access path. And, of course, if the tables
ARE analyzed, and your optimizer_mode is set to CHOOSE, as recommended, you
will get query prediction and good performance, so you don't need the
UseOptimizerHints setting.
NOTE: To get query prediction, you need to ensure the steps outlined
in the release notes are also followed.
The behavior of the OPTIMIZER_MODE parameter is the same in Oracle7 and
OraCLE8, so this solution is correct for both.
REFERENCES:
===========
Discoverer Release Notes (as of 3.0.8)
Oracle Server Tuning Guide, Release 8.0.x

Similar Messages

  • How to include optimizer hints in Discoverer

    We have a Discoverer report which used to run fine prior to DB migration from (9.2.0.6 to 10G Rac 10.2.0.4).
    Since the database is migrated to 10g RAC same reports is running for longer time and failes with ROW_ID error,
    we ran the sql generated by the report in SQL Plus with below optimizer hint.
    Select /*+ optimizer_features_enable('9.2.0') */
    this query ran well with optimizer hint, but i am wondering how to use the optimizer hint in Discoverer Plus/Desktop.
    Select /*+ optimizer_features_enable('9.2.0') */
    C.EMPLOYEE_NUMBER||' '||A.EMPLOYEE_NAME, A.REPORTS_TO, C.SERVICE_CODE, COUNT(B.ACCOUNT_NUMBER)
    FROM PSTAGE.NEW_EMPLOYEE_MASTER A,
    PSTAGE.NEW_ALL_WORK_ORDER_MASTER B,
    PSTAGE.NEW_ALL_WORK_ORDER_DETAIL C
    WHERE ( ( B.WORK_ORDER_NUMBER = C.WORK_ORDER_NUMBER AND B.SITE_ID = C.SITE_ID )
    AND ( A.EMPLOYEE_NUMBER = C.EMPLOYEE_NUMBER AND A.SITE_ID = C.SITE_ID ) )
    AND ( B.WO_STATUS <> 'CN' )
    AND ( C.EMPLOYEE_NUMBER = ANY(SELECT S254_200018.EMPLOYEE_NUMBER
    FROM PSTAGE.NEW_EMPLOYEE_MASTER S254_199317,
    PSTAGE.NEW_ALL_WORK_ORDER_MASTER S254_199854,
    PSTAGE.NEW_ALL_WORK_O
    Thanks in advance

    Hi Sunil
    In the Administrator tool, you can add hints to the driving folder used in your query. A first glance at your report seems to indicate that B might be the driver.
    If you launch the Administrator tool, open the business area then right-click on the folder in question you can select Properties. The second to last property is called Optimizer hints. Try setting the same hint in here exactly the way you would do it inside SQL.
    I am not 100% sure whether this would take as this isn't a folder hint per se, but it is worth a try. You might also want to look at this thread: how to design Optimizer hints  to the generated SQL
    Another thing to check is to look at the code that is being generated by your Discoverer worksheets. Do you by chance see a NOREWRITE hint being added? This is a common issue with newer systems. This hint tells the database that the query cannot be rewritten which in most cases will cause poor performance. If this is happening to you I advise you to disable that hint. This is done by editing the pref.txt and adding a new preference called
    Out of the box, Discoverer Plus will sometimes add the NOREWRITE hint. This will cause Plus worksheets to operate much slower than Desktop worksheets. You can disable the NOREWRITE hint by adding a new preference called UseNoRewriteHint to pref.txt in the Database section. After you have done this you will have to run the apply preferences script.
    [Database]
    UseNoRewriteHint = 0
    Be sure to close all of your IE windows so that a new JVM is loaded.
    For example, you might turn on UseNoRewriteHint (i.e. set it to 1) if you want users to always query against the latest data (e.g. created today), even though this might be slower than querying the summary data (e.g. created yesterday). The NOREWRITE hint instructs the optimizer to disable query rewrite for the query block, which overrides the setting of the parameter QUERY_REWRITE_ENABLED.
    Default Value: 0
    Valid Values
    0 = Do not add the NOREWRITE hint. This is the one I recommend.
    1 = Do add the NOREWRITE hint.
    Another possible area is with query prediction. This is taken from an Oracle Note: Under some circumstance when you run a query against an Oracle 10g database, the queryprediction might take up the majority of time and CPU may hit 100%.
    The cause for this is an an Oracle10g (10.1) database issue but seeing as you are on 10.2 this might not be an issue any more. I throw it out there just in case you still hvae issues and want to raise this with Oracle. The last I heard is that the root cause was still under investigation in an unpublished Bug:4024370. There was a workaround to the issue:
    1. Disable Query Prediction (strongly recommended anyway):
    For Plus/Viewer:
    Edit pref.txt on the middle-tier server and set QPPEnable=0
    Run the applypreferences script (.sh or .bat)
    For Desktop:
    Edit the registry and set QPPEnable=0
    HKEY_CURRENT_USERS\Software\ORACLE\Discoverer <version>\Database
    2. If you still wish to use Query Prediction while the database issue is being investigate, then you can configure the Query Predictor to use the Explain Plan method rather than the Dynamic Views method.
    For Plus/Viewer:
    Edit pref.txt on the middle-tier server and set QPPObtainCostMethod=0
    Run the applypreferences script (.sh or .bat)
    For Desktop:
    Edit the registry and set QPPObtainCostMethod=0
    HKEY_CURRENT_USERS\Software\ORACLE\Discoverer <version>\Database
    Hope this helps
    Best wishes
    Michael

  • Discoverer Report Optimization

    Hi
    Im a newbiew at using this forum, my question is what is the first thing to look for when you're doing optimization (reports that are running too long)? I've tried isolating where it is slowing down and so far I've discovered that it's coming from one of the conditions.
    Functions used:
    Decode
    NVL
    Round

    I have a custom folder with a query and I want to run it passing parameters (using the methos explained in note 282249.1).
    The parameters are 20061001000000 and 20061031999999 and I want them to apply to a numeric column wich contains a date ) and a number (ex. 20061001123456).
    If I run the query in SqlNavigator with this instruction
    where rdoc between 20061001000000 and 20061031999999
    the query returns all rows (1210) in 15 seconds;
    If I run the custom folder in Discoverer with
    where rdoc between PKG_AC_SETPARAM.GET_PARAM1 and PKG_AC_SETPARAM.GET_PARAM2
    the query takes between 4 and 5 minutes.
    The question is:
    1) What causes this so different performance
    2) How can I solve this problem?

  • Discoverer reports taking a long time!!!

    Hi all,
    One of our clients is complaining that the discoverer reports are taking a long time to run for the last few days, the report used to take 30 minutes before but now is running for hours!!
    I have checked the SGA and I have killed the idle sessions but still there was no improvement in the performance.
    The version of BI discoverer is 10 and database also is 10g and the platform is win server 2003.
    I have checked the forums and they talk about explain plan and tkprof and other commands, but my problem is that i am unable to find the query that discoverer is running i mean once the report is clicked the query runs and gives the estimate time it would take. can some one tell me where this query is stored so that i can check this query,
    Also there were no changes made in the query or to the database.
    The temp space fills up 100%, i increased the size of temp space but still it goes to 100% also i noticed that the CPU utilisation goes to 100%
    i also increased the SGA but still no go.
    can someone kindly help me as to what could be causing this problem
    also kindly guide me to some good documents for tuning the discoverer.
    thanks in advance,
    regards,
    Edited by: user10243788 on Jan 4, 2010 12:47 AM

    Hi,
    The fact that the report used to work fast and now not can be related to many things but my guess is that the database statistics were changed and so the explain plan has changed.
    This can be done due to change in the volume of the data that crossed a level were oracle optimizer change the behavior but it can be other things as well.
    Anyway it is not relevant since it will be easier to tune the SQL than to find what have changed.
    In order to find whether the problem is with the discoverer or in the SQL extract the SQL as described above and run it in SQL tool (SQL Plus, TOAD, SQL Developer and so on).
    The best way to get to the problem is run a trace on your session and then use the TKPROF command to translate it to a text file you can analyze - you can assist your DBA team they should have no problem doing that.
    By doing that you will get the problematic statements/ functions/ procedures that the report uses.
    From there you can start working on improving the performance.
    Performance is expertise for itself so i'm sorry i don't know to tell you where to start from, I guess the start will be from understanding the meaning of the explain plan.
    Hope I helped a little although I wish Ii had a magic answer for you
    BTW, until you resolve that problem you can use the discoverer scheduler to run the reports in the background and so the users will get the data.
    Tamir

  • Oracle 10g Discoverer Reports & export to xls fails for large reports

    Hi ,
    We have following configurations:
    1: RHEL 5.4
    2: Discoverer :Version 10.1.2.48.18
    3: Oracle10g Apps Version : Version 10.1.2.0.2
    Issue:
    Most of small reports works fine ....but when large discoverer reports are executed the page
    keeps on refreshing for 15-20 hours but no output ....same for export to xls ......
    But same reports works fine in oracle9i for same data voulme....
    Observations:
    When on linux with top command the processes are monitored its observed that discoverer process
    dis51ws dies for large reports after 1-2 minutes ...& the page keeps on refreshing but no output....
    for 1-2 minutes it consumes 50-80% cpu utilisation then process disappears & cpu 80% idle ...
    It seems that as 10g Apps is installed on RHEL 5.4 ...non certfified OS causing an issue...
    Can any one adds more inputs in this regards......
    we have checked logs : below are log details :
    Below logs gives "Logkeys: exceptions discoiv.servlet_exceptions" for this report ...
    1:
    OC4J~OC4J_BI_Forms~default_island~1:
    10/04/11 12:11:29 Oracle Application Server Containers for J2EE 10g (10.1.2.0.2) initialized
    10/04/11 12:11:59 Using oracle.reports.util.EnvironmentGlobal class
    10/04/11 14:23:37 Logkeys: exceptions discoiv.servlet_exceptions
    10/04/11 14:23:38 Discoverer Model - 10.1.2.48.18
    Session ID:2010041114240115278
    10/04/11 14:25:42 Logkeys: exceptions discoiv.servlet_exceptions
    10/04/11 14:25:42 Discoverer Model - 10.1.2.48.18
    Session ID:2010041114254315439
    10/04/11 14:28:53 Logkeys: exceptions discoiv.servlet_exceptions
    10/04/11 14:28:54 Discoverer Model - 10.1.2.48.18
    Session ID:2010041114285615691
    10/04/11 14:29:13 Logkeys: exceptions discoiv.servlet_exceptions
    10/04/11 14:29:13 Discoverer Model - 10.1.2.48.18
    Session ID:2010041114291315728
    10/04/11 14:32:35 Logkeys: exceptions discoiv.servlet_exceptions
    10/04/11 14:32:35 Discoverer Model - 10.1.2.48.18
    Session ID:2010041114323615949
    10/04/11 14:32:48 Logkeys: exceptions discoiv.servlet_exceptions
    10/04/11 14:32:48 Discoverer Model - 10.1.2.48.18
    Session ID:2010041114324815982
    10/04/11 14:34:44 Logkeys: exceptions discoiv.servlet_exceptions
    10/04/11 14:34:44 Discoverer Model - 10.1.2.48.18
    Session ID:2010041114344616128
    10/04/11 14:34:55 Logkeys: exceptions discoiv.servlet_exceptions
    10/04/11 14:34:55 Discoverer Model - 10.1.2.48.18
    Session ID:2010041114345516155
    10/04/11 14:36:25 Tutalii: /oracle10gas/app/oracle10g/discoverer/lib/discoverer5.jar archive
    2:
    Discoverer~SessionServer~12
    Calling GetData on Preference Repository
    Calling GetData on Preference Repository
    Calling GetData on Preference Repository
    Calling GetData on Preference Repository
    Active Eul: EULADMIN
    Calling GetData on Preference Repository
    Calling GetData on Preference Repository
    Calling GetData on Preference Repository
    Calling GetData on Preference Repository
    Calling GetData on Preference Repository
    Calling GetData on Preference Repository
    Calling GetData on Preference Repository
    DCSCORBAInterface::Delete called
    DCSCORBAInterface destructor called
    DCSCORBAInterface::Delete called
    DCSCORBAInterface destructor called
    ASSERT [email protected]:436
    ASSERT [email protected]:436
    ASSERT [email protected]:436
    ASSERT [email protected]:436
    ASSERT [email protected]:436
    ASSERT [email protected]:436
    ASSERT [email protected]:436
    ASSERT [email protected]:436
    ASSERT [email protected]:436
    ASSERT [email protected]:436
    ASSERT [email protected]:436
    ASSERT [email protected]:436
    ASSERT [email protected]:436
    3:
    application.log
    10/04/11 14:37:25 discoverer: [TRACE] [AJPRequestHandler-ApplicationServerThread-17] oracle.discoverer.applications.framework.ApplicationController.execute Finding async request action forward
    10/04/11 14:37:25 discoverer: [TRACE] [AJPRequestHandler-ApplicationServerThread-17] oracle.discoverer.applications.framework.ApplicationController.execute Calling externalize
    10/04/11 14:37:25 discoverer: [DEBUG] [AJPRequestHandler-ApplicationServerThread-17] oracle.discoverer.applications.viewer.model.WorksheetModel.getStateString EXT_TOOL: dvtb xk-1ml versionzw1.0w kyxdvtbyxbisltyxbicho vzwwjyxjbisltyxjdvtby
    10/04/11 14:37:25 discoverer: [DEBUG] [AJPRequestHandler-ApplicationServerThread-17] oracle.discoverer.applications.viewer.model.WorksheetModel.getStateString EXT_VIEW: dv xk-1ml versionzw1.0w kyxdv bazw0w cszw25wyxpc vzw1wjyxjdvy
    10/04/11 14:37:25 discoverer: [DEBUG] [AJPRequestHandler-ApplicationServerThread-17] oracle.discoverer.applications.viewer.model.WorksheetModel.getStateString EXT_VIEW: lc
    10/04/11 14:37:25 discoverer: [DEBUG] [AJPRequestHandler-ApplicationServerThread-17] oracle.discoverer.applications.viewer.model.WorksheetModel.getStateString EXT_HS: dvhs
    10/04/11 14:37:25 discoverer: [DEBUG] [AJPRequestHandler-ApplicationServerThread-17] oracle.discoverer.applications.viewer.model.WorksheetModel.getStateString EXT_DS: dv_ds &qls_z!2=New GL Report.Clndr Id&arq=false&qls_x!14=Sheet 1.Closing Balance (Credit)&qls_x!3=New GL Report.Voucher No&qls_z!3=New GL Report.Frm Prd&fm=xml&qls_z!4=New GL Report.To Prd&qls_x!2=New GL Report.Prd Desc&qls_x!11=Sheet 1.Debit Amount&qls_x!4=New GL Report.Gl Voucher No&qls_x!9=Sheet 1.Opening Balance Debit&tss_s!0=New GL Report.Acct Id,lh,group,false&qls_x!1=New GL Report.Acct Sdesc&qls_z!1=New GL Report.Loc Desc&qls_x!10=Sheet 1.Opening Balance (Credit)&qls_x!12=Sheet 1.Credit Amount&aow=false&qls_x!7=New GL Report.Shrt Code&qls_x!13=Sheet 1.Closing Balance (Debit)&qls_x!6=New GL Report.Pmt Rct Dt&qls_x!8=New GL Report.Dtl Nrtn&sss=true&qls_x!5=New GL Report.Voucher Dt&qls_x!0=New GL Report.Acct Id&qls_z!0=New GL Report.Loc Id&ddsver=1
    10/04/11 14:37:25 discoverer: [DEBUG] [AJPRequestHandler-ApplicationServerThread-17] oracle.discoverer.applications.viewer.model.ViewerModelImpl.externalize [EXTERN_STATE]: $wksht$%24dv_ds%24%26qls_z%212%3DNew+GL+Report.Clndr+Id%26arq%3Dfalse%26qls_x%2114%3DSheet+1.Closing+Balance+%28Credit%29%26qls_x%213%3DNew+GL+Report.Voucher+No%26qls_z%213%3DNew+GL+Report.Frm+Prd%26fm%3Dxml%26qls_z%214%3DNew+GL+Report.To+Prd%26qls_x%212%3DNew+GL+Report.Prd+Desc%26qls_x%2111%3DSheet+1.Debit+Amount%26qls_x%214%3DNew+GL+Report.Gl+Voucher+No%26qls_x%219%3DSheet+1.Opening+Balance+Debit%26tss_s%210%3DNew+GL+Report.Acct+Id%2Clh%2Cgroup%2Cfalse%26qls_x%211%3DNew+GL+Report.Acct+Sdesc%26qls_z%211%3DNew+GL+Report.Loc+Desc%26qls_x%2110%3DSheet+1.Opening+Balance+%28Credit%29%26qls_x%2112%3DSheet+1.Credit+Amount%26aow%3Dfalse%26qls_x%217%3DNew+GL+Report.Shrt+Code%26qls_x%2113%3DSheet+1.Closing+Balance+%28Debit%29%26qls_x%216%3DNew+GL+Report.Pmt+Rct+Dt%26qls_x%218%3DNew+GL+Report.Dtl+Nrtn%26sss%3Dtrue%26qls_x%215%3DNew+GL+Report.Voucher+Dt%26qls_x%210%3DNew+GL+Report.Acct+Id%26qls_z%210%3DNew+GL+Report.Loc+Id%26ddsver%3D1%24dv%24xk-1ml+versionzw1.0w+kyxdv+bazw0w+cszw25wyxpc+vzw1wjyxjdvy%24wd%24false%24lc%24%24dvtb%24xk-1ml+versionzw1.0w+kyxdvtbyxbisltyxbicho+vzwwjyxjbisltyxjdvtby%24wvs%241101%24dvhs%24$cn$&vct=svd&cnk=cf_a101$ap$%26df%3D%26l%3D%26s%3D%26nc%3D%26dl%3D$expl$&sp=&node=&event=focus&state=(117)&root=63&wbt=2$prid$NEW_GL_REPORT%2F31$ctyp$viewer
    10/04/11 14:37:25 discoverer: [TRACE] [AJPRequestHandler-ApplicationServerThread-17] oracle.discoverer.applications.framework.ApplicationController.execute Storing state
    10/04/11 14:37:25 discoverer: [INFO] [AJPRequestHandler-ApplicationServerThread-17] oracle.discoverer.applications.framework.ApplicationController.execute Externalize Perf: 8ms
    10/04/11 14:37:25 discoverer: [TRACE] [AJPRequestHandler-ApplicationServerThread-17] oracle.discoverer.applications.framework.ApplicationController.execute Saving Attributes
    10/04/11 14:37:25 discoverer: [TRACE] [AJPRequestHandler-ApplicationServerThread-17] oracle.discoverer.applications.framework.ApplicationController.execute Saving ApplicationRequest
    10/04/11 14:37:25 discoverer: [TRACE] [AJPRequestHandler-ApplicationServerThread-17] oracle.discoverer.applications.framework.ApplicationController.execute Checking for SSO mode
    10/04/11 14:37:25 discoverer: [TRACE] [AJPRequestHandler-ApplicationServerThread-17] oracle.discoverer.applications.framework.ApplicationController.execute Saving errors, messages
    10/04/11 14:37:25 discoverer: [DEBUG] [AJPRequestHandler-ApplicationServerThread-17] oracle.discoverer.applications.framework.ApplicationController.execute Returning final forward: "/ExportProgress.uix" redirect: "false"
    10/04/11 14:37:25 discoverer: [TRACE] [AJPRequestHandler-ApplicationServerThread-17] oracle.discoverer.applications.framework.ApplicationController.execute ----------------------- End Request --------------------------
    10/04/11 14:37:25 discoverer: [INFO] [AJPRequestHandler-ApplicationServerThread-17] oracle.discoverer.applications.framework.ApplicationController.execute Total Request Time in AppCtrl: 18
    10/04/11 14:37:25 discoverer: [DEBUG] [AJPRequestHandler-ApplicationServerThread-17] org.apache.struts.action.RequestProcessor.processForwardConfig processForwardConfig(ForwardConfig[name=long running operation,path=/ExportProgress.uix,redirect=false,contextRelative=false])
    10/04/11 14:37:25 discoverer: [DEBUG] [AJPRequestHandler-ApplicationServerThread-17] oracle.discoverer.applications.viewer.view.DiscovererPageBroker.isCacheable Setting cacheable to: true
    4: XML log:
    log2010041114285615691.xml
    <MSG_GROUP>DCS</MSG_GROUP> <PROCESS_ID>15691</PROCESS_ID> <FILE_NAME>dcstim.cpp</FILE_NAME> <LINE_NUMBER>184</LINE_NUMBER> <THREAD_ID>-1283799360</THREAD_ID> <LOG_TIME>Sun Apr 11 14:29:13 2010
    </LOG_TIME> ]]>
    </SUPPL_DETAIL> </PAYLOAD> </MESSAGE>
    <MESSAGE><HEADER><TSTZ_ORIGINATING>2010-04-11T14:29:13+00:00</TSTZ_ORIGINATING> <COMPONENT_ID>DISCOVER</COMPONENT_ID> <MSG_TYPE TYPE="NOTIFICATION"></MSG_TYPE><MSG_LEVEL>4</MSG_LEVEL> <HOST_ID>2010041114285615691</HOST_ID> <MODULE_ID>DCS</MODULE_ID> </HEADER> <PAYLOAD><MSG_TEXT><![CDATA[Timer started.]]></MSG_TEXT> <SUPPL_DETAIL><![CDATA[
    <MSG_GROUP>DCS</MSG_GROUP> <PROCESS_ID>15691</PROCESS_ID> <FILE_NAME>dcstim.cpp</FILE_NAME> <LINE_NUMBER>162</LINE_NUMBER> <THREAD_ID>-1283799360</THREAD_ID> <LOG_TIME>Sun Apr 11 14:29:13 2010
    </LOG_TIME> ]]>
    </SUPPL_DETAIL> </PAYLOAD> </MESSAGE>
    <MESSAGE><HEADER><TSTZ_ORIGINATING>2010-04-11T14:29:13+00:00</TSTZ_ORIGINATING> <COMPONENT_ID>DISCOVER</COMPONENT_ID> <MSG_TYPE TYPE="TRACE"></MSG_TYPE><MSG_LEVEL>5</MSG_LEVEL> <HOST_ID>2010041114285615691</HOST_ID> <MODULE_ID>DCS</MODULE_ID> </HEADER> <PAYLOAD><MSG_TEXT><![CDATA[Return DCSModelInterface::SendReceiveData(kScheduleInterface, inTable, outTable)
    outTable = DCITable
         Length=0
    ]]></MSG_TEXT> <SUPPL_DETAIL><![CDATA[
    <MSG_GROUP>DCS</MSG_GROUP> <PROCESS_ID>15691</PROCESS_ID> <FILE_NAME>dcsmdli.cpp</FILE_NAME> <LINE_NUMBER>259</LINE_NUMBER> <THREAD_ID>-1283799360</THREAD_ID> <LOG_TIME>Sun Apr 11 14:29:13 2010
    </LOG_TIME> ]]>
    </SUPPL_DETAIL> </PAYLOAD> </MESSAGE>
    <MESSAGE><HEADER><TSTZ_ORIGINATING>2010-04-11T14:29:13+00:00</TSTZ_ORIGINATING> <COMPONENT_ID>DISCOVER</COMPONENT_ID> <MSG_TYPE TYPE="NOTIFICATION"></MSG_TYPE><MSG_LEVEL>4</MSG_LEVEL> <HOST_ID>2010041114285615691</HOST_ID> <MODULE_ID>DCS</MODULE_ID> </HEADER> <PAYLOAD><MSG_TEXT><![CDATA[DCSModelInterface::SendReceiveData(kScheduleInterface)]]></MSG_TEXT> <SUPPL_DETAIL><![CDATA[
    <MSG_GROUP>DCS </MSG_GROUP> <PROCESS_ID>15691</PROCESS_ID> <FILE_NAME>dcsmdli.cpp</FILE_NAME> <LINE_NUMBER>226</LINE_NUMBER> <THREAD_ID>-1283799360</THREAD_ID> <LOG_TIME>Sun Apr 11 14:29:13 2010
    </LOG_TIME> <LOG_SIZE>0</LOG_SIZE> <EXTRA_INFO><MethodEnd duration="0.1" sizeChange="0" >
    real 0m0.1s
    user 0m0.900s
    sys 0m0.109s
    </MethodEnd></EXTRA_INFO> ]]>
    </SUPPL_DETAIL> </PAYLOAD> </MESSAGE>
    <MESSAGE><HEADER><TSTZ_ORIGINATING>2010-04-11T14:37:13+00:00</TSTZ_ORIGINATING> <COMPONENT_ID>DISCOVER</COMPONENT_ID> <MSG_TYPE TYPE="NOTIFICATION"></MSG_TYPE><MSG_LEVEL>4</MSG_LEVEL> <HOST_ID>2010041114285615691</HOST_ID> <MODULE_ID>DCS</MODULE_ID> </HEADER> <PAYLOAD><MSG_TEXT><![CDATA[Timer stopped.]]></MSG_TEXT> <SUPPL_DETAIL><![CDATA[
    <MSG_GROUP>DCS</MSG_GROUP> <PROCESS_ID>15691</PROCESS_ID> <FILE_NAME>dcstim.cpp</FILE_NAME> <LINE_NUMBER>184</LINE_NUMBER> <THREAD_ID>-1283799360</THREAD_ID> <LOG_TIME>Sun Apr 11 14:37:13 2010
    </LOG_TIME> ]]>
    </SUPPL_DETAIL> </PAYLOAD> </MESSAGE>
    <MESSAGE><HEADER><TSTZ_ORIGINATING>2010-04-11T14:37:13+00:00</TSTZ_ORIGINATING> <COMPONENT_ID>DISCOVER</COMPONENT_ID> <MSG_TYPE TYPE="NOTIFICATION"></MSG_TYPE><MSG_LEVEL>4</MSG_LEVEL> <HOST_ID>2010041114285615691</HOST_ID> <MODULE_ID>DCS</MODULE_ID> </HEADER> <PAYLOAD><MSG_TEXT><![CDATA[Timer started.]]></MSG_TEXT> <SUPPL_DETAIL><![CDATA[
    <MSG_GROUP>DCS</MSG_GROUP> <PROCESS_ID>15691</PROCESS_ID> <FILE_NAME>dcstim.cpp</FILE_NAME> <LINE_NUMBER>162</LINE_NUMBER> <THREAD_ID>-1283799360</THREAD_ID> <LOG_TIME>Sun Apr 11 14:37:13 2010
    </LOG_TIME> ]]>
    </SUPPL_DETAIL> </PAYLOAD> </MESSAGE>
    Regards,

    Hi ,
    as per Note: 466697.1 ....its an memory error....& need to increase MaxVirtualDiskMem and MaxVirtualHeapMem
    But we already have slowly increased MaxVirtualDiskMem and MaxVirtualHeapMem to below very high values ...but the issue remains same.......
    as per note we are getting Logkeys: exceptions discoiv.servlet_exceptions error but
    after that we are not getting below error ............
    Unexpected error in state machine: java.lang.OutOfMemoryError
    Hence I presume that its different issue rather than memmory....
    Below are pref.txt values..........
    CacheFlushPercentage          = 25          # Percent of cache flushed if the cache is full. valid values 0 - 100%.
    MaxVirtualDiskMem          = 9294967296     # Maximum amount of disk memory allowed for the data cache. Should be greater than or equal to MaxVirtualHeapMem
    MaxVirtualHeapMem          = 4294967296     # Maximum amount of heap memory allowed for the data cache.
    QueryBehavior = 0          # Action to take after opening a workbook (0 = Run Query Automatically, 1 = Don't Run Query, 2 = Ask for Confirmation)
    Also we have raised an SR & as per SR .............all below settings are tried as per SR except for applying a recent patch....
    ====================================================================
    Discoverer performance is largely determined by how well the database
    has been designed and tuned for queries.
    A well-designed database will perform significantly better than a poorly
    designed database.
    Workbook design can also affect query performance.
    1. Apply latest Discoverer patch as documented in <<Note:237607.1>>
    'ALERT: Required and Recommended Patch Levels For All Discoverer Version'.
    2. Increase the maximum JVM heap memory:
    In general, the default values for the minimum heap (-Xms) memory and
    maximum heap (-Xmx) memory are sufficient.
    However, if your organization consistently runs large Discoverer queries
    then you may benefit from increasing the maximum heap memory from the
    default values.
    This is recomended if your users are typically running large queries via
    Discoverer Viewer.
    Increasing the JVM memory can help to avoid "java.lang.OutOfMemoryError"
    in Discoverer Viewer:
    Please see <<Note 563960.1>>, Best Practice: Configuring The
    OC4J_BI_Forms JVM For
    Discoverer Viewer/Portlet 10g Performance And Stability for specific
    details.
    3. Disable Query Prediction:
    Query Prediction provides an estimate of the time required to retrieve
    the information in a query.
    The Query Prediction appears before the query and consumes time.
    Edit the <oracle_home>/discoverer/util/pref.txt on the middle-tier
    server and set:
    QPPEnable=0
    Also set:
    QPPObtainCostMethod = 0
    4. Uncheck the 'Enable fantrap detection' checkbox.
    When the box is checked, every query generated by Discoverer is
    interrogated. Discoverer will detect a fan trap and rewrite the query to
    ensure that the aggregation is done at the correct level.
    Please refer to <<Note:210553.1>>, Oracle BI Discoverer: Fan Trap
    Resolution - Correct Results
    Everytime for more information on fantraps.
    To disable, in Plus go to Tools -> Options -> Advanced -> Fan Trap
    settings.
    In Viewer go to Preferences and uncheck the box.
    5. Disable Materialized Views/Summaries
    In pref.txt add parameter:
    MaterializedViewRedirectionBehavior = 0
    Value equal to 0 ensures that Materialized View (MV) Redirection is
    always performed when MVs are available.
    6. Improve query performance by optimizing the SQL.
    In pref.txt modify/add following parameters:
    SQLFlatten = 0
    SQLItemTrim = 0
    SQLJoinTrim = 0
    UseOptimizerHints = 0
    If value of SQLFlatten is 1 then Discoverer will merge inline views in
    the query SQL where ever possible.
    In case of SQLItemTrim, Discoverer will remove unused folder items from
    the query SQL where possible and for SQLJoinTrim Discoverer will remove
    unnecessary joins from the query where possible.
    UseOptimizerHints will add Optimizer hints to SQL if set >
    0.Unnecessarily making Discoverer perform these checks consumes
    resources and rather than increasing the performance may reduce the same. So unless you feel these checks have to be performed depending on
    requirements, assign zero to these parameters.
    7. When Discoverer builds a query, Discoverer makes a database security
    check to confirm that the user has access to the tables referenced in
    the folders. Avoiding this check can save time.
    So in pref.txt underDatabase section add:
    ObjectsAlwaysAccessible = 1
    8. Whenever you are creating conditions, ensure that you match the Case.
    This in turn can reduce the time Discoverer spends on changing the Case
    and matching.
    For example:
    option Upper(Department) in (Upper('VIDEO SALES')
    9. Ensure that summaries are refreshed periodically in Discoverer
    Administrator.
    10. Increase the amount of memory available for the Discoverer data cache. Please refer to <<Note 245752.1>>, Explaining Oracle BI Discoverer
    Session Memory Management
    And Server Cache Settings.
    11. Performance may be enhanced by enabling OracleAS Web Cache.
    ==================================================================
    Thanks for your reply....................
    Regards,

  • Discoverer 11g generates weird queries with fields of date dastatype

    Hi,
    We recently installed Discoverer 11g and found out that it always adds "+0" expression to all fields of date datatype in SQL in reports. For example:
    SELECT ( O100186.END_DATE+( ( 0 ) ) ), O100186.INSTITUTIONID, O100186.INSTITUTIONNAME
    FROM INSTITUTION_MV O100186
    WHERE ( ( O100186.END_DATE+( ( 0 ) ) ) >= SYSDATE-10 );It causes problems with outer join queries and also prevents optimizer from using indexes on date fields.
    Is there a way to remove these "+0" expressions from queries?
    Thanks in advance.
    Oracle BI Discoverer 11g (11.1.1.2.0)Oracle Business Intelligence Discoverer Plus 11g (11.1.1.2.0)
    Discoverer Model - 11.1.1.2.0
    Discoverer Server - 11.1.1.2.0
    End User Layer - 5.1.1.0.0.0
    End User Layer Library - 11.1.1.2.0
    Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production

    I'm skeptical th Application node will be helpful but here is as well:
    [HKEY_CURRENT_USER\Software\ORACLE\Discoverer 10\Application]
    "ToolBarStateIsSaved"=dword:00000001
    "SplashDelayMsecs"=dword:00000fa0
    "MaxVirtualHeapMem"=dword:01388000
    "MaxVirtualDiskMem"=dword:f4240000
    "CacheFlushPercentage"=dword:00000019
    "UseImageOCX"=dword:00000000
    "UseSoundOCX"=dword:00000000
    "UseVideoOCX"=dword:00000000
    "DefaultOpenPath"=""
    "MaxMRUFiles"=dword:00000004
    "ToolBarStateSaved"=dword:00000001
    "WindowZoom"=dword:00000000
    "WindowRect"=hex:15,00,00,00,8d,00,00,00,db,04,00,00,b6,03,00,00
    "ShowDialogBitmaps"=dword:00000001
    "ViewType"=dword:00000001
    "PageDetail"=dword:00000000
    "DialogSize1539"=hex:02,01,00,00,0d,01,00,00,0d,04,00,00,bb,02,00,00
    "OpenDBDocumentType"=dword:00000000
    "QueryBehavior"=dword:00000000
    "SQL Inspector Visible"=dword:00000000
    "DocumentOrigin"=dword:00000002
    "SwapDir"="C:\\orant\\DISCVR4"
    "PromptIfDifferentDB"=dword:00000001
    "OptionsPage"=dword:00000100
    "Data Format"=hex:00,fa,01,00,00,01,00,00,00,40,06,00,01,00,00,00,08,4a,06,00,\
    00,01,42,06,00,00,00,00,00,01,43,06,00,01,00,00,00,03,44,06,00,00,00,07,45,\
    06,00,00,07,46,06,00,00,07,47,06,00,00,07,48,06,00,00,02,49,06,00,8c,7c,78,\
    5a,07,4b,06,00,00,08,4d,06,00,01,31,08,4c,06,00,00,00,02,00,00,00,40,06,00,\
    00,01,00,00,00,d0,07,00,02,00,00,00,01,d2,07,00,f3,ff,ff,ff,01,d3,07,00,00,\
    00,00,00,01,d4,07,00,00,00,00,00,01,d5,07,00,00,00,00,00,01,d6,07,00,90,01,\
    00,00,05,d7,07,00,00,05,d8,07,00,00,05,d9,07,00,00,05,da,07,00,01,05,db,07,\
    00,04,05,dc,07,00,00,05,dd,07,00,01,05,de,07,00,02,08,df,07,00,05,41,72,69,\
    61,6c,02,e0,07,00,00,00,00,ff,02,e1,07,00,00,00,00,ff,01,e2,07,00,00,00,01,\
    00,01,e3,07,00,00,00,00,00,01,e4,07,00,00,00,00,00,01,e5,07,00,00,00,00,00,\
    01,e6,07,00,00,00,00,00,01,e7,07,00,01,00,00,00,02,e8,07,00,01,00,00,00,0a,\
    e9,07,00,00,00,00,00,00,00,00,00,00,00,00,00,0a,ea,07,00,00,00,00,00,00,00,\
    00,00,00,00,00,00,01,eb,07,00,ff,ff,00,00,08,ed,07,00,01,32,08,ec,07,00,00,\
    00,02,00,00,00,d0,07,00,00,fb,01,00
    "Heading Format"=hex:00,fa,01,00,00,01,00,00,00,40,06,00,01,00,00,00,08,4a,06,\
    00,00,01,42,06,00,00,00,00,00,01,43,06,00,01,00,00,00,03,44,06,00,00,00,07,\
    45,06,00,00,07,46,06,00,00,07,47,06,00,00,07,48,06,00,00,02,49,06,00,15,1c,\
    13,00,07,4b,06,00,00,08,4d,06,00,01,31,08,4c,06,00,00,00,02,00,00,00,40,06,\
    00,00,01,00,00,00,d0,07,00,02,00,00,00,01,d2,07,00,f3,ff,ff,ff,01,d3,07,00,\
    00,00,00,00,01,d4,07,00,00,00,00,00,01,d5,07,00,00,00,00,00,01,d6,07,00,90,\
    01,00,00,05,d7,07,00,00,05,d8,07,00,00,05,d9,07,00,00,05,da,07,00,01,05,db,\
    07,00,04,05,dc,07,00,00,05,dd,07,00,01,05,de,07,00,02,08,df,07,00,05,41,72,\
    69,61,6c,02,e0,07,00,00,00,00,ff,02,e1,07,00,00,00,00,ff,01,e2,07,00,01,00,\
    00,00,01,e3,07,00,00,00,00,00,01,e4,07,00,00,00,00,00,01,e5,07,00,00,00,00,\
    00,01,e6,07,00,00,00,00,00,01,e7,07,00,02,00,00,00,02,e8,07,00,01,00,00,00,\
    0a,e9,07,00,00,00,00,00,00,00,00,00,00,00,00,00,0a,ea,07,00,00,00,00,00,00,\
    00,00,00,00,00,00,00,01,eb,07,00,ff,ff,00,00,08,ed,07,00,01,32,08,ec,07,00,\
    00,00,02,00,00,00,d0,07,00,00,fb,01,00
    "Title Format"=hex:00,fa,01,00,00,01,00,00,00,40,06,00,01,00,00,00,08,4a,06,00,\
    00,01,42,06,00,00,00,00,00,01,43,06,00,01,00,00,00,03,44,06,00,00,00,07,45,\
    06,00,00,07,46,06,00,00,07,47,06,00,00,07,48,06,00,00,02,49,06,00,2a,cc,ff,\
    00,07,4b,06,00,00,08,4d,06,00,01,31,08,4c,06,00,00,00,02,00,00,00,40,06,00,\
    00,01,00,00,00,d0,07,00,02,00,00,00,01,d2,07,00,f3,ff,ff,ff,01,d3,07,00,00,\
    00,00,00,01,d4,07,00,00,00,00,00,01,d5,07,00,00,00,00,00,01,d6,07,00,bc,02,\
    00,00,05,d7,07,00,00,05,d8,07,00,00,05,d9,07,00,00,05,da,07,00,01,05,db,07,\
    00,04,05,dc,07,00,00,05,dd,07,00,01,05,de,07,00,02,08,df,07,00,05,41,72,69,\
    61,6c,02,e0,07,00,00,00,00,ff,02,e1,07,00,00,00,00,ff,01,e2,07,00,01,00,00,\
    00,01,e3,07,00,00,00,00,00,01,e4,07,00,00,00,00,00,01,e5,07,00,00,00,00,00,\
    01,e6,07,00,00,00,00,00,01,e7,07,00,04,00,00,00,02,e8,07,00,01,00,00,00,0a,\
    e9,07,00,00,00,00,00,00,00,00,00,00,00,00,00,0a,ea,07,00,00,00,00,00,00,00,\
    00,00,00,00,00,00,01,eb,07,00,ff,ff,00,00,08,ed,07,00,01,32,08,ec,07,00,00,\
    00,02,00,00,00,d0,07,00,00,fb,01,00
    "Totals Format"=hex:00,fa,01,00,00,01,00,00,00,40,06,00,01,00,00,00,08,4a,06,\
    00,00,01,42,06,00,00,00,00,00,01,43,06,00,01,00,00,00,03,44,06,00,00,00,07,\
    45,06,00,00,07,46,06,00,00,07,47,06,00,00,07,48,06,00,00,02,49,06,00,e9,f3,\
    81,00,07,4b,06,00,00,08,4d,06,00,01,31,08,4c,06,00,00,00,02,00,00,00,40,06,\
    00,00,01,00,00,00,d0,07,00,02,00,00,00,01,d2,07,00,f3,ff,ff,ff,01,d3,07,00,\
    00,00,00,00,01,d4,07,00,00,00,00,00,01,d5,07,00,00,00,00,00,01,d6,07,00,90,\
    01,00,00,05,d7,07,00,00,05,d8,07,00,00,05,d9,07,00,00,05,da,07,00,01,05,db,\
    07,00,04,05,dc,07,00,00,05,dd,07,00,01,05,de,07,00,02,08,df,07,00,05,41,72,\
    69,61,6c,02,e0,07,00,00,00,00,ff,02,e1,07,00,00,00,00,ff,01,e2,07,00,00,00,\
    01,00,01,e3,07,00,00,00,00,00,01,e4,07,00,00,00,00,00,01,e5,07,00,00,00,00,\
    00,01,e6,07,00,00,00,00,00,01,e7,07,00,08,00,00,00,02,e8,07,00,01,00,00,00,\
    0a,e9,07,00,00,00,00,00,00,00,00,00,00,00,00,00,0a,ea,07,00,00,00,00,00,00,\
    00,00,00,00,00,00,00,01,eb,07,00,ff,ff,00,00,08,ed,07,00,01,32,08,ec,07,00,\
    00,00,02,00,00,00,d0,07,00,00,fb,01,00
    "Exception Format"=hex:00,fa,01,00,00,01,00,00,00,40,06,00,01,00,00,00,08,4a,\
    06,00,00,01,42,06,00,00,00,00,00,01,43,06,00,01,00,00,00,03,44,06,00,00,00,\
    07,45,06,00,00,07,46,06,00,00,07,47,06,00,00,07,48,06,00,00,02,49,06,00,eb,\
    ff,a0,00,07,4b,06,00,00,08,4d,06,00,01,31,08,4c,06,00,00,00,02,00,00,00,40,\
    06,00,00,01,00,00,00,d0,07,00,02,00,00,00,01,d2,07,00,f3,ff,ff,ff,01,d3,07,\
    00,00,00,00,00,01,d4,07,00,00,00,00,00,01,d5,07,00,00,00,00,00,01,d6,07,00,\
    90,01,00,00,05,d7,07,00,00,05,d8,07,00,00,05,d9,07,00,00,05,da,07,00,01,05,\
    db,07,00,04,05,dc,07,00,00,05,dd,07,00,01,05,de,07,00,02,08,df,07,00,05,41,\
    72,69,61,6c,02,e0,07,00,00,00,00,ff,02,e1,07,00,ff,00,00,00,01,e2,07,00,00,\
    00,01,00,01,e3,07,00,00,00,00,00,01,e4,07,00,00,00,00,00,01,e5,07,00,00,00,\
    00,00,01,e6,07,00,00,00,00,00,01,e7,07,00,10,00,00,00,02,e8,07,00,01,00,00,\
    00,0a,e9,07,00,00,00,00,00,00,00,00,00,00,00,00,00,0a,ea,07,00,00,00,00,00,\
    00,00,00,00,00,00,00,00,01,eb,07,00,ff,ff,00,00,08,ed,07,00,01,32,08,ec,07,\
    00,00,00,02,00,00,00,d0,07,00,00,fb,01,00
    "DialogSize263"=hex:75,01,00,00,0f,01,00,00,90,03,00,00,d2,02,00,00
    "DialogSize265"=hex:af,01,00,00,fd,01,00,00,ca,03,00,00,4b,03,00,00
    "Business Area"="Video Store Tutorial"
    "DialogSize1671"=hex:c9,01,00,00,5b,01,00,00,36,03,00,00,87,02,00,00
    "DialogSize303"=hex:ac,01,00,00,33,01,00,00,58,03,00,00,ad,02,00,00
    "DialogSize281"=hex:87,01,00,00,43,01,00,00,7e,03,00,00,9e,02,00,00
    "DialogSize288"=hex:3c,01,00,00,9a,01,00,00,c6,03,00,00,66,03,00,00
    "DialogSize304"=hex:ac,01,00,00,44,01,00,00,58,03,00,00,9c,02,00,00
    "DialogSize305"=hex:b1,01,00,00,10,01,00,00,5d,03,00,00,8f,02,00,00
    "DrillWizardFlavor"=dword:00000001
    "UpDownDrillToNewSheet"=dword:00000000
    "UpDownDrillNewSheetType"=dword:00000000
    "UpDownDrillShowWizard"=dword:00000000
    "UpDownDrillReplaceItem"=dword:00000000
    "HyperDrillToNewSheet"=dword:00000001
    "HyperDrillNewSheetType"=dword:00000001
    "HyperDrillShowWizard"=dword:00000000
    "HyperDrillReplaceItem"=dword:00000000
    "RelatedDrillToNewSheet"=dword:00000000
    "RelatedDrillNewSheetType"=dword:00000000
    "RelatedDrillShowWizard"=dword:00000000
    "RelatedDrillReplaceItem"=dword:00000000
    "DialogSize1569"=hex:cb,00,00,00,bf,00,00,00,34,03,00,00,27,02,00,00
    "DialogSize1541"=hex:f4,00,00,00,c2,00,00,00,0b,03,00,00,24,02,00,00

  • Discoverer Reporting Solution for Multiple Databases

    I have to build oracle discoverer reports (single point of access) for four different applications. Each application is having separate databases. So whether i should create separate EULs for each applications (in respective databases) or Should i create a single EUL in any one of the databases and then use db links to connect rermaining databases (for reports from the other applications).
    Can u suggest me which method will work good if you see the performace?. I need a dingle point of access for all the discoverer reports.
    The worksheets need to be deployed with oracle portal for access of reports in a single click. Is there any way to pre configure the db credentila for each worksheet...?

    Hi
    My replies below make the assumption that you are not allowed to do any ETL and therefore the data from each database has to be pulled as is. If you do have ETL capability the situation changes dramatically.
    In addition to what Sharon has said the cost based optimiizer will have a difficult job rewriting your query efficiently if you use database links, and if you attempt to have queries with some tables from one database and some from another the optimizer will not work at all. I mean. How could it? How could the optimzier in database A know anything about the statistics in databases B, C or D? Wherever the EUL is, that is where the driving optimizer will be so choose wisely obi-wan :-)
    For me it's more about user needs than IT needs. If the business has a need to combine data from multiple databases then having a single EUL with database links would be a necessity. However, if they really are disparate systems with nothing in common such as say having Peoplesoft HR in one and E-Busines Suite Inventory in another with perhaps an in-house tracking system in another then I would look at having separate EULs, one in each.
    Having one EUL across non-related systems means you have to mix users and roles and can be hard to manage. It actually becomes messy when just two databases are involved never mind four. So even though you might think it is more difficult to maintain 4 EULs, if the objects really are different and you have differing roles and usernames it actually will probably be simpler. They will be simpler to backup, simpler for exporting and importing and it will be faster for Discoverer to maintain workbooks as there will be fewer of them. Plus your system will have access to its local optimzier thereby ensuring the SQL is efficient.
    If you are going to use one EUL you need to start out on a sound foundation. This means using libraries to control access too business areas and workbooks. You'll need to adopt some simple naming standards to keep things separate and manageable. I wrote a paper about libraries a few years ago and it is available free of change here on my website: http://ascbi.com/downloads.htm. The paper is called Discoverer Libraries - a Concept.
    Best wiishes
    Michael

  • Problems with Discoverer queries

    I'm building a Discoverer worksheet based off a view where I have the following select statement:
    select count(2.columnA) A, count(distinct 3.columnB) B, 1.columnC, 1.columnD from
    table1 1, table2 2, table3 3
    where 1.columnE=2.columnA
    and 1.columnE=3.columnB
    group by 1.columnC, 1.columnD
    When I create this worksheet in Discoverer, everything comes out fine. However, when I build the following calculation, I get incorrect results: (A - B)/A. For some reason, Discoverer does not want to divide properly. Any ideas?
    Devin

    Hi
    I found in the manual regarding Turn off Query Prediction. / Stop Query Prediction
    "Turn off Query Prediction.
    This can be done by specifying the following registry key:
    HKEY_CURRENT_USER\Software\Oracle\Discoverer 4\Database\QPPEnable
    It should be set to a DWORD value of 0 (zero). To re-enable query prediction at some later point in time, either remove the registry key or set it to 1.
    Stop Query Prediction forcing the use of the Cost-Based Optimizer.
    This can be done by specifying the following registry key:
    HKEY_CURRENT_USER\Software\Oracle\Discoverer 4\Database\QPPCBOEnforced
    It should be set to a DWORD value of 0 (zero) which means use of the Cost-based Optimizer (CBO) is not enforced. The CBO will follow the normal rules of the database server. "
    However I cannot find the specified registry keys QPPEnable and QPPCBOEnforced
    What could be wrong?
    Thanks
    ARI

  • Discoverer Managed Summaries.

    Here is something that I gather from manuals of Discoverer 4.
    "Some Applications Database Views contain row level security and return differing result sets depending upon the currently active responsibility. This means that the Summary Table or Materialized View (MV) (8.1.6+ databases) would contain different data depending on the responsibility of the user that refreshed the table.
    If a user performs a query against the detail data associated with such a Managed Summary Folder, and Summary Redirection is performed, the user will be told that no rows satisfy this
    criteria (this ensures that the user does not see data they should not have access to). As an administrator, you should ensure that Summary Folders that are based on Applications
    Secure Views or Applications Business Views are created as External (rather than Managed).
    Managed Summaries Folders on data without Applications row level security are completely unaffected. Users can continue to use External Summary Tables. If the External Summary Table is registered against an object with Applications row level security, it is the responsibility of the administrator to make sure the External Summary Table provides secure access.
    Some views with row-level security, support "public" rows (particularly the Apps Human Resources). So sometimes Managed Summary Tables or MVs contain small amounts of data."
    Now the question:
    1.How can I know that a particular item is based on Applications secure Views?
    2.Hhow will I know that particular secure view has row level security on that?
    Any lessons leart, guide lines on this from people who have taken this path? Any relevant suggestions are welcome!!
    Thanks,
    Vinay.

    That may be true for summaries, but query-rewrite could also occur once the query hits the database, and the optimizer determines that a materialized view would be better. I haven't experimented with this much, but you might be able to take the Disco generated SQL and run an explain plan in SQL plus (or TOAD or SQL Developer). You could also use SQL plus, and trace the session.

  • How to manage number of OLAP Discoverer Plus reports

    We are currently running Discoverer Plus OLAP and experiencing very slow performance.
    OracleBI Discoverer version 10.1.2.55.26
    D4O Build 10.1.2.55.26
    BI Beans Build 3.2.3.1.36
    JDK Version 1.6.0_23
    Oracle RDBMS version 10.2.0.5
    The D4OSYS.BISM_OBJECTS table in production contains almost 300,000 rows equating to over 25,000 reports.
    During testing in our performance environment we found that reducing the number of reports significantly improved performance. For example, when we click on the drop down menu in the available items panel with 25K reports, it takes 12 seconds. When we reduce the number of reports to 8K it takes 4 seconds. When we reduce the number of reports to the bare minimum for our application (approx 200) response is almost instantaeous.
    Is there a best practice for the number of reports for this type of environment?
    Is there a way to enforce a maximum number of reports?
    Thanks,
    Joanne

    Hi Joanne
    25,000 reports is high. I've seen a few places with more but not by many so you are right up there at the top of a small list. I'd hazard a guess to say that some of them must be redundant.
    The first thing I would advise would be to get your DBA to reorg the table. This way it will have the optimum settings and the indexes will not be lop sided. Also, please make sure your DBA is gathering statistics for this table otherwise if it has been a long time the optimizer will have trouble figuring out how to get data out of it.
    With regards to redundant reports that will be a little more difficult to resolve. You probably need to go through a clean up exercise and ask your users to get rid of unwanted reports. You should also check to see if any reports are owned by ex-employees. These can probably go. However, I would advise taking a backup first - just in case!
    Best wishes
    Michael

  • Tune query in Discoverer 4i

    Hi,
    I am using disc 4i Desktop edition. I want to tune the query / report by adding some Hints to the query.
    I am new to discoverer. Can somebody guide me how to this. I am using 4.1.48 destop version
    I want to know, how to Edit the query to introduce the Hints

    Hi,
    Using Discoverer Administrator you can enter hints in the optimizer hints property of the folders. These will then be added to the query when the folder is used in Discoverer Desktop.
    Rod West

  • Discoverer Pref File Questions

    Our Oracle DB v9.2.x Server's Query Optimizer setting is set to "Choose".
    If the QPPCBOEnforced setting is set to 1 (yes) in the Discoverer pref.txt file ... will this force the Database Server to use the Cost-based Optimizer?
    I've noticed that our UseOptimizerHints setting is zero. Has anyone seen much improvement by turning this on?
    Thanks,
    Bob Larsen

    Hi Bob
    Taken from my Discoverer 10g Handbook:
    QPPCBOEnforced determines whether the use of the cost-based optimizer is enforced. It has three valid settings. These are:
    0 – The use of the cost-based optimizer is not enforced.
    1 – The use of the cost-based optimizer is enforced.
    2 – The use of the cost-based optimizer will be enforced only for an Oracle 8.1.6 or newer database.
    The default setting is 2.
    To answer your question, setting QPPCBOEnforced to be 1 forces Discoverer to use the cost-based optimizer, but setting it to 0 does not turn if off. To stop Discoverer using CBO altogether, you need to turn off query prediction, which is done by setting QPPEnabled to 0.
    Thus, in order for QPPCBOEnforced to be used you also need to have QPPEnabled set to any non-zero value.
    Best wishes
    Michael

  • Discoverer Hints

    I have problem with hints which discoverer (9i) uses in some reports.
    For example /*+ first_rows */.
    Can somebody advice me how to manage this problem?
    I dont want to use custom folder.
    I looked in documentation, but there is nothing about hints.
    Thanks

    you do not need o provide any hint when using rule based optimizer mode.
    there is some harm of using rbo. this optimizer mode is almost not used now a dasys.
    incbo it searches for the lowest cost plan among the available plans and then applies it to execute sql statement.
    now if you want cbo to use plan thay you want then uou need to provide hints.
    suppose you want the cbo to make use of indexes on a taBLE WHICH I WAS NOT USING EARLIESR then you nee to provise hint with sql statement /*+ index(.....)*/
    this is waht for hint is there.

  • Open Pages from Discoverer Report

    Hi,
    Is there a way to invoke a webpage or even better, an oracle function (that links to forms or self-service) from a discoverer report row ?
    for example, I want a report for employees where the person looking at the report will click on the employee name and is taken straight to the person details page for that employee.
    Regards.

    Hi,
    You can create a link to a form function using fnd_run_function.get_run_function_url. You can create a calculation either in a view or using a calculated item in the EUL (you will have to map the get_run_function_url in the EUL to do this). You then set the content type property of the EUL item to FILE so that when the item is selected in the workbook it appears as a hyperlink.
    Most forms in apps except parameters so that you can pass the employee id to the form and the form will open up with the employee record. For example, if you are using a seed HR person form you create a calculation,
    fnd_run_function.get_run_function_url(3494      -- PERWSHRG-404
                                         ,800       -- HR
                                         ,fnd_global.RESP_ID     -- caller's responsibility
                                         ,0        -- Business Group
                                         ,         -- Parameters
         'P_PERSON_ID='||TO_CHAR(person_id, 'fm9999999999999')||
         ' P_EFFECTIVE_DATE='||TO_CHAR(SYSDATE, 'YYYY/MM/DD'))Rod West

  • Discoverer Report

    Dear Sir,
    Can i access the report from cyber cafe(Web Enabled) that is generated with oracle 9i Discoverer. If YES then How ?
    If NO then Why
    OR
    any other version from which we can access the report from cyber cafe that created with discoverer

    Is it Correct " If You Don't have Licence copy of oracle S/w then u can use only development not for production for production you must have licence copy of oracle."

Maybe you are looking for

  • Using CSS3 in jdeveloper 11.1.1.6.0 Build JDEVADF_11.1.1.6.0CLOUD_GENERIC_1

    I'm trying to insert rounded corner boxes as well as trying to include color gradient properties of css3 can this be achieved or not? if yes what exactly i have to include css3? Edited by: 1004990 on May 9, 2013 4:34 AM

  • Suggest a good JSP book

    Can anyone suggest a Good JSP book for a intermediate level Programmer. It should have good working examples of JSP model 2 architeture and also on how to use Tags in JSP Rajani

  • Related to User Licensing

    Hi, Currently we have license for 450 users. For testing, we want to stress test our system for 600 users. This is to make sure if number of users increase in future, the system runs fine. I have two questions. 1. How to test the system for 600 users

  • ORA-01031 Unsufficient privileges

    Hello, I'm facing a weird issue. When logging with a specific user onto sqlplus, i'm able to issue a request which give me output. However when the very same request is issued from the web server i get the ORA-01031 error. I'm running Oracle 11.2.0.1

  • DATAELEMENT FOR A FIELD

    HEllo Friends, How can we find the DATAELEMENT used for a FIELD with the help of ABAP CODE? Is there any table reflecting this? THanks and Regards Ashish NAik