Testing Process for Gathering Single Object stats.

Hello Oracle Experts,
I work a critical system and due to some high stakes all and every change is very heavily scrutinized here whatever the level is. And one of such changes which is currently under scrutiny is gathering object stats for single objects. Just to give you a background its an Oracle eBusiness site so fnd_stats is used instead of usual dbms_stats and we've an inhouse job that depending on the staleness of the objects gather stats on them using FND_STATS. (RDBMS : 10.2.0.4 Apps Release 12i).
Now, we've seen that occasionally it leaves some of the objects that should ideally be gathered so they need to be gathered individually and our senior technical management wants a process around it - for gathering this single object stats (I know!). I think I need to explicitly mention here that this need to gather stale object stats has emerged becs one of the plans has gone pretty poor (from 2 ms to 90 mins) and sql tuning task states that stats are stale and in our PROD copy env (where the issue exists) gathering stats reverts to original good plan! So we are not gathering just because they are stale but instead because that staleness is actually causing a realtime problem!
Anyway, my point is that it has been gathered multiple times in the past on that object and also it might get gathered anytime by that automatic job (run nightly). There arguments are:
i. There may be several hundred sql plans depending on that object and we never know how many, and to what, those plan change and it can change for worse causing unexpected issues in the service!
ii. There may be related objects whose objects have gone stale as well (for example sales and inventory tables both see related amount of changes on column stock_level) and if we gather stats only on one of them and since those 2 cud be highly related (in queries etc.) that may mess up the join cardinality etc. messing up the plans etc.
Now, you see they know Oracle as well !
My Oracle (and optimizer knowledge) clearly suggests me that these arguments are baseless BUT want to keep an open mind. So my questions are :
i. Do the risks highlighted above stand any ground or what probably do you think is there of happening any of the above?
ii. Any other point that I can make to convince the management.
iii. Or if those guys are right, Do you guys use or recommend any testing strategy/process that you can suggest to us pls?
Another interesting point is that, they are not even very clear at this stage how they are gonna 'test' this whole thing as the 'cost' option like RAT (Real Application Testing) is out of question and developing an inhouse testing tool still need analyzing in terms of efforts, worth and reliability.
In the end, Can I request top experts from the 'Oak Table' network to make a comment so that I can take their backings!? Well I am hoping here they'll back me up but that may not necessarily the case and I obviously want an honest expert assessment of the situation and not merely my backing.
Thanks so much in advance!

>
I work a critical system and due to some high stakes all and every change is very heavily scrutinized here whatever the level is.
Another interesting point is that, they are not even very clear at this stage how they are gonna 'test' this whole thing as the 'cost' option like RAT (Real Application Testing) is out of question and developing an inhouse testing tool still need analyzing in terms of efforts, worth and reliability.Unfortunately your management's opinion of their system as expressed in the first paragraph is not consistent with the opinion expressed in the second paragraph.
Getting a stable strategy for statistics is not easy, requires careful analysis, and takes a lot of effort for complex systems.
>
In the end, Can I request top experts from the 'Oak Table' network to make a comment so that I can take their backings!? Well I am hoping here they'll back me up but that may not necessarily the case and I obviously want an honest expert assessment of the situation and not merely my backing.
The ideal with stats collection is to do something simple to start with, and then build on the complex bits that are needed - something along the lines suggested by Dan Morgan works: a table driven approach to deal with the special cases which are usually: the extreme indexes, the flag columns, the time-based/sequential columns, the occasional histogram, and new partitions. Unfortunately you can't get from where you are to where you need to be without some risk (after all, you don't know which bits of your current strategy are causing problems).
You may have to progress by letting mistakes happen - in other words, when some very bad plans show up, work out WHY they were bad (missing histogram, excess histogram, out of date high values) to work out the minimum necessary fix. Put a defensive measure in place (add it to the table of special cases) and run with it.
As a direction to aim at - I avoid histograms unless really necessary, I like introducing function-based indexes where possible, and I'm perfectly happy to write small programs to fix columns stats (low/high/distinct) or index stats (clustering_factor/blevel/distinct_keys) and create static histograms.
Remember that Oracle saves old statistics when you create new ones, so any new stats that cause problems can be reversed out very promptly.
Regards
Jonathan Lewis

Similar Messages

  • Increase the number of portions in process for each conversion object

    I experts,
    I configured SAP TDMS 3.0 with SP 14 to transfer test data from QAS to DEV (both is ECC 6.0) for the first test with TDMS TIM (Time Based Reduction).
    The data transfer phase is still running (99% - 60hs running). We analyzed the Display Runtime Information report and see that objects of conversion with similar calc. records and calc. GBytes have very different the Net Runtime.
    TMDS currently is working with four objects of conversion, processing a portion of each.
    Conversion objects that are running are:
    - Z_LTBP_002
    - Z_TSEGE_002
    - Z_VEVW_002
    - Z_YST27_002
    We check in the receiver system, and we see that is use only one DIA process to update the each table.
    How can increase the performance of the update? Is correct that use only 1 DIA process for this??
    Can I increase the number of portions in process for each conversion object?
    Any help is greatly appreciated.
    Regards,
    Sergio

    Hi,
    Check SAP Note 916763 - TDMS performance composite SAP note
    Note 890797 - SAP TDMS - required and recommended system settings
    Thanks
    Sunny

  • How to export a whole process for a single image.

    Good morning.
    I would like to know how I can export a whole process for a single image. Is it possible? With that I can print of the way that goes better.
    Thanks.

    Hi Raghavendra,
    Thanks for answering my query. I have created a transport request and exported the folder I need to take backup of. But when I tried testing import of the same request I am getting following error. Do you have any idea what is the cause of this error?
    com.sap.security.core.server.destinations.itsam.DestinationRuntimeException: com.sap.security.core.server.destinations.api.DestinationException: [_DestinationServiceAuthorization1005] Code-based destination service access denied to component sap.com/cafeugpuiadmin. Access to security-relevant internal destination properties (e.g. passwords, tickets, etc.) is restricted to few selected engine components and not generally available to any service or application.
    Kind Regards,
    Urvashi

  • More than one entity found for a single-object find method

    Hi everyone...
    I have this error when my webservice is running..I don't know what it means and what would be the best solution..
    <pns:message>More than one entity found for a single-object find method.</pns:message>
    it throws an Exception..
    Thanks!

    = More than one row found in a DB with the "unique" key supplied...
    Your method is returning an object where it should return a collection ?
    Enjoy

  • More than one style for a single link state?

    RH 8 outputting CHM
    Hello,
    Is it possible to define more than one style for a single link state?
    For example, I would like a link in the footer of my master page to be smaller than the links that appear in the body of my topics. I want to retain behavior, and simply change the point size.
    I can't simply hand format in Design mode, because my link is within a script. Or, am I missing something easy here?
    Thanks much.

    I'm pleased to say I figured out how to change the formatting of a hyperlink embedded within a script.
    Within the script, I used a var string to reproduce the text in my link. Then I used another var to change the string size.
    So, here's the part of my script that produces what I'm after:
    var mailDisplay = 'Was this information helpful? ';
    var str = 'Was this information helpful?';
    var mailDisplay = str.fontsize("1");
    Upon generation of the CHM, the script trumps the CSS. It's a beautiful thing.

  • Master data Reorganization Process for a single InfoObject

    Hallo Experts,
    mayby someone else had  this problem bevor us?
    SAP-BWProducion: Master data Reorganization Process for a single InfoObject (selfmade), other InfoObjects worked fine.
    SAP BW 7.0 SP20 or 21
    This element has daily attributes and the Q-Table has actual 180Mio entries. We startet reorganisation with 250Mio. entries.
    Because of the daily loading, we cancel the batchprocess in the evening and started it again in the morning. This was fine for about 5 days. We elliminate 80Mio entries.
    Our destination would be 80Mio entries left.
    Whenever we run this feature now  - in a process chain - no entries were deleted after 30 hours working, and there were no counting-stastics in SM50
         Sequentielles Lesen         
         Insert                       
         Update
         Delete
    The five days before, we saw Mio's of entries in this statistics.
    We have checked the Q-table and  there exist a number of records which have the same attribute values across several records and the date from - date to values of these records are in a row.
    RSRV is fine and we checked note 1234411 Master data reorganization - Performance improvement.
    There are no other notes helping us.
    Please give us a solution-idea.
    Thanks
    Santra

    Hi Santra,
    Could you please provide the solution for this?
    Thanks
    Vinod

  • Parallel Processing for a single Package

    Hi,
    I have PKg1 that have mixture of For Each Loop container, DFT's and Seq containers and I want to run more than one thread for this package where i can process data in parallel.
    Please let me know how i can create this using SSIS 2012.
    Thanks,

    Hi,
    DFTs connected by precedence constraints  and I want to run this package more than once (multiple threads)  at a given point of time. is this possible? if
    yes, please let me know how I can achieve this.
    Thanks..
    If the DFTs are connected then there will be absolutely no parallel processing. Running the same package in parallel most likely result in a lock. It depends how it is architectured, but with a RDBMS in default installation or files it is not going to fly.
    When you have a DFT with say OLEDB destination each using its own connection, and they are not connected then each gets opened independently and thus allowing you to ingress data simultaneously.
    Arthur My Blog

  • Deployment Process for a single namespace

    Hello Friends,
    I have an issue, how can we deploy 1 namespace from 1 server to another.
    Currently I created a scenario in sandbox under one software component.
    Now I ant to deploy this scenario( namespace ) in client's system nder different software component.
    I exported this namespace from sandbox as 'All objects of individual namespace'.
    How can I import this namespace in clint system under different software component name?
    Regards,
    Narendra

    check this link :-
    Can't see the imported objects!

  • Multiple Executions Plans for the same SQL statement

    Dear experts,
    awrsqrpt.sql is showing multiple executions plans for a single SQL statement. How is it possible that one SQL statement will have multiple Executions Plans within the same AWR report.
    Below is the awrsqrpt's output for your reference.
    WORKLOAD REPOSITORY SQL Report
    Snapshot Period Summary
    DB Name         DB Id    Instance     Inst Num Release     RAC Host
    TESTDB          2157605839 TESTDB1               1 10.2.0.3.0  YES testhost1
                  Snap Id      Snap Time      Sessions Curs/Sess
    Begin Snap:     32541 11-Oct-08 21:00:13       248     141.1
      End Snap:     32542 11-Oct-08 21:15:06       245     143.4
       Elapsed:               14.88 (mins)
       DB Time:               12.18 (mins)
    SQL Summary                            DB/Inst: TESTDB/TESTDB1  Snaps: 32541-32542
                    Elapsed
       SQL Id      Time (ms)
    51szt7b736bmg     25,131
    Module: SQL*Plus
    UPDATE TEST SET TEST_TRN_DAY_CL = (SELECT (NVL(ACCT_CR_BAL,0) + NVL(ACCT_DR_BAL,
    0)) FROM ACCT WHERE ACCT_TRN_DT = (:B1 ) AND TEST_ACC_NB = ACCT_ACC_NB(+)) WHERE
    TEST_BATCH_DT = (:B1 )
    SQL ID: 51szt7b736bmg                  DB/Inst: TESTDB/TESTDB1  Snaps: 32541-32542
    -> 1st Capture and Last Capture Snap IDs
       refer to Snapshot IDs witin the snapshot range
    -> UPDATE TEST SET TEST_TRN_DAY_CL = (SELECT (NVL(ACCT_CR_BAL,0) + NVL(AC...
        Plan Hash           Total Elapsed                 1st Capture   Last Capture
    #   Value                    Time(ms)    Executions       Snap ID        Snap ID
    1   2960830398                 25,131             1         32542          32542
    2   3834848140                      0             0         32542          32542
    Plan 1(PHV: 2960830398)
    Plan Statistics                        DB/Inst: TESTDB/TESTDB1  Snaps: 32541-32542
    -> % Total DB Time is the Elapsed Time of the SQL statement divided
       into the Total Database Time multiplied by 100
    Stat Name                                Statement   Per Execution % Snap
    Elapsed Time (ms)                            25,131       25,130.7     3.4
    CPU Time (ms)                                23,270       23,270.2     3.9
    Executions                                        1            N/A     N/A
    Buffer Gets                               2,626,166    2,626,166.0    14.6
    Disk Reads                                      305          305.0     0.3
    Parse Calls                                       1            1.0     0.0
    Rows                                        371,735      371,735.0     N/A
    User I/O Wait Time (ms)                         564            N/A     N/A
    Cluster Wait Time (ms)                            0            N/A     N/A
    Application Wait Time (ms)                        0            N/A     N/A
    Concurrency Wait Time (ms)                        0            N/A     N/A
    Invalidations                                     0            N/A     N/A
    Version Count                                     2            N/A     N/A
    Sharable Mem(KB)                                 26            N/A     N/A
    Execution Plan
    | Id  | Operation                    | Name            | Rows  | Bytes | Cost (%CPU)| Time     |
    |   0 | UPDATE STATEMENT             |                 |       |       |  1110 (100)|          |
    |   1 |  UPDATE                      | TEST            |       |       |            |          |
    |   2 |   TABLE ACCESS FULL          | TEST            |   116K|  2740K|  1110   (2)| 00:00:14 |
    |   3 |   TABLE ACCESS BY INDEX ROWID| ACCT            |     1 |    26 |     5   (0)| 00:00:01 |
    |   4 |    INDEX RANGE SCAN          | ACCT_DT_ACC_IDX |     1 |       |     4   (0)| 00:00:01 |
    Plan 2(PHV: 3834848140)
    Plan Statistics                        DB/Inst: TESTDB/TESTDB1  Snaps: 32541-32542
    -> % Total DB Time is the Elapsed Time of the SQL statement divided
       into the Total Database Time multiplied by 100
    Stat Name                                Statement   Per Execution % Snap
    Elapsed Time (ms)                                 0            N/A     0.0
    CPU Time (ms)                                     0            N/A     0.0
    Executions                                        0            N/A     N/A
    Buffer Gets                                       0            N/A     0.0
    Disk Reads                                        0            N/A     0.0
    Parse Calls                                       0            N/A     0.0
    Rows                                              0            N/A     N/A
    User I/O Wait Time (ms)                           0            N/A     N/A
    Cluster Wait Time (ms)                            0            N/A     N/A
    Application Wait Time (ms)                        0            N/A     N/A
    Concurrency Wait Time (ms)                        0            N/A     N/A
    Invalidations                                     0            N/A     N/A
    Version Count                                     2            N/A     N/A
    Sharable Mem(KB)                                 26            N/A     N/A
    Execution Plan
    | Id  | Operation                    | Name         | Rows  | Bytes | Cost (%CPU)| Time     |
    |   0 | UPDATE STATEMENT             |              |       |       |     2 (100)|          |
    |   1 |  UPDATE                      | TEST         |       |       |            |          |
    |   2 |   TABLE ACCESS BY INDEX ROWID| TEST         |     1 |    28 |     2   (0)| 00:00:01 |
    |   3 |    INDEX RANGE SCAN          | TEST_DT_IND  |     1 |       |     1   (0)| 00:00:01 |
    |   4 |   TABLE ACCESS BY INDEX ROWID| ACCT         |     1 |    26 |     4   (0)| 00:00:01 |
    |   5 |    INDEX RANGE SCAN          | INDX_ACCT_DT |     1 |       |     3   (0)| 00:00:01 |
    Full SQL Text
    SQL ID       SQL Text
    51szt7b736bm UPDATE TEST SET TEST_TRN_DAY_CL = (SELECT (NVL(ACCT_CR_BAL, 0) +
                  NVL(ACCT_DR_BAL, 0)) FROM ACCT WHERE ACCT_TRN_DT = (:B1 ) AND PB
                 RN_ACC_NB = ACCT_ACC_NB(+)) WHERE TEST_BATCH_DT = (:B1 )Your input is highly appreciated.
    Thanks for taking your time in answering my question.
    Regards

    Oracle Lover3 wrote:
    Dear experts,
    awrsqrpt.sql is showing multiple executions plans for a single SQL statement. How is it possible that one SQL statement will have multiple Executions Plans within the same AWR report.If you're using bind variables and you've histograms on your columns which can be created by default in 10g due to the "SIZE AUTO" default "method_opt" parameter of DBMS_STATS.GATHER__STATS it is quite normal that you get different execution plans for the same SQL statement. Depending on the values passed when the statement is hard parsed (this feature is called "bind variable peeking" and enabled by default since 9i) an execution plan is determined and re-used for all further executions of the same "shared" SQL statement.
    If now your statement ages out of the shared pool or is invalidated due to some DDL or statistics gathering activity it will be re-parsed and again the values passed in that particular moment will determine the execution plan. If you have skewed data distribution and a histogram in place that reflects that skewness you might get different execution plans depending on the actual values used.
    Since this "flip-flop" behaviour can sometimes be counter-productive if you're unlucky and the values used to hard parse the statement leading to a plan that is unsuitable for the majority of values used afterwards, 11g introduced the "adaptive" cursor sharing that attempts to detect such a situation and can automatically re-evaluate the execution plan of the statement.
    Regards,
    Randolf
    Oracle related stuff blog:
    http://oracle-randolf.blogspot.com/
    SQLTools++ for Oracle (Open source Oracle GUI for Windows):
    http://www.sqltools-plusplus.org:7676/
    http://sourceforge.net/projects/sqlt-pp/

  • Test script for syntax without running.

    I have always wondered how to do this. Is there any way to have sql*plus check a script for correct syntax and column names, but NOT execute the code. I know that sql*plus doesn't have a TEST option, but it sure would be nice. Currently the only way to check code (especially updating code) is to let it rip and have a rollback at the end. Not the greatest way to do it.

    EXPLAIN PLAN will only work for a single SQL statement.
    If the script comprises a single transaction, one technique which might work is to first SET TRANSACTION READ ONLY.
    This will attempt to execute every line in the script, but any statements which try to update the database will fail with "ORA-01456: may not perform insert/delete/update operation inside a READ ONLY transaction". Similar to what the original post described with a rollback at the end, but without the I/O.

  • Type of testing data for WRICEF list

    Hello Gurus
    Please find my requirement below in detail.
    My requirement.     
    I got a functional specification and I need to  developed a object (i.e. any of the objects like reports, interface, enchantments etc) for that FS. After developing that object I need to do the testing, I mean UTP right.  For doing testing of that object I need to have some test data right.  So Now I want to know what type of data I can ask to the functional consultant. Is there any global checklist available which is applicable for all types of objects because for interfaces the requirement of test data will be different and for reports it is different and so on for other objects also. If I provide that checklist, the functional consultant will provide the required test data for his object.
    Now I got a job to create a global template with my inputs for test data. So that functional consulants will check that template and provide the test data for his relavent object. This is my requirement , so please suggest me accordingly.
    if i post my question in a wrong way , please excuse and suggest me accordingly based on my requirement.
    thanks in advanc.e
    Reg
    RAj

    i got the solution. so withdrawing the question.

  • How to process for an ECC 6.0 upgrade for different objects (RICEF)?

    Hi eaxperts,
    I am new to upgrad project. Can anyone pls. tell me in details things that need to be undertaken in an ECC upgrade project for different objects e.g. RICEF and How should I process for the same?
    Please also tell me the important T-codes for the same and how to use them.
    Thanks a lot in advance,
    Sandy

    Hi,
    Please read below lines.I think u can get some knowledge about UPGRADE.
    u2022     System preparation and stack level patch upgrade u2013 Basis Team
    First of all, the basis team installs the Latest SAP version on the hardware and they apply all the general patches up to the latest stack level. All the stack levels of various patches u2013 Basis, ABAP, XI etc should be brought up to the latest level by the basis team. In case, all the stack levels are not the latest, it might create problems like new objects coming into the SPAU during the upgrade or thereafter u2013 these will be explained in sections below.. So it is a good practice to get the system to the latest stack level.
    u2022     SPDD Phase u2013 ABAP and Functionals
    This transaction code SPDD is the core step in an upgrade project. The system compares all the dictionary objects u2013 data elements, database tables and structures of the latest system (say ECC) with the previous or the old system (Say 4.6c). These all elements are present under two nodes u2013 with modification assistant and without modification assistant. Objects present under with modification assistant have the modification assistant u2018ONu2019 and we can see the modification logs.
    u2022     Up gradation of the system u2013 Basis Team
    After the SPDD phase is complete, the basis team prepares the system for an UPGRADE u2013 i.e. the old system would be replaced by the new system. In this phase, the system asks for the SPDD request u2013 the single request which generates and activate all the dictionary objects present in SPDD phase in the new system u2013 ECC. If the request do not contains the same objects which were present in SPDD, the system shows a danger alarm u2013 stating that this SDPP request do not contains all the desired objects and it might make the system unstable. In case any other objects are missing, there and then it should be put in the SPDD request.
    u2022     SPAU Phase u2013 ABAP and Functionals
    The SPAU transaction contains the objects u2013 Programs, Reports, Screens, Messages, Notes, Function Modules etc. which have difference in the Latest SAP request and the previous ones. This SPAU phase can be done either just after SPDD or after the Up gradation of the system by the Basis team.

  • Cache refresh of single object interferes with normal message processing

    Hi
    When we do an update of an object in Integration Directory and activate change list AND a message (from a different scenario) is processed through Integration Engine at the same time, the message fails with "No RFC authorization for user <USER>" + "Error while refreshing the XI runtime cache".
    I know that a full cache refresh could cause these issues (and is not recommended) as the cache is cleared and "fresh" objects are entered, but is this also the case when updating the cache with single objects? I have never seen this before...
    We are on PI 7.3
    regards Ole

    Found note 1337797 + http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/18180...just [original link is broken] [original link is broken] [original link is broken] [original link is broken] haven't noticed before.

  • Step by Step process for tranporting objects

    Hi Gurus,
    Can anyone please tell me the step by step process for transporting objects from development to testing and then to production.
    Please send me the step by step process document to [email protected]
    Thanks,
    Regards,
    aarthi
    [email protected]

    Hi Aarthi,
    Please see here:
    Re: Business content installation steps and transport

  • How to control Object States of different objects with single button?

    I have a set of Images, stacked one on the other. I have selected all of them & created Object States for them. I also have a set of Text Objects, each containing a description of the images. These text objects are also stacked on top of each other & I've created object states for them too. I have two buttons which go to previous state & next state. When I do a mouse release operation on these buttons, only my images are moving from state to state.
    My question is how do I control the states of these different types of objects (images & type) so that they change states in sync with each other - I want to have an image 1 with its description, then image 2 with its description & so on. Thanks in advance.

    You just group your description with images

Maybe you are looking for

  • Problem in VA02 call transaction

    Hi Friends I processed failured IDOC through ZPROGRAM, after processing IDOC it will create a sale order and display the order number in my program output.Whenever user clicks that button it should take him into VA03 transaction.It was working fine,

  • ALV Drilldown help

    Guys, I have and ALV report that requires drilldown and this is the code im using; FORM callback_ucomm  USING pi_ucomm    TYPE syucomm                            pi_selfield TYPE slis_selfield.  "#EC CALLED   CASE pi_ucomm.     WHEN '&IC1'.       IF

  • Coping control from Billing to Sales order

    Hi Experts, i maintained copy control from billing to credit memo sales order, which is coping all data from invoice to credit memo sales order. My requirement is that when we create billing, automatically one more line item will be appeared. for ins

  • Start a Workflow from an incoming Internet message

    Hi All, I have a requirement , where I need to trigger a Workflow from incoming outlook email.The email will also have a PDF    attachment of Invoice which should get archived and other details should help to trigger the workflow. I checked in Inboun

  • Message you can't open safari because it is not supported on this type of Mac

    Any help on the message on a Macbook pro with 10.9. Getting message you can't open safari because it is not supported on this type of Mac. and did a update.