Interactive Reports - Performance Issue

Hi All
We have been getting ORA-04030: out of process memory … more and more frequently since first implementing Interactive Reports. From Enterprise Manager we had a look at the most costly queries and the one that stands out the most is:
SELECT *
FROM WWV_FLOW_WORKSHEET_CONDITIONS
WHERE CONDITION_TYPE = ‘HIGHLIGHT’
  AND WORKSHEET_ID = :B2
  AND SECURITY_GROUP_ID = :B1
ORDER BY HIGHLIGHT_SEQUENCE, NAME I have done all I can with the memory configuration and we are in the process of upgrading the servers to 64 bit Linux.
However, I noticed that WWV_FLOW_WORKSHEET_CONDITIONS table has 400,000 rows and the above query is performing a full table scan on it. As the query is run each time an IR report is viewed, this could account for the problems. The DBAs are of the opinion that the indexing and query are optimal and cannot be improved, so the obvious solution is to archive and purge the table.
Of the 400k rows, 80% are session values linked to sessions that no longer exists. It would appear that each time a user adds a filter or highlight to an interactive report it is recorded as a session value in the WWV_FLOW_WORKSHEET_CONDITIONS table. When the user logs out and closes the session, the values remain in the table and aren't cleared!!!? We currently average about 90 users a day with 60,000+ page requests so 400,000 rows is way more than I would expect to see.
Am I missing something? How do redundant session values get purged from the ir flows tables? Is there a (supported) way for me to clear them?
This is a critical issue for me now and I have raised an SR on metalink, but if the forum could offer some advice or assistance it would be very much appreciated.
Cheers
Simon
Bumped by: Shunt on May 12, 2009 11:00 AM

Hi Varad
Thanks for your help. I have had a good play with the purge function and now I'm more confused than ever. First let me explain my test scenario: I have an application with an interactive report in which I am logged in and able to make session changes (without saving the reports). I am observing the session activity on the Interactive Report using the apex_application_page_ir_rpt view which is set to filter on the application and page number for the Interactive Report I am testing.
Test 1
User logs into application, adds a filter to the report.
Result: A new row appears in the apex_application_page_ir_rpt view
Administrator Purges all sessions > 10secs old
Result: The new row is removed from apex_application_page_ir_rpt view
Test 2
User logs into application, adds a filter to the report.
Result: A new row appears in the apex_application_page_ir_rpt view
User logs out of application
Result: The new row remains in the apex_application_page_ir_rpt view
Administrator Purges all sessions > 10 secs old
Result: The new row still remains in the apex_application_page_ir_rpt view view
I hope that makes sense. Why would the session values not be cleared if the user logs out first? Why are they not then cleared if all the sessions are purged?
I am hoping that someone else can repeat the test and see if they find the same result.
Cheers
Simon

Similar Messages

  • Hyperion Interactive reporting performance issue.

    Hi,
    We created a report in Hyperion Interactive reporting using Hyperion Essbase as database connection file .
    Report performance was good in Interactive reporting Studio we don't have any problem in studio.
    when we open the the report in Hyperion Workspace We are facing performance issue of the report and also when i hit refresh button to refresh data in the Workspace,i am getting the following error message
    *"An Interactive Reporting Service error has occurred - Failed to acquire requested service. Error Code : 2001"*
    Any suggestions to resolve this will be really helpful.
    Thanks in advance
    Thanks
    Vamsi
    Edited by: user9363364 on Aug 24, 2010 7:49 AM
    Edited by: user9363364 on Sep 1, 2010 7:59 AM

    Hi
    i also faced such an issue and then i found the answer on metalink
    Error: "An Interactive Reporting Service Error has Occurred. Failed to Acquire Requested Service. Error Code: 2001" when Processing a bqy Report in Workspace. [ID 1117395.1]     
    Applies to:
    Hyperion BI+ - Version: 11.1.1.2.00 and later [Release: 11.1 and later ]
    Information in this document applies to any platform.
    Symptoms
    Obtaining the following error when trying to process a BQY that uses an Essbase data source in Workspace:
    "An Interactive Reporting Service error has occurred. Failed to acquire requested service. Error Code: 2001".
    Cause
    The name of the data source in the CMC contained the machine name in fully qualified name format whereas the OCE contained the machine name only. This mismatch in machine names caused the problem. Making the machine name identical in both cases resolved the problem.
    Solution
    Ensure that the name of the data source as specified in the OCE in Interactive Reporting Studio matches the name specified in the CMC tool in the field "Enter the name of the data source".
    In fact, all fields need to match between the OCE and the CMC Data Source.
    regards
    alex

  • Interactive report performance problem over database link - Oracle Gateway

    Hello all;
    This is regarding a thread Interactive report performance problem over database link that was posted by Samo.
    The issue that I am facing is when I use Oracle function like (apex_item.check_box) the query slow down by 45 seconds.
    query like this: (due to sensitivity issue, I can not disclose real table name)
    SELECT apex_item.checkbox(1,b.col3)
    , a.col1
    , a.col2
    FROM table_one a
    , table_two b
    WHERE a.col3 = 12345
    AND a.col4 = 100
    AND b.col5 = a.col5
    table_one and table_two are remote tables (non-oracle) which are connected using Oracle Gateway.
    Now if I run above queries without apex_item.checkbox function the query return or response is less than a second but if I have apex_item.checkbox then the query run more than 30 seconds. I have resolved the issues by creating a collection but it’s not a good practice.
    I would like to get ideas from people how to resolve or speed-up the query?
    Any idea how to use sub-factoring for the above scenario? Or others method (creating view or materialized view are not an option).
    Thank you.
    Shaun S.

    Hi Shaun
    Okay, I have a million questions (could you tell me if both tables are from the same remote source, it looks like they're possibly not?), but let's just try some things first.
    By now you should understand the idea of what I termed 'sub-factoring' in a previous post. This is to do with using the WITH blah AS (SELECT... syntax. Now in most circumstances this 'materialises' the results of the inner select statement. This means that we 'get' the results then do something with them afterwards. It's a handy trick when dealing with remote sites as sometimes you want the remote database to do the work. The reason that I ask you to use the MATERIALIZE hint for testing is just to force this, in 99.99% of cases this can be removed later. Using the WITH statement is also handled differently to inline view like SELECT * FROM (SELECT... but the same result can be mimicked with a NO_MERGE hint.
    Looking at your case I would be interested to see what the explain plan and results would be for something like the following two statements (sorry - you're going have to check them, it's late!)
    WITH a AS
    (SELECT /*+ MATERIALIZE */ *
    FROM table_one),
    b AS
    (SELECT /*+ MATERIALIZE */ *
    FROM table_two),
    sourceqry AS
    (SELECT  b.col3 x
           , a.col1 y
           , a.col2 z
    FROM table_one a
        , table_two b
    WHERE a.col3 = 12345
    AND   a.col4 = 100
    AND   b.col5 = a.col5)
    SELECT apex_item.checkbox(1,x), y , z
    FROM sourceqry
    WITH a AS
    (SELECT /*+ MATERIALIZE */ *
    FROM table_one),
    b AS
    (SELECT /*+ MATERIALIZE */ *
    FROM table_two)
    SELECT  apex_item.checkbox(1,x), y , z
    FROM table_one a
        , table_two b
    WHERE a.col3 = 12345
    AND   a.col4 = 100
    AND   b.col5 = a.col5If the remote tables are at the same site, then you should have the same results. If they aren't you should get the same results but different to the original query.
    We aren't being told the real cardinality of the inners select here so the explain plan is distorted (this is normal for queries on remote and especially non-oracle sites). This hinders tuning normally but I don't think this is your problem at all. How many distinct values do you normally get of the column aliased 'x' and how many rows are normally returned in total? Also how are you testing response times, in APEX, SQL Developer, Toad SQLplus etc?
    Sorry for all the questions but it helps to answer the question, if I can.
    Cheers
    Ben
    http://www.munkyben.wordpress.com
    Don't forget to mark replies helpful or correct ;)

  • Interactive Report Performance

    Hi everyone.. I don't see a setting for this, but I do see a need for this. I do have some interactive reports that have a decent amount of data, and this can cause page performance issues. I would love if there was a setting that allowed you to filter before fully rendering. This way I don't have to build a pre-report filter to help with speed.
    Any other thoughts/suggestions?
    Thanks,
    Scott

    do you want to filter rows?
    I had a similar task and solved it like this:
    - create a Interactive Report with few columns
    - add a column with checkboxes
    - write the selected boxes into a hidden text box
    - use the string as filter option
    => the User can select single rows of interest
    Also seen here:
    http://www.oracle.com/global/de/community/tipps/link_reports/index.html
    Sry, it's german. But maybe it helps.

  • Interactive report performance problem over database link

    Hi gurus,
    I have an interactive report that retrieves values from two joined tables both placed on the same remote database. It takes 45 seconds to populate (refresh) a page after issuing a search. If I catch the actual select that is generated by apex ( the one with count(*) over ()...) and run it from sql environment, it takes 1 or 2 seconds. What on earth does consume the rest of the time and how to speed this up? I would like to awoid creating and maintaining local materialized views if possible.
    Regards
    Samo

    Hi
    APEX normally needs to return the full result set for the purposes of pagination (where you have it set to something along the lines of show x-y of z), changing this or the max row count can affect performance greatly.
    The driving site hint would need to refer to the name of the view, but can be a bit temperamental with this kind of thing. The materialize hint only works for sub-factored queries (in a 'WITH blah AS(SELECT /*+ MATERIALIZE */ * FROM etc. etc.)). They tend to materialize anyway and its best not to use hints like that for production code unless there is absolutely no other option, but just sub factoring without hints can often have a profound effect on performance. For instance
    WITH a AS
    SELECT c1,
            c2,
            c3,
            c4,
            c5
    FROM schema1.view1)
    , b AS
    SELECT c1,
            c2,
            c3
    FROM schema1.view2)
    SELECT *
    FROM a, b
    WHERE a.c5 = b.c3May produce a different plan or even just sub factoring one of the external tables may have an effect.
    You need to try things out here and experiment and keep looking at the execution plans. You should also change Toads row fetch setting to be all 9's to get a real idea of performance.
    Let me know how you get on.
    Cheers
    Ben
    http://www.munkyben.wordpress.com
    Don't forget to mark replies helpful or correct ;)
    Edited by: Munky on Sep 29, 2009 1:41 PM

  • Report Performance Issue - Activity

    Hi gurus,
    I'm developing an Activity report using Transactional database (Online real time object).
    the purpose of the report is to list down all contacts related activities and activities NOT related to Contact by activity owner (user id).
    In order to fullfill that requirment I've created 2 report
    1) All Activities related to Contact -- Report A
    pull in Acitivity ID , Activity Type, Status, Contact ID
    2) All Activities not related to Contact UNION All Activities related to Contact (Base report) -- Report B
    to get the list of activities not related to contact i'm using Advanced filter based on result of another request which is I think is the part that slow down the query.
    <Activity ID not equal to any Activity ID in Report B>
    Anyone encountered performance issue due to the advanced filter in analytic before?
    any input is really appriciated
    Thanks in advanced,
    Fina

    Fina,
    Union is always the last option. If you can get all record in one report, do not use union.
    since all records, which you are targeting, are in the activity subject area, it is not nessecery to combine reports. add a column with the following logic
    if contact id is null (or = 'Unspecified') then owner name else contact name
    Hopefully, this is helping.

  • Report performance Issue in BI Answers

    Hi All,
    We have a performance issues with reports. Report is running more than 10 mins. we took query from the session log and ran it in database, at that time it took not more than 2 mins. We have verified proper indexes on the where clause columns.
    Could any once suggest to improve the performance in BI answers?
    Thanks in advance,

    I hope you dont have many case statements and complex calculations that you do in the Answers.
    Next thing you need to monitor is how many rows of data that you are trying to retrieve from the query. If the volume is huge then it takes time to do the formatting on the Answers as you are going to dump huge volumes of data. Database(like teradata) returns initially like 1-2000 records if you hit show all records then even db is gonna fair amount of time if you are dumping many records
    hope it helps
    thanks
    Prash

  • Accrual Reconciliation Load Run  report performance issue.

    we have significant performance issues when running accrual reconciliation load run report. we had to cancel after have it run for a day. any idea on how to resolve it?

    We experienced similar issue. As the runtime of this report depends on the input parameters. Remember, your first run of this report going to take significant amount of time and the subsequent runs will be much shorter.
    But w had to apply the patches referred in the MOS article to resolve the performance issue.
    Accrual Reconciliation Load Run Has Slow Performance [ID 1490578.1]
    Thanks,
    Sunthar....

  • HR ABAP- Report Performance Issue

    Can you please any body tell me how to debug a report program by putting watch points and break points.
    Waiting for your Reply.
    Anu
    Bangalore

    Hi,
               If you have programm name then proceed with SE38 or take the programm name from Trasaction code which  you are using.
    Break Points:   If it is performance issue , put external break points around select querie and loop ---end loop.
    Watch Points :  in the debug screen choose the watch  point option and  give the field name from  your internal table for which you want to put watch point.
    After that give the range which you record you want to see in the range options.
    for these steps:  1. Execute your programm.
           2. In the selection screen enter /h in the command window to start debugging screen or put break points before excuting.
         3. Once you are in debug screen then start woring with F5 or F6 or F7 and create watch points where ever you like.

  • Database migrated from Oracle 10g to 11g Discoverer report performance issu

    Hi All,
    We are now getting issue in Discoverer Report performance as the report is keep on running when database got upgrade from 10g to 11g.
    In database 10g the report is working fine but the same report is not working fine in 11g.
    The query i have changed as I have passed the date format TO_CHAR("DD-MON-YYYY" and removed the NVL & TRUNC function from the existing query.
    The report is now working fine in Database 11g backhand but when I am using the same query in Discoverer it is not working and report is keep on running.
    Please advise.
    Regards,

    Pl post exact OS, database and Discoverer versions. After the upgrade, have statistics been updated ? Have you traced the Discoverer query to determine where the performance issue is ?
    How To Find Oracle Discoverer Diagnostic and Tracing Guides [ID 290658.1]
    How To Enable SQL Tracing For Discoverer Sessions [ID 133055.1]
    Discoverer 11g: Performance degradation after Upgrade to Database 11g [ID 1514929.1]
    HTH
    Srini

  • Deski reports performance issue

    After an upgrade from BOXI Release2-SP3 to BOXI Release3.1-SP3 all the deski reports are very slow when we try to refresh them using Infoview.
    For example, a specific deski report needs two minutes from Desktop Intelligence and twenty!!! minutes from Infoview. The same behavior have all the migrated deski reports. Do you have any idea/workaround??

    hi,
    - Set the array fetch size as 500 and array bind size as 32767 in Universe Parameters
    Following links will be helpful.
    http://www.forumtopics.com/busobj/viewtopic.php?t=142973&sid=0a48878553739783e77ca43ae06c5cdb
    Performance issue with Deski in three tier mode
    Regards,
    Vamsee

  • XL Report performance issues

    Hello All,
    We are running some XL reports and facing some performance issues: 10 mins for a report to run.
    We don´t plan to split this report in many other ones, and I have already run the SQL tools for reorganizing and reindexing the tables (I believe this is nothing to do with performance but ran it anyway...) without any improvements.
    Can anybody be a help on this?
    Thanks!

    Hi Siavauch Saleki 
    Name the report which take too long to run, i have worked on XL report, when i run report from client system it takes some long time,
    try running to run from server
    another way of making it faster is go to Task manager in the process tab
    Change the priority of XL Reporter , excel to HIGH
    THIS WILL MAKE IT FASTER BY ALLOCATING MORE PROCESSOR TIME FROM OS TO IT
    This should improve the reporting speed
    Let me know how it works
    Regards
    Krish

  • Webi Reports - Performance Issues

    Hi Experts,
           Right now we are using BO XI R2 version. We have 2 servers, server 1 is old and server 2 is new (AIX server u2013 new upgrade of old server).
          When I trying to schedule the report (webi) in both server, reports is running successfully. But problem is that the report scheduling time is more in new server (AIX) than old server (Server1).
    There is some performance issues
    Example:
    Old serve     : 1 hrs (time taken)
    New server  : 2 hrs (time taken)
    Could you please tell me how to increase the webi report performance in new server?
    Regards,
    Sridharan Krishnan

    Hi,
    How to enable Excel and Pdf option under Save as file in infoview.
    When i trying to click modify option under public folder reports ,Report is getting open but i am not able to save that report as excel or pdf , since those option is disabled in infoview.
    But it is enabled in user private folder Reports.
    Right now we have upgraded the objects from XI R2 to BO 3.1, Since there is some difference in security rights in 3.1, Please tell me how to fix it.
    BO Version u2013  3.1
    Regards,
    Sridharan

  • Interactive Report Source Issue (Speed Related)

    Hi,
    I'm having a bit of an issue with an interactive report that forms the basis of an app i am creating. This was running fine until i decided to switch up the number of test rows from 100k to 5 million. The source for the report is as follows
    SELECT
      a.field_1,
      a.field_2,
      a.field_3,
      a.field_4,
      a.field_5,
      a.field_6,
      a.field_7
    FROM
      table_a a
    where
      (a.field_1 = :P1_VARIABLE_1
      or :P1_VARIABLE_1 is null)
      and (a.field_2 = :P1_VARIABLE_2
      or :P1_VARIABLE_2 is null)
      and (a.field_3 = :P1_VARIABLE_3
      or :P1_VARIABLE_3 is null)This takes about 60 seconds to run in the application environment when the variables are populated (far too slow) and less than 1 second when the variables are null. So far i have been unable to recreate this issue in PLSQL developer, i.e. when i run this query with substituted values for the variables it runs fine, the issue only occurs when running in the application. The search fields are indexed and i don't think this is the problem. I have changed the where clause of the query to the following:
    where
      a.field_1 = :P1_VARIABLE_1
      and a.field_2 = :P1_VARIABLE_2
      and a.field_3 = :P1_VARIABLE_3and this also runs in less than a second both in and out of apex (only with populated variables, without there are no results which is why i can't use this..), which i found very confusing. Has anyone come across any similar problems to this before? I really don't understand what's going on!
    Here's some of the debug:
    select
           null as apxws_row_pk,
           "FIELD_1",
           "FIELD_2",
           "FIELD_3",
           "FIELD_4",
           "FIELD_5",
           "FIELD_6",
           "FIELD_7"
    from (
    SELECT
      a.field_1,
      a.field_2,
      a.field_3,
      a.field_4,
      a.field_5,
      a.field_6,
      a.field_7
    FROM
      table_a a
    where
      (a.field_1 = :P1_VARIABLE_1
      or :P1_VARIABLE_1 is null)
      and (a.field_2 = :P1_VARIABLE_2
      or :P1_VARIABLE_2 is null)
      and (a.field_3 = :P1_VARIABLE_3
      or :P1_VARIABLE_3 is null)
    )  r
    0.18: binding: ":P1_VARIABLE_1"="P1_VARIABLE_1" value="value_1"
    0.18: ...Session State: Save "P1_VARIABLE_1" - saving same value: "value_1"
    0.18: binding: ":P1_VARIABLE_2"="P1_VARIABLE_2" value="value_2"
    0.18: ...Session State: Save "P1_VARIABLE_2" - saving same value: "value_2"
    0.18: binding: ":P1_VARIABLE_3"="P1_VARIABLE_3" value="value_3"
    0.19: ...Session State: Save "P1_VARIABLE_3" - saving same value: "value_3"
    78.82: Printing rows. Row window: 1-10. Rows found: 1Any help trying to speed this up would be greatly appreciated!
    Cheers,
    James
    Application Express 3.2.1.00.11
    Oracle Database 10g Enterprise Edition Release 10.2.0.2.0

    Gus C wrote:
    One thing I would try.
    Create a new report using the wizard and during the create process, say yes to enable search fieldsNot for an interactive report.

  • Interactive Report Performance With Conditional Link

    Apex 3.2
    I have a interactive report.
    The underlying sql would return 127000 rows
    The sql is
    select
      lde.ods_system,
      lde.ldekey,
      msg.sendersystem, 
      msg.messagetype,
      msg.messageversion,
      msg.msgseqnumber,
      msg.alternatekey,
      msg.crudmarker,
      msg.clrbookdate,
      msg.clrbookresult,
      lower('udf_'||msg.messagetype) button,
      lde.ldekey||'.'||msg.alternatekey||'.'||msg.msgseqnumber udm_key
    from
      clr_esbmessageheader msg,
      clr_adm_systemmessage adm,
      udm_lde lde
    where
      adm.ldeid = lde.ldeid and
      msg.sendersystem = adm.system and
      msg.messagetype = adm.messagetype and
      msg.messageversion = adm.messageversion and
      msg.receiversystem = 'SCIPS'
    order by msg.clrbookdate desc
    This report only takes 1 second to display.
    I need to add a conditional link to another page, so I used
    case
    when lower('udf_'||msg.messagetype) = 'udf_distreceipt' then
    '<a class="type" href="' || apex_util.prepare_url('f?p='||:APP_ID||':52:'||:APP_SESSION||'::'||:DEBUG||':RIR'||':IR_MSG_KEY,P52_PG:'|| lde.ldekey||'.'|| msg.alternatekey ||'.'|| msg.msgseqnumber ||','|| 50, null, 'SESSION') || '"title="Go to udf_distreceipt Report">udf_distreceipt</a>'
    else 'no link' end table_link
    The sql seems to be ok, because the report accepted it, but selecting the new column and saving the report takes forever (over 2 mins)
    Now the report takes over 2 minutes to run and I still need to add more conditions.
    Have I coded the link incorrectly ?
    Gus

    Hi Gus,
    Are you wanting to put the link in the query for a specific reason?
    I had to do a similar thing in the past and just completed the column link section for the column.
    Why not just have the following in the query:
    case
    when lower('udf_'||msg.messagetype) = 'udf_distreceipt' then
    udf_distreceipt
    else null END table_link
    Then do the linking using column link section:
    You would specify your link text as #TABLE_LINK# which should then be conditionally displayed due to the case statement, then add in all the page item and values to pass across using a normal link column.
    Thanks
    Paul

Maybe you are looking for

  • New GFX card, Quartz Extreme error, and suddenly FCP 6 will not run. Help me fix this problem please!

    Model Name: Mac Pro Model Identifier: MacPro1,1 Processor Name: Dual-Core Intel Xeon Processor Speed: 3 GHz Number Of Processors: 2 Total Number Of Cores: 4 L2 Cache (per processor): 4 MB Memory: 7 GB Bus Speed: 1.33 GHz My old GFX card nVidia GeForc

  • Cannot Promote Properties

    Hello, I am having some issues with InfoPath.  I am new to this, but from the explanation it should be straight forward.  Here is what I want to do.  I am creating a workflow that will send an email out to an external user with an attachment from a d

  • Row level ppr in advanced table

    Hi, my requirement is as follows... for example One dept lov is there, and two more fields are there, one is LOV and another one is Message text input. if I select 10 in DEPT lov need t show lov field and hide text field if i select 20 need tod show

  • How to upgrade to latest version on Ubuntu 10.10 LTSP server

    I run Ubuntu 10.10 LTSP server/client network and DO NOT want to upgrade Ubuntu... too much trouble, nobody can guarantee it will not hammer my LTSP install and besides, Unity is awful. I need newer Firefox due to some frequently used web pages, so I

  • How form opening time get data as per given date

    my promlem is how use between funciton in form opening where clasee for date i use this code but not give me result such as :global.newparty :=0; declare vtypev varchar2(15); BEGIN vtypev :='BPV'; set_block_property('voumaster', default_where, 'where