Best value for optimizer_mode

In my production environment we have to move from Rule based optimizer to cost based optimizer . We work with oracle 10g but until now our application before run queries execute an alter session set optimizer_mode=rule.
What is the best value for this parameter?
# FIRST_ROWS(n)
# FIRST_ROWS
# ALL_ROWS
# CHOOSE
We don't know what kind of query users will do. Those queries can retrive all rows or a part of the table.

Do you think tha I shoud use stored outlines?
I have found this :
20.2.1 Moving from RBO to the Query Optimizer
If an application was developed using the rule-based optimizer, then a considerable amount of effort might have gone into manually tuning the SQL statements to optimize performance. You can use plan stability to leverage the effort that has already gone into performance tuning by preserving the behavior of the application when upgrading from rule-based to query optimization.
By creating outlines for an application before switching to query optimization, the plans generated by the rule-based optimizer can be used, while statements generated by newly written applications developed after the switch use query plans. To create and use outlines for an application, use the following process.
Note:
Carefully read this procedure and consider its implications before executing it!
1.
Ensure that schemas in which outlines are to be created have the CREATE ANY OUTLINE privilege. For example, from SYS:
GRANT CREATE ANY OUTLINE TO user-name
2.
Execute syntax similar to the following to designate; for example, the RBOCAT outline category.
ALTER SESSION SET CREATE_STORED_OUTLINES = rbocat;
3.
Run the application long enough to capture stored outlines for all important SQL statements.
4.
Suspend outline generation:
ALTER SESSION SET CREATE_STORED_OUTLINES = FALSE;
5.
Gather statistics with the DBMS_STATS package.
6.
Alter the parameter OPTIMIZER_MODE to CHOOSE.
7.
Enter the following syntax to make Oracle use the outlines in category RBOCAT:
ALTER SESSION SET USE_STORED_OUTLINES = rbocat;
8.
Run the application.
Subject to the limitations of plan stability, access paths for this application's SQL statements should be unchanged.
http://download.oracle.com/docs/cd/B28359_01/server.111/b28274/outlines.htm#i12916
is it good for performance?
I have never use stored outlines.

Similar Messages

  • Wich dreamweaver version offers the best value for the money

    Hello,
    I'm the editor of http://www.sjiekdelola.nl  and thinking about redesigning my site with Dreamweaver. Wich dreamweaver version offers the best value for the money?
    Kind regards,
    Sjiek de Lola

    The current one :-)
    DW CS5 uses modern code and supports web standards that didn't exist 2 years ago.
    If you're asking which Adobe Creative Suite to get, that depends on you and your requirements.
    Creative Suite Selector
    http://www.adobe.com/products/creativesuite/suiteselector/
    Nancy O.
    Alt-Web Design & Publishing
    Web | Graphics | Print | Media  Specialists
    http://alt-web.com/
    http://twitter.com/altweb

  • Mac versus PC - which is best value for photoshop?

    Hi my background is as a Graphic Designer (accustomed to using macs). However I recently decided to go freelance as an illustrator/graphic artist. I paint in photoshop using texture brushes and also scan in my drawings. The work i do crunches alot of memory and i'm looking to get a new mac pro or a pc to allow me to work as my imac is having a heartattack every time i use a brush. Initially i was looking to get a mac as this is what i am used to but looking at the prices of the memory it seems to cost more than the mac itself  , and for my heavy photoshop work i'm gonna need alot of memory.
    Are PCs a better option financially or is it best to stick with a mac? I've heard alot of stuff about how PCs are much more prone to viruses, but some people have also told me that the memory is alot cheaper to buy. Does photoshop run ok on PCs?
    Anyway I dont have alot of money as i'm just starting out so i don't really want to spend loads on a mac pro if I can get a PC that does the same job for alot less. Does anyone have any clear advice/experience on the subject?

    I have had both systems at home for over 15 years, and started out working on pre mac/pc graphics systems so I do not believe to be biased. A big factor in your decision should be is do you already own mac or pc software, and which platform you want to stay on? Photoshop and the creative suite runs fine on the pc and has now for a long time.
    The benefits I find of each are:
    PC
    Cheaper hardware and upgrades (EG: 2nd Internal DVD drive)
    Can buy hardware at you local electronic appliance store in case of emergency
    A few more software plug-ins and choices
    Mac
    Less downtime due to virus/mallware
    Less hardware problems
    Less software problems
    Will not need to convert fonts using crossfont for mac clients
    Can play DVDs without having to buy third party player.
    While the PC has more 3rd party maufacturors which drive prices down, that sometimes is a negative for the PC because hardware does not sync up as seamlessly. You may save money on the PC when initially buying your system, but in the long run you may use up more time trying to clean up viruses and incompatibilities. So they fall pretty equal and the decision really depends on the user and what suits your needs best and whom you will be working with.
    Whether you are on pc or mac I encourage checking out the other side, as this adds to your way of thinking and to your arsenal of creative graphics solutions.

  • Best value-for-money 3G broadband provider in Sydney?

    Hi,
    I'm shopping around for a 3G BB provider in Sydney. Telstra appears the obvious choice, but is there a better-value provider else where? I have the Ericsson F3607gw adapter on a Satellite T130 / 02M, and I think it's on the 850MHz band (based on on-line specs). However, I seem to recall that the ad from JB Hi-Fi then (July2010) also mentioned 2100MHz.
    Can someone pls advise the actual bands this adapter can use (can't find it on the laptop), what is the top speed (and is there a way to increase throughput), and a reliable provider. Expected usage is around Sydney Metro. OS is Win7 Pro.
    Many thanks for any help.

    Telstra usually have good speeds but you pay extra for that speed, and I believe the F3607gw is 7.2mb/s max anyway.
    3/Vodafone seem to have some good deals right now.
    Here is a list of deals from various providers:
    http://broadbandguide.com.au/
    Also have a look on this discussion board:
    http://forums.whirlpool.net.au/

  • Which mac is best value for our video editing needs?

    We are on a budget and need either a new mac or our old one, upgraded, so that we can edit a substantial amount of video using iMovie (and maybe later Final Cut Express if needed). The video is being shot for us by a semi-pro with a fabulous camera, and is HD.
    We have the G5 iMac, 1.5 GB memory, 1.8GHz processor and 134 G internal hard drive. We are using a 160 G external HD for the iMovie stuff right now and will need to get a bigger external.
    Shouldn't this mac be sufficient? If not, what is recommended?
    Would like to keep hardware purchase under $1000.
    Thanks!

    Define "substantial amount" of video. 10 hrs? 100 hrs?
    What flavor of HD? There are eleventy million.
    • Some play with iMovie and FCE, some don't.
    • Some require an Intel Mac to decode, some don't.
    • Some will play fine from a FW400 drive and some require a RAID tower.
    x

  • What are the optimal values for mac and arp timeout values

    Hi Guys.
    What are the best values for "mac address-table aging-time" and "arp timeout" by following scenarios?:
    - single sg300-10 as layer3-switch with a maximum of 10 local (direct connected) hosts
    - and a 3750x-stack with 100 local hosts + hsrp with a other stack of the same sort
    or for asa 5520 as internet gateway for 500 clients?
    I use at the moment a mac aging-time from 300 seconds and a arp timeout from 3600 seconds.
    Is this o.k.?
    Thanks.

    Marvel.
    As far as enhancing the CLI, it will of course be enhanced when new firmware releases provide new features. As far as making it more IOS-like, best to my knowledge, no.  The only other supported CLI on the SB switches are on the SX500 series and SX200E series which the CLI are all consistent. If you bought a SX500 series the commands are nearly identical minus the different feature sets.
    -Tom
    Please mark answered for helpful posts

  • Locale values for the arabic db in oracle 10g

    Please suggest me the locale values for the Oracle 10g client/server that can store arabic data.
    Please also suggest me the best value for the "Database character set".
    Note: Both my client and server will be installed on the Arabic version of Windows XP.

    Possible character sets for Arabic are AL16UTF16, AL32UTF8, AR8ISO8859P6, AR8MSWIN1256, UTF8
    I suggest to use AL32UTF8 as database character set.
    so NLS_LANG at client side would be e.g. ARABIC_QATAR.AL32UTF8 ({NLS_LANGUAGE}_{NLS_TERRITORY}.{CHARACTERSET})
    Check [Locale Data|http://download.oracle.com/docs/cd/B19306_01/server.102/b14225/applocaledata.htm] for other possible supported languages, territories, character sets. (you can even see recommended character sets in this page)

  • Best Practice for Extracting a Single Value from Oracle Table

    I'm using Oracle Database 11g Release 11.2.0.3.0.
    I'd like to know the best practice for doing something like this in a PL/SQL block:
    DECLARE
        v_student_id    student.student_id%TYPE;
    BEGIN
        SELECT  student_id
        INTO    v_student_id
        FROM    student
        WHERE   last_name = 'Smith'
        AND     ROWNUM = 1;
    END;
    Of course, the problem here is that when there is no hit, the NO_DATA_FOUND exception is raised, which halts execution.  So what if I want to continue in spite of the exception?
    Yes, I could create a nested block with EXCEPTION section, etc., but that seems clunky for what seems to be a very simple task.
    I've also seen this handled like this:
    DECLARE
        v_student_id    student.student_id%TYPE;
        CURSOR c_student_id IS
            SELECT  student_id
            FROM    student
            WHERE   last_name = 'Smith'
            AND     ROWNUM = 1;
    BEGIN
        OPEN c_student_id;
        FETCH c_student_id INTO v_student_id;
        IF c_student_id%NOTFOUND THEN
            DBMS_OUTPUT.PUT_LINE('not found');
        ELSE
            (do stuff)
        END IF;
        CLOSE c_student_id;   
    END;
    But this still seems like killing an ant with a sledge hammer.
    What's the best way?
    Thanks for any help you can give.
    Wayne

    Do not design in order to avoid exceptions. Do not code in order to avoid exceptions.
    Exceptions are good. Damn good. As it allows you to catch an unexpected process branch, where execution did not go as planned and coded.
    Trying to avoid exceptions is just plain bloody stupid.
    As for you specific problem. When the SQL fails to find a row and a value to return, what then? This is unexpected - if you did not want a value, you would not have coded the SQL to find a value. So the SQL not finding a value is an exception to what you intend with your code. And you need to decide what to do with that exception.
    How to implement it. The #1 rule in software engineering - modularisation.
    E.g.
    create or replace function FindSomething( name varchar2 ) return foo.col1%type is
      id foo.col1%type;
    begin
      select col1 into id from foo where col2 = upper(name);
      return( id );
    exception when NOT_FOUND then
      return( null );
    end;
    And that is your problem. Modularisation. You are not considering it.
    And not the only problem mind you. Seems like your keyboard has a stuck capslock key. Writing code in all uppercase is just as bloody silly as trying to avoid exceptions.

  • What is the best value iMac config for hd video editing.   I was going to go for i5 3.1 ghz with 4mb ram, but should I go further?  Thanks!

    What is the best value iMac config for hd video editing.?  I was going to go for i5 3.1 ghz with 4mb ram, but should I go further?  Thanks!

    You have it currently installed? Can you go to the System Profiler and click on Applications (will take a while to populate) - take a look at your FCP and check what it says on the right - Universal, Intel, or PPC? It'll look like this:
    If it's Universal or Intel, it'll run in Lion. However, the installer may or may not be PPC - that you may not know until you try to install. If you have it currently installed, then you could do what I did - move over all the files manually. I have a list of files for FCE and would assume they'd be the same with FCP: copy them from the old Mac and insert them in the very same spots on the new one.
    Here is the list for FCE:
    http://support.apple.com/kb/TA38198?viewlocale=en_US
    (It was published for an uninstall, but worked like a charm).

  • What is the Best Approach for System Defined Fields and Default values

    Hi ,
    Please let me know that what can be the best approach for providing a Default value for the System defined fields when creating a User and How can we hide the System defined fields at the time of User creation

    You cannot provide default values for any attributes defined in the FormMetaData.xml file. You can only provide default values for fields defined in the User Defined Fields and supply a default value.
    You can using entity adapters to populate some of the values, but you must supply an Organization because there is an entity adapter that you cannot modify that verifies the organization name.
    -Kevin

  • Best way to configure redelivery limit value for a Queue

    Hello,
    My doubt is related to configuring the JMS Redelivery Limit property from Weblogic 9.2 Server.
    We must support redelivery attempts in our queue, with a redelivery delay of 30s. So, we have set the queue's Redelivery Limit property to -1, via Console Configuration:
    Settings for My_DQueue -> Delivery Failure -> Redelivery Limit = -1
    The consumer of that queue is a MDBBean, which extends org.springframework.ejb.support.AbstractJmsMessageDrivenBean.
    The producers to that queue are weblogic.jms.extensions.WLMessageProducer.
    That queue has an error queue configured as Error Destination.
    Then, the WLMessageProducer is the one who specifies that value:
    WLMessageProducer messageProducer = (WLMessageProducer)queueSession.createProducer(queue);
    messageProducer.setRedeliveryLimit(5);However, we will not be able to ensure that all message producers pointing that queue will specifiy that redelivery limit. This may lead us to problems, as default queue Redelivery Limit is set to -1, and messages without specified redelivery limit would be redelivered indefinitely.
    I'd like to know if there is any way to specify a MAXIMUM redelivery limit value for a JMS queue. For example: fixing that limit to 10. If producers specify by themselves a redelivery limit lower than such value, that limit is applied to messages. Otherwise, the configured default limit value is used.
    Another option we have considered is to include, in the MDB's onMessage() method, a validation of the "JMS_BEA_RedeliveryLimit" message property:
    This validation would check whether no redelivery limit is configured in the Producer, and would forward such messages directly to the error queue, from the MDB, when the "JMSXDeliveryCount" outnumbers our fixed value:
    public void onMessage(Message message) {
       try {
          if(message.getIntProperty("JMS_BEA_RedeliveryLimit")<0){
             //MESSAGE FOUND WITHOUT REDELIVERY LIMIT SPECIFIED BY PRODUCER.
             //POTENTIAL DANGER OF BEING REDELIVERED INDEFINETELY
             int deliveryCount = message.getIntProperty("JMSXDeliveryCount");
             if(deliveryCount>10){
                 //CAN I FORWARD MESSAGE TO ERROR DESTINATION?But we were not able to found such examples to achieve this
    Thanks in advance!
    Joan Esteve

    Hi Joan,
    I just double-checked, and as far as I can tell the options for setting a redelivery limit include programmatically on the Producer or by configuring an override on the Destination. Unfortunately, you need the override to only take effect if the delivery limit hasn't already been set. (If we had a default deliverylimit configurable on our connection factory, this would have done the trick.)
    I think you've already hit upon the solution: your consumers can check each received message's JMSXDeliveryCount and act accordingly. It's fine for a consumer to use the JMS_BEA_RedeliveryLimit property see if the Limit has been set by a producer, and then check JMSXDeliveryCount to check the delivery count, but I'm not sure if the JMS_BEA_RedeliveryLimit property is set in older versions (8.1 may not have it for example).
    As a refinement, you may want to use the WLMessageProducer forward() API. This is an alternative to send() that preserves the message-id and timestamp of a consumed message. I don't think forward() allows any modification of the consumed message before it's forwarded.
    Hope this helps,
    Tom
    Edited by: Tom B on Feb 22, 2013 10:03 AM

  • Can not input data when removed the value for seleciton condition

    Dear Experts,
    We met a very strange issue for the IP.
    We create a aggregation level and relatd query for user to key in data.
    We have a filter in the aggregation level.
    It will set value for A,B,C,D
    When user opent he report, system will require user to key in the value for A,B,C,D.
    Now we found that if we key in value for B, cell is input ready.
    If we removed the value in for the B in the selection condition (I mean the value of B is empty, this means tha all the value of B will display in the report), we can not key in data.
    Could you kindly let me kow the reason?
    Thanks and best regards
    Alex yang

    Dear Experts,
    Many thanks for your information.
    I know the principle for the IP.
    But I think you may misunderstanding this issue due to my incorrect explaination.
    First, we think the aggreagtion level is ok. This is due to that for the B in my example, we set its as column value in the query.
    This is means for each record in the IP query, it has only one B value to reflect it.
    But strange things is that if we set fixed value for B, IP input is ok.
    If we removed fixed value for B, IP function is error.
    Now, we will test if we key in multi value for B whether IP input function is ok or not.
    Any update, I will inform you.
    Thanks and best regards
    Alex yang

  • Initial value for a dropdown box

    Hello all,
    I have created a web template in the WAD (BI 70) with a dropdown box on a characteristic. A chart is displayed based on the query result. My query is built on an infoset.
    My problem is to populate the filter with an initial value and still let users change the characteristic value in the dropdown (all values for the characteristic is not acceptable in the context) . Also, I don't want the variable screen to show up.
    What is the best approach to achieve this?
    Thanks,
    JL

    In Query Designer you put in your default value in the area to the right in the first pane..
    If you put it on the left hand side, the filter will not be changeable.
    Hope this helps.
    Can give more presise answer if you need it.

  • Logic of determining value for Inventory offsetting line item

    Hi,
    I want to know the following for the reversal of Process Order for materials for which the price control is 'S'.
    How the value for GBB (Inventory offsetting) is determined. I have observed it taking the weighted rate of the (Summation of the Total Actual Cost / Sumation of Actual Qunatity) * Reversal Quantity. The BSX line item is determined by Standard Price * Reversal Quantity
    The balance is posted in the Price difference.
    I want to know why this difference is determining tge line items.
    I have gone thru SAP Note 216080 in this regard but failed to understandard the basic resaon why this is happening.
    Regards
    Partha

    Dear colleague,
    you are right
    >note 422606:
    a) The manufactured material has price control 'S' (Standard price).
       Valuation is carried out for goods receipts using the standard
       price that is currently valid.
       For the reversal of goods receipts, the valuation of the debit of
       the order (offsetting entry to stock posting) is carried out
       using the price determined from the quotient of value of goods
       received and quantity of goods received. That is, all previous
       goods receipts are used for the valuation of the reversal of a
       goods receipt, but order settlements are not used.
    It is the standard system behaviour that the reversal of goods receipt
    for production order are not valuated with standard price. All previous
    goods receipts are used for the valuation of the reversal of a
    goods receipt.
    Goods receipts are always reversed with an average of the prices of
    all goods receipts in the order history. Therefore price differences
    may occur. This behaviour is as well explained in the attached
    note 49995 in the reasons and prerequisites step. As well you find
    an explanation in note's 422606 symptoms. the system tries to avoid the reversal
    with posted values no longer possible.
    If this replies your question ,please mark it as answered,
    best regards,
    maria

  • How to show multiple values for Unique records in Report

    Here's my question/problem:
    I've joined two tables, one table (TBL1) contains an object id (OBJ_ID) that repeats and the other table (TBL2) contains a date (DT), object type id (OBJ_TYP_ID), and object type description (OBJ_TYP_DES). The tables are joined by an inventory id (INV_ID).
    The OBJ_ID repeats and has a Date value for each record. I want to report an unique OBJ_ID and show each Date for a particular OBJ_ID in multiple Columns.
    An example of the current resultset looks like this:
    OBJ_ID OBJ_TYP_ID OBJ_TYP_DES DATE
    1 1 TYPE1 4/1/2009
    2 1 TYPE1 4/1/2009
    3 1 TYPE1 4/10/2009
    1 2 TYPE2 5/3/2009
    3 1 TYPE1 3/30/2005
    4 1 TYPE1 4/1/2009
    5 1 TYPE1 4/1/2009
    5 2 TYPE2 5/1/2009
    1 1 TYPE1 4/3/2007
    1 1 TYPE1 3/30/2005
    I want to express the resultset like this:
    OBJ_ID OBJ_TYP_ID OBJ_TYPE_DES DATE1 DATE2 DATE3
    1 1 TYPE1 4/1/2009 4/3/2007 3/30/2005
    1 2 TYPE2 5/3/2009
    2 1 TYPE1 4/1/2009
    3 1 TYPE1 4/10/2009 3/30/2005
    4 1 TYPE1 4/1/2009
    5 1 TYPE1 4/1/2009
    5 2 TYPE2 5/1/2009
    What technique is best to use to do this? I know I could create another table and populate the rows/columns by reading data from this query, but is there a better way?

    Hi,
    cclemmons wrote:
    I want to express the resultset like this:
    OBJ_ID OBJ_TYP_ID OBJ_TYPE_DES DATE1 DATE2 DATE3
    1 1 TYPE1 4/1/2009 4/3/2007 3/30/2005
    1 2 TYPE2 5/3/2009
    2 1 TYPE1 4/1/2009
    3 1 TYPE1 4/10/2009 3/30/2005
    4 1 TYPE1 4/1/2009
    5 1 TYPE1 4/1/2009
    5 2 TYPE2 5/1/2009
    What technique is best to use to do this? I know I could create another table and populate the rows/columns by reading data from this query, but is there a better way?Absolutely! You seem to have an instictive feeling that creating a separate table just for a query is inefficient. You instinct is 100% correct. Maybe in Oracle 7 there was a reason to do that, but today you can query results of other queries as if they were tables, so temporary tables like you describe are very rarely necessary, let alone convenient.
    What you want to do is pivot the date columns. Here's one way
    WITH     original_query     AS
         SELECT  obj_id
         ,     obj_typ_id
         ,     obj_typ_des
         ,     dt          -- date is not a good column name
         FROM     ...          -- the rest of your original query goes here
    ,     got_rnum     AS
         SELECT     oq.*
         ,     ROW_NUMBER () OVER ( PARTITION BY  obj_id
                                   ,                    obj_typ_id
                             ,             obj_typ_des
                             ORDER BY        dt     DESC
                           )         AS rnum
         FROM    original_query        oq
    SELECT       obj_id
    ,       obj_typ_id
    ,       obj_typ_des
    ,       MAX (CASE WHEN rnum = 1 THEN dt END)     AS dt1
    ,       MAX (CASE WHEN rnum = 2 THEN dt END)     AS dt2
    ,       MAX (CASE WHEN rnum = 3 THEN dt END)     AS dt3
    ,       MAX (CASE WHEN rnum = 4 THEN dt END)     AS dt4
    ,       MAX (CASE WHEN rnum = 5 THEN dt END)     AS dt5
    FROM       got_rnum
    GROUP BY  obj_id
    ,       obj_typ_id
    ,       obj_typ_des
    ;As you can see, this adds two layers of queries on top of your original query. One of those layers is probably not needed; depending on what you're doing in your original main query, you can probably compute rnum there, and omit the got_rnum sub-query.
    Also, depending on the relationship of obj_id, obj_typ_id and obj_typ_des, some of what I posted above may not be needed but including it won't really hurt.
    If you want to know more about this technique, search for "pivot" or "rows to columns". A <tt>SELECT ... PIVOT ...</tt> keyword was introduced in Oracle 11, but most of what you'll find when you search for "pivot" doesn't assume you have Oracle 11 (nor does the query above require Oracle 11).
    This assumes you know an upper limit (5 in the example above) of dts that can appear in any line of output.
    See [this thread|http://forums.oracle.com/forums/thread.jspa?messageID=3527823&#3527823] for a discussion of some alternatives.

Maybe you are looking for