DB6 v9.1 optimizer statistics. How to use histograms?

Hello,
Does anybody know if DB6 v9.1 uses histograms in table statistics?
If it is possible, how can I activate this feature?
thanks.
regards,
Filipe Vasconcelos

.

Similar Messages

  • Urgent! How to use push_pred to optimize query with UNION in 10g?

    Hi,
    We are facing slow query performance in 10g database.
    Appreciate if anyone could advise on how to optimize the performance by using push pred?
    Or is there any other ways.
    Thanks in advance.
    Cheers,
    SC

    dont post duplicate post

  • How to use Cost Based Optimizer

    Hi,
    I'm looking for a documentation about CBO, I found some information through google and here but anyone knows where I can found more informaton about CBO, how to use, how i'ts increase the performance and more?
    Thank You

    See Oracle® Database Performance Tuning Guide

  • Setting of Optimizer Statistics Gathering

    I'm checking in my db setting and database is analysing each day. But as I notice there are a lot of tables that information shows last analysis in about month ago... Do I have to change some parameters?

    lesak wrote:
    I don't have any data that show you that my idea is good. I'd like to confirm on this forum that my idea is good or not. I've planned to make some changes to have better performance of query that read from top use tables. If this is bad solutions it's also important information for me.One point of view is that your idea is bad. That point of view would be to figure out what the best access for your query is and set that as a baseline, or figure out what statistics get you the correct plans on a single query that has multiple plans that are best with different values sent in through bind variables, and lock the statistics.
    Another point of view would be to gather current plans for currently used queries, then do nothing at all unless the optimizer suddenly decides to switch away from one, then figure out why.
    Also note the default statistics gathering is done in a window, if you have a lot of tables changing it could happen that you can't get stats in a timely fashion within the window.
    Whether the statistics gathering is appropriate may depend on how far off histograms are from describing the actual data distribution you see. What my be appropriate worry for one app may be obsessive tuning disorder for another. 200K rows out of millions may make no difference at all, or may make a huge difference if the newly added data is way off from what the statistics make the opitmizer think it is.
    One thing you are probably doing right is to recognize that tuning particular queries may be much more useful than obsessing over statistics.
    Note how much I've used the word "may" here.

  • Disable Automatic Optimizer Statistics

    Hi there
    I wanted to query user_tab_modifications to track, number of rows updated in a week. Since this view is refreshed automatically when Automatic Optimizer Statistics gathers statistics, i disabled the Automatic Optimizer Statistics. Now i am executing execute dbms_stats.FLUSH_DATABASE_MONITORING_INFO(); manually to get the view populated with number of rows updated.
    My concern here is , will i get the exact number of rows updated in a week from user_tab_modifications by doing this ? Also, is there anything else that is also updating this view apart from optimizer statistics that are gathered on a table.
    Thanks

    You could try writing some PLSQL on your own.
    How about :
    SQL> create table count_X_updates (update_count number);
    Table created.
    SQL> insert into count_X_updates values (0);
    1 row created.
    SQL> commit;
    Commit complete.
    SQL>
    SQL> create table X (col_1 varchar2(5), col_2 varchar2(5), col_3 number);
    Table created.
    SQL> insert into X values ('a','first',1);
    1 row created.
    SQL> commit;
    Commit complete.
    SQL>
    SQL> create or replace trigger count_x_updates_trg
      2  after update of col_1,col_2,col_3
      3  on X
      4  for each row
      5  declare prev_cnt number;
      6  begin
      7  update count_X_updates set update_count = update_count+1;
      8* end;
    SQL> /
    Trigger created.
    SQL>  update x set col_1 = 'b', col_2='secnd',col_3=2;
    1 row updated.
    SQL> commit;
    Commit complete.
    SQL> select * from count_X_updates;
    UPDATE_COUNT
               1
    SQL>  update x set col_1 = 'c' where col_3=2;
    1 row updated.
    SQL> commit;
    Commit complete.
    SQL> select * from count_X_updates;
    UPDATE_COUNT
               2
    SQL> select * from x;
    COL_1 COL_2      COL_3
    c     secnd          2
    SQL>Note : This trigger code has to be improved because
    a. Multiple sessions might get the same value
    b. It introduces a point of serialisation -- multiple session will wait on a row lock on the table count_X_updates -- effectively meaning that all other sessions attempting to update X will wait (even if they are updating different rows in X) till each preceding one issues a COMMIT.
    So, this demo code is only to show you PLSQL Triggers. But it cannot be used in Production.
    Practice some PLSQL. Read up on autonomous transactions.
    Hemant K Chitale

  • Creteria for generating optimizer statistics

    Dear membes,
    Oracle 10.2.0.2
    os : HP-UX 11i
    I want to know is there any creteria for generating optimizer statistics
    for the production database, like we have a creterai for rebuilding indexes
    through checking the index_stat table.
    Is there any tables present in database for this kind pre checking before
    generating the optimizer statistics.
    Thanks.

    VIRENDER SINGH wrote:
    Dear membes,
    Oracle 10.2.0.2
    os : HP-UX 11i
    I want to know is there any creteria for generating optimizer statistics
    for the production database, like we have a creterai for rebuilding indexes
    through checking the index_stat table.
    Is there any tables present in database for this kind pre checking before
    generating the optimizer statistics.First of all I hope you've heard that rebuilding indexes is something that should only be done under very rare circumstances, see e.g. here or here.
    Since you're on 10g already you should be aware of the fact that the database is coming with a pre-configured default statistics collection job that runs every night and attempts to gather statistics on stale objects (either with no statistics at all or more than 10% changes since the last statistics gathering).
    If you're having an application that modifies large chunks of data in batch jobs, then you should consider gathering statistics right after these batch modifications because otherwise it might take too long until the default job is activated and refreshes the statistics and many execution plans until then might suffer from the incorrect/outdated statistics.
    Ideally you should know your application and data and work out when to gather the statistics and in particular how to gather the statistics and in some cases even use hand-crafted statistics (using the DBMS_STATS.SET__STATS procedures) that lead the optimizer in the desired direction.
    There are many potential pitfalls to consider, e.g. the default method for generating histograms has changed in 10g to "FOR ALL COLUMNS SIZE AUTO" which means you'll get histograms for columns that are used in WHERE clauses (when using equal or range comparisons) and have skewed data or contain large gaps in the values. This was not the case in 9i and not always does the existence of histograms change execution plans for the better, in particular if you're using bind variables.
    In addition 10g introduced the possibility of "out-of-range" predicates which means that the optimizer takes into account if a predicate value is outside the recorded minimum and maximum value of the column. If the gap is becoming significant the selectivity is adjusted and eventually you get an estimate of 1 (or actually 0 adjusted to 1) rows which can have dramatic effects on your execution plans.
    This means you need to be careful if the default "staleness" of 10% changes is applicable to your particular situation otherwise you might be confronted with execution plans that either deteriorate over time and/or "switch" at a certain point in time to a really "bad" plan to due the adjusted selectivity caused by the "out-of-range" predicates. If this is the case you should consider refreshing the statistics more often (using your own logic/job) to avoid such situations.
    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/

  • How to use two different versions of Firefox at the same time on Snow Leopard?

    I recently upgraded to Firefox 4.0 on my 27" iMac running Snow Leopard 10.6.7.
    Previously, I was using Google's "Page Speed" along with Firebug in Firefox 3.6.15 to optimize images in my web pages, and to find other areas to optimize.
    Page Speed is not yet compatible with Firefox 4.0. I wrote to Google about this some time ago -- no answer yet.
    If I run Firefox 3.6.15 in order to use Page Speed, I run into a few problems afterward when I start using Firefox 4.0 again, since they both use the same "Firefox" folder in my "Application Support" folder.
    How can I set it up so that I can have two separate "Firefox" folders in my "Application Support" folder?
    Or is there an easier way to use two different versions of Firefox simultaneously, even if one has extensions and/or plug-ins installed which are not compatible with the other version?
    Thanks for a great browser!

    Please disregard my question. I just conducted more web search and learned how to use Firefox's profile manager in order to make a separate profile for Firefox 3.6.15.
    You can find instructions on this page:
    http://support.mozilla.com/en-US/kb/Managing%20profiles#os=mac&browser=fx35
    '''A small tip:'''
    If your Firefox app is named anything other than "Firefox" -- say for example "Firefox 3.6.15" -- when you follow the instructions at the above link, make sure you escape the blank space that is before the version number by adding a backward slash before it, when you type the command string in the Terminal. In other words, in that string, you should use this:
    Firefox\ 3.6.15
    I hope that helps someone.
    WW

  • How to use the "identify" feature in new 6.3.1 airport utility?

    how to use the "identify" feature in new 6.3.1 airport utility?
    so you can find the basestations in larger networks?

    There is a workaround, which is to use Airport Utility 5.6.
    I can confirm that 5.6 will run on 10.8.4 Mountain Lion, it will recognize the new 2013 Airport Extreme Base Station (A1521) running firmware 7.7.1, and it will give you access to view the device's Log & Statistics, DHCP Clients, and Profiles.
    Four caveats:
    1) The easiest way to install it is to download the app itself, not an installer or through the App Store. There is a page here where you can download the app: http://coreyjmahler.com/2013/03/08/airport-utility-5-6-on-os-x-v10-8-mountain-li on/ This way, you still have both versions, Airport Utility 6.x.x and 5.6.
    2) When you launch 5.6, you'll get a message saying a newer version is available and asking if you want to update. Click Cancel to proceed into the utility.
    3) When you click the Manual Setup button in 5.6, you'll get a warning dialog that "This version of AirPort Utility doesn't support this AirPort wireless device and might improperly configure the device if you continue to use it. Check www.apple.com/support/airport for the latest version of AirPort Utility." You can click Continue to get into the utility without issue.
    4) You should probably only use 5.6 to view the additional status details. I have not tried to modify and save any AEBS settings using 5.6. There are other discussions here in the forums indicating that attempting to save settings via 5.6 that are no longer available in 6.3.1 will not actually save the settings to the AEBS even if both utilities indicate that the settings are changed. See https://discussions.apple.com/message/22677993#22677993
    So, even though you can't use it to modify settings no longer available in Airport Utility 6.3.1, using Airport Utility 5.6 to view DHCP clients, Logs and Statistics is very useful for troubleshooting network issues.
    PS - There are two ways to get to the DHCP Clients list, neither of which is obvious The first is to go to the Airport pane -> Summary tab and click on the "Wireless Clients:" label in the Summary display. All of the labels from "Wireless Mode:" down on the Summary display operate as links to view/edit the corresponding info/settings, which is also not obvious at first glance. Also not obvious, clicking on "Wireless Clients:" actually brings up a new pane with three tabs: Logs, Wireless Clients, and DHCP Clients. You can also get to the same pane by going to the Advanced pane and clicking on the Logs and Statistics button.
    I hope this is helpful information. Took me a while to find out how to do this.

  • How to use count sql statement?

    i've never used the count function and i'm not sure how to use it to print it onto a html page...my code is below...
    <%
    String tot = (String)session.getAttribute("total");
    int total = Integer.parseInt(tot);
    Class.forName("org.postgresql.Driver");
    // create connection url
    String URL2 = "jdbc:postgresql://dbhost/ug59sxn";
    // pass database parameters to JDBC driver
    Connection Conn2 = DriverManager.getConnection(URL2, "ug59sxn", "hupeswop");
    // query statement
    Statement SQLStatement2 = Conn2.createStatement();
    // generate query
    String Query2 = "SELECT COUNT(*) FROM userteam WHERE total > '"+total+"'";
    // get result code
    ResultSet SQLResult2 = SQLStatement2.executeQuery(Query2);
    int position = (int)SQLResult2 + 1;
    %>
    <TD valign=top>
    <P align=center><FONT size=+1>Welcome <%= session.getAttribute("fName") %> <%= session.getAttribute("surname") %><BR>
    Your Team, <%= session.getAttribute("teamname") %>, are currently lying in position <FONT color=red><% out.println(position) %></font>, with <FONT color=red><%= session.getAttribute("total") %></font> points.<BR>
    </FONT></P>
    <P align=justify>      Use the shorcuts on the left to visit different sections of the game.
    You can change your squad around to prepare for forthcoming games (fixtures can be found in the statistics section),
    transfer a player in to your squad to add some depth or replace injured members, or perhaps browse the statistics section to see how your team is doing in the FFL table.</P>
    <HR>
    <%
    SQLResult2.close();
    SQLStatement2.close();
    Conn2.close();
    %>
    i get the following errors:
    type Exception report
    message Internal Server Error
    description The server encountered an internal error (Internal Server Error) that prevented it from fulfilling this request.
    exception
    org.apache.jasper.JasperException: Unable to compile class for JSPNote: sun.tools.javac.Main has been deprecated.
    An error occured between lines: 62 and 84 in the jsp file: /main2.jsp
    Generated servlet error:
    /home/students/ug/ug59sxn/servlets-local/work/localhost/myapp/main2$jsp.java:80: Invalid cast from java.sql.ResultSet to int.
    int position = (int)SQLResult2 + 1;
    ^
    An error occurred at line: 88 in the jsp file: /main2.jsp
    Generated servlet error:
    /home/students/ug/ug59sxn/servlets-local/work/localhost/myapp/main2$jsp.java:108: Invalid type expression.
    out.println(position)
    ^
    An error occurred at line: 88 in the jsp file: /main2.jsp
    Generated servlet error:
    /home/students/ug/ug59sxn/servlets-local/work/localhost/myapp/main2$jsp.java:111: Invalid declaration.
    out.write("</font>, with <FONT color=red>");
    ^
    3 errors, 1 warning
    if anyone can help me out, please do so..thanx in advance...

    You cannot cast a ResultSet object (or any other object for that matter) to a primitive (such as an int)
    Replace the following line of code:
    int position = (int)SQLResult2 + 1;with this:
    int position = 0;
    if(SQLResult2.next())
      position = SQLResult2.getInt(1) + 1;
    }Additionally I noticed that you have put single quotes around total in the following line:
    String Query2 = "SELECT COUNT(*) FROM userteam WHERE total > '"+total+"'";Are you sure that the total column in the userteam table is of string type? If not, you don't need the single quotes.

  • How to use keycols with wildcard & TABLEEXCLUDE & MAPEXCLUDE .

    Hi All,
    I would like to use KEYCOLS for Table which dont have Indexes,
    and in same parameter file i would like to use wildcard for table which has indexes.
    so parameter file will has to update ONLY,when table without index will created.
    and wildcard will resolve for tables which will created with index.
    Could you please help me on how to used KEYCOLS in mixed Configuration.
    where TABLEEXCLUDE will exclude tables which dont have indexes and that table will mapped with KEYCOLS.
    Below are different various combination of syntax which did not worked.
    DYNAMICRESOLUTION
    DDL INCLUDE MAPPED OBJNAME IDENTITY.*
    TABLE IDENTITY.TBBILLING_DUMMY ,KEYCOLS (BILLINGKEY);
    TABLE IDENTITY.*;
    TABLEEXCLUDE IDENTITY.TBBILLING_DUMMY;
    *** Total statistics since extract started     ***
            Operations                                         1.00
            Mapped operations                                  0.00
            Unmapped operations                                1.00
            Other operations                                   0.00
            Excluded operations                                1.00
    DYNAMICRESOLUTION
    DDL INCLUDE MAPPED OBJNAME IDENTITY.*
    TABLE IDENTITY.*;
    TABLEEXCLUDE IDENTITY.TBBILLING_DUMMY;
    TABLE IDENTITY.TBBILLING_DUMMY ,KEYCOLS (BILLINGKEY);
    *** Total statistics since extract started     ***
            Operations                                         1.00
            Mapped operations                                  0.00
            Unmapped operations                                1.00
            Other operations                                   0.00
            Excluded operations                                1.00
    DYNAMICRESOLUTION
    DDL INCLUDE MAPPED OBJNAME IDENTITY.*
    TABLEEXCLUDE IDENTITY.TBBILLING_DUMMY;
    TABLE IDENTITY.*;
    TABLE IDENTITY.TBBILLING_DUMMY ,KEYCOLS (BILLINGKEY);
    *** Total statistics since extract started     ***
            Operations                                         1.00
            Mapped operations                                  0.00
            Unmapped operations                                1.00
            Other operations                                   0.00
            Excluded operations                                1.00
    DYNAMICRESOLUTION
    DDL INCLUDE MAPPED OBJNAME IDENTITY.*
    TABLE IDENTITY.TBBILLING_DUMMY ,KEYCOLS (BILLINGKEY);
    TABLEEXCLUDE IDENTITY.TBBILLING_DUMMY;
    TABLE IDENTITY.*;
    *** Total statistics since extract started     ***
            Operations                                         1.00
            Mapped operations                                  0.00
            Unmapped operations                                1.00
            Other operations                                   0.00
            Excluded operations                                1.00
    DYNAMICRESOLUTION
    DDL INCLUDE MAPPED OBJNAME IDENTITY.*
    TABLEEXCLUDE IDENTITY.TBBILLING_DUMMY
    TABLE IDENTITY.*;
    TABLE IDENTITY.TBBILLING_DUMMY ,KEYCOLS (BILLINGKEY);
    *** Total statistics since extract started     ***
            Operations                                         1.00
            Mapped operations                                  0.00
            Unmapped operations                                1.00
            Other operations                                   0.00
            Excluded operations                                1.00
    DYNAMICRESOLUTION
    DDL INCLUDE MAPPED OBJNAME IDENTITY.*
    TABLE IDENTITY.TBBILLING_DUMMY ,KEYCOLS (BILLINGKEY);
    TABLEEXCLUDE IDENTITY.TBBILLING_DUMMY
    TABLE IDENTITY.*;
    *** Total statistics since extract started     ***
            Operations                                         1.00
            Mapped operations                                  0.00
            Unmapped operations                                1.00
            Other operations                                   0.00
            Excluded operations                                1.00
    ------------------=========I tried for replicat for different set of tables , which failed too.
    TEST 2 = failed
    MAPEXCLUDE ODS.OS_HISTORYSTEP_BLD
    MAP ODS.*,TARGET ODS.*;
    MAP ODS.OS_HISTORYSTEP_BLD, TARGET ODS.OS_HISTORYSTEP_BLD, KEYCOLS (id,entry_id,caller);
    stats identdr,totalsonly ODS.OS_HISTORYSTEP_BLD
    Sending STATS request to REPLICAT IDENTDR ...
    *** Total statistics since replicat started     ***
            Operations                                         1.00
            Unmapped operations                                1.00
            Excluded operations                                1.00
    TEST 3 = failed
    MAPEXCLUDE ODS.OS_HISTORYSTEP_BLD;
    MAP ODS.*,TARGET ODS.*;
    MAP ODS.OS_HISTORYSTEP_BLD, TARGET ODS.OS_HISTORYSTEP_BLD, KEYCOLS (id,entry_id,caller);
    *** Total statistics since replicat started     ***
            Operations                                         1.00
            Mapped operations                                  0.00
            Unmapped operations                                1.00
            Excluded operations                                1.00
    -------------------------------------------------------------------TEST 4 = failed
    MAP ODS.*,TARGET ODS.*;
    MAPEXCLUDE ODS.OS_HISTORYSTEP_BLD;
    NOINSERTAPPEND
    MAP ODS.OS_HISTORYSTEP_BLD, TARGET ODS.OS_HISTORYSTEP_BLD, KEYCOLS (id,entry_id,caller);
    *** Total statistics since replicat started     ***
            Operations                                         1.00
            Mapped operations                                  0.00
            Unmapped operations                                1.00
            Excluded operations                                1.00
    -------------------------------------------------------------------TEST 5 = failed
    MAP ODS.OS_HISTORYSTEP_BLD, TARGET ODS.OS_HISTORYSTEP_BLD, KEYCOLS (id,entry_id,caller);
    MAPEXCLUDE ODS.OS_HISTORYSTEP_BLD
    MAP ODS.*,TARGET ODS.*;
    No active replication maps
    DDL replication statistics:
    *** Total statistics since replicat started     ***
            Operations                                         1.00
            Mapped operations                                  0.00
            Unmapped operations                                1.00
            Other operations                                   0.00
            Excluded operations                                1.00-------------------------------------------------------------------
    TEST 6 = failed
    MAP ODS.OS_HISTORYSTEP_BLD, TARGET ODS.OS_HISTORYSTEP_BLD, KEYCOLS (id,entry_id,caller);
    MAPEXCLUDE ODS.OS_HISTORYSTEP_BLD;
    MAP ODS.*,TARGET ODS.*;
    No active replication maps
    DDL replication statistics:
    *** Total statistics since replicat started     ***
            Operations                                         1.00
            Mapped operations                                  0.00
            Unmapped operations                                1.00
            Other operations                                   0.00
            Excluded operations                                1.00Edited by: 949509 on Dec 8, 2012 5:21 PM

    This configuration is not supported with DDL+DML replication.
    WILDCARDRESOLVE DYANAMIC / DYNAMICRESOLUTION is culprit.
    while used any parameter above. DDL replication is not supported.if used then table mention in TABLEXCLUDE will be excluded from parameter file no matter even if you map table using TABLE schema.tablename .
    to use below syntax you must used WILDCARDRESOLVE IMMEDIATE.
    TABLE SCHEMA.TABLENAME ,KECOLS (COL1,COL2);
    TABLEEXCLUDE SCHEMA.TABLENAME
    TABLE SCHEMA.*;
    Reference.
    Can I Use A Wildcard In An Extract TABLE Statement For All Of The Tables Except One That Does Not Have A Primary Key? [ID 970419.1]

  • How to use date column index

    Hi,
    Why is that I got different results for my queries?
    Note that emp_date is indexed, so i dont want to use
    a function to it.
    QUERY1(full table scan)
    SELECT COUNT(*) FROM EMP WHERE TRUNC(EMP_DATE)=TRUNC(SYSDATE-30); (RESULT=8,842)
    QUERY2
    SELECT COUNT(*) FROM EMP WHERE
    EMP_DATE >=(SYSDATE-30) and EMP_DATE < (SYSDATE-30); (RESULT=0)
    QUERY3
    SELECT COUNT(*) FROM EMP WHERE
    EMP_DATE BETWEEN TRUNC(SYSDATE-30) and TRUNC(SYSDATE-30); (RESULT=2,100)
    Please help me how to use indexed date column...

    > Why is that I got different results for my queries?
    Because your queries are different.
    1) This one selects all records on 20 october, regardless of their time component
    2) This one selects all records with an emp_date at least being 20 october 14:56:30 AND being smaller than 20 october 14:56:30. No record will ever satisfy this condition.
    3) This one selects all records on 19./20 october at midnight 00:00:00
    Please see this example:
    SQL> create table myemp (emp_date)
      2  as
      3   select trunc(sysdate) - 30 +
      4          case
      5          when level <= 2100 then 0
      6          when level <= 8842 then dbms_random.value(1,86399)/86400
      7          else 2
      8          end
      9     from dual
    10  connect by level <= 100000
    11  /
    Tabel is aangemaakt.
    SQL> create index i1 on myemp(emp_date)
      2  /
    Index is aangemaakt.
    SQL> exec dbms_stats.gather_table_stats(user,'myemp',cascade=>true)
    PL/SQL-procedure is geslaagd.
    SQL> set autotrace on explain
    SQL> select count(*) from myemp where trunc(emp_date)=trunc(sysdate-30)
      2  /
                                  COUNT(*)
                                      8842
    1 rij is geselecteerd.
    Uitvoeringspan
       0      SELECT STATEMENT Optimizer=CHOOSE (Cost=88 Card=1 Bytes=8)
       1    0   SORT (AGGREGATE)
       2    1     TABLE ACCESS (FULL) OF 'MYEMP' (Cost=88 Card=1000 Bytes=
              8000)
    SQL> select count(*) from myemp where
      2  emp_date >=(sysdate-30) and emp_date < (sysdate-30)
      3  /
                                  COUNT(*)
                                         0
    1 rij is geselecteerd.
    Uitvoeringspan
       0      SELECT STATEMENT Optimizer=CHOOSE (Cost=2 Card=1 Bytes=8)
       1    0   SORT (AGGREGATE)
       2    1     FILTER
       3    2       INDEX (RANGE SCAN) OF 'I1' (NON-UNIQUE) (Cost=4 Card=2
              50 Bytes=2000)
    SQL> select count(*) from myemp where
      2  emp_date between trunc(sysdate-30) and trunc(sysdate-30)
      3  /
                                  COUNT(*)
                                      2100
    1 rij is geselecteerd.
    Uitvoeringspan
       0      SELECT STATEMENT Optimizer=CHOOSE (Cost=2 Card=1 Bytes=8)
       1    0   SORT (AGGREGATE)
       2    1     FILTER
       3    2       INDEX (RANGE SCAN) OF 'I1' (NON-UNIQUE) (Cost=4 Card=2
              50 Bytes=2000)
    > Please help me how to use indexed date column...
    Use this query instead:
    SQL> select count(*)
      2    from myemp
      3   where emp_date between trunc(sysdate)-30 and trunc(sysdate)-29 - interval '1' second
      4  /
                                  COUNT(*)
                                      8842
    1 rij is geselecteerd.
    Uitvoeringspan
       0      SELECT STATEMENT Optimizer=CHOOSE (Cost=2 Card=1 Bytes=8)
       1    0   SORT (AGGREGATE)
       2    1     FILTER
       3    2       INDEX (RANGE SCAN) OF 'I1' (NON-UNIQUE) (Cost=4 Card=2
              50 Bytes=2000)Regards,
    Rob.

  • Optimizer Statistics collection after upgrade from 8i to 10R2

    I just upgraded database from 8.1.7 to 10R2 .
    What would the best approach for Optimizer Statistics collection. We would like to open database for test , but I afraid some quries going to run slow without latest stats. Should I run it manually or let Oracle run it’s default stats collection job later on.
    Any suggestions?

    user594143
    You really need a strategy before an upgrade like this, but you have two options -
    a) try to make the 10g stats collection identical to the 8i stats collection. Check the code you used to run, check the 8i default values for the parameters in your current dbms_stats() calls, and write them in explicitly when you run the code under 10g.
    OR
    b) do a full 10g conversion. Get rid of your own collection code, clear out most of the old settings you had in your parameter file for fiddling with the optimizer, do a 'gather_schema_stats' then leave 10g to do its default thing and fix any problems that appear.
    If you have testing time on a non-production system, then (b) is the strategic option - although personally I think it tends to collect too many histograms and still needs some refinement; if you don't have any testing time and you're going straight into production then (a) is the least threatening option (and if someone's made you do that, you might also set the optimizer_features_enable to 8.1.7 until you can do some proper upgrade tests).
    Regards
    Jonathan Lewis
    http://jonathanlewis.wordpress.com
    http://www.jlcomp.demon.co.uk

  • How To Use Connection pooling with j2sdkee1.3?

    hi!
    How to use javax.sql.ConnectionPoolDataSource and
    javax.sql.PooledConnection with j2sdkee1.3.?
    In j2ee1.3's deployment tool,
    to specify the resource factories,
    javax.sql.ConnectionPoolDataSource is not available.
    Please Help me to use Connection pooling.
    Dhaya.

    Vendor implementations usually have a fair amount of optimization. For J2EE apps, my concern would be using your pool in transactional calls. When you make a transactional call across several beans/methods, the vendor's pool makes sure that you get the same connection each time you get a connection from the pool so that if you want to rollback the work (in case an error occurs), you can. Does your current connection pool support this?

  • Error in Update optimizer statistics - index is in unusable state

    Hello,
    we have this error in log Check and update optimizer statistics:
    12.02.2009     23:21:20     'BEGIN DBMS_STATS.GATHER_TABLE_STATS (OWNNAME => '"SAPPB1"', TABNAME => '"/BIC/FZPPC0002"', ESTIMATE_PERCENT => 10, METHOD_OPT =
    12.02.2009     23:21:20     ORA-20000: index "SAPPB1"."/BIC/FZPPC0002~010"  or partition of such index is in unusable state
    12.02.2009     23:21:20     ORA-06512: at "SYS.DBMS_STATS", line 13452
    12.02.2009     23:21:20     ORA-06512: at "SYS.DBMS_STATS", line 13472
    12.02.2009     23:21:20     ORA-06512: at line 1
    12.02.2009     23:21:20     BR0886E Checking/collecting statistics failed for table SAPPB1./BIC/FZPPC0002
    i can temporary fix this problem when i delete and recreate index via SE14,  but this help only for one next running update statistics, every next running update statistics has same error:  index "SAPPB1"."/BIC/FZPPC0002~010"  or partition of such index is in unusable state. Exist any definitive solution for this problem. Thanks

    Hi,
    Two methods for checking/repairing Indexing issues
    1)RSRV for a particular cube
    2)SAP_INFOCUBE_INDEXES_REPAIR report
    You can also use this sql to rebuild an Index.
    alter index <index name> rebuild online; Or you can rebuild Index by using ABAP report 'RSANAORA'.
    Please check below thread it may help you.
    /message/6483705#6483705 [original link is broken]
    https://forums.sdn.sap.com/click.jspa?searchID=12942068&messageID=2052264
    Thanks,
    Sushil

  • Check and Update  Optimizer Statistics Error

    Hello,
    I have scheduled 'Check and Update  Optimizer Statistics' from DB 13 but I always get this error.
      BR0280I BRCONNECT time stamp: 2009-01-05 01.00.46
      BR0301E SQL error -20000 at location stats_ind_collect-3, SQL statement:
      'BEGIN DBMS_STATS.GATHER_INDEX_STATS (OWNNAME => '"SAPSR3"', INDNAME => '"/BIC  /B0000412000KE"', ESTIMATE_PERCENT => 30, DEGREE => NULL, NO_INVALIDATE => FALSE); END;'
      ORA-20000: index "SAPSR3"."/BIC/B0000412000KE"  or partition of such index is in unusable state
      ORA-06512: at "SYS.DBMS_STATS", line 10610
      ORA-06512: at "SYS.DBMS_STATS", line 10645
      ORA-06512: at line 1
      BR0886E Checking/collecting statistics failed for index SAPSR3./BIC/B0000412000KE
    Tried checking the table /BIC/B0000412000KE and got this from the check:
      Enhancement category for table missing
      Enhancement category for include or subtype missing
      Table /BIC/B0000412000 was checked with warnings
    I am still checking what this means but appreciate you have any idea on how to solve it.
    Thank you.
    Best Regards,
    Julius
    Edited by: Julius Baron Manuel on Jan 7, 2009 7:39 AM

    Hi Julius,
    Have your tried scheduling the update stats via DB13 'Immediately'. ??? Does it still gives you the same error when its done 'immediately'?
    Try out DB02 and check your whole Database along with missing indexes. Refresh database and update histories.
    Regards,
    Pranay

Maybe you are looking for

  • Alert is not working with a group by query

    Hello, I have a group by query. Using that query have created an alarm, but the alarm is not working, though if I execute manually the query, the query is returning records. I have update the alarm and set another query which has no group by clause.

  • Running GR55 reports for special periods

    When running GR55 reports, the selection field for "Period" only lists periods 1 to 12. We are using the standard K4 FI year variant. Can someone tell me how to get the 4 special periods displayed for selection? Thank you, Hakiza

  • Idoc info in email

    Hi, is it possible to send data in an idoc as excel attachment to somebody's email. I know it is possible, using SO_NEW_DOCUMENT_ATT_SEND_API1.. getting data from the idoc tables and filling up the OBJBIN input structure. but is there any better way.

  • Bex report values are changing

    Hi experts, In the cube we are having a qty field value as 0.652, but in the bex report it is showing as 1. And if the value is 0.4152 it is showing as 0. How to get the exact values those are 0.652 and 0.4152 to the bex reports. Regards, Nishuv.

  • MS Query - Repost, Help please!

    I have built a query in Access that I am accessing via .asp pages (VB Script). The query brings back related records (from another table) , and also has a count of these records against this relationship. Heres the SQL that Access creates SELECT sect