11g Stats

RHEL 5.5 on 11GR1. How can I tell if automatic statistics are being collected? Any way to set the collection schedule through 10g grid control? This is easy enough in database control but the option does not appear to exist in 10g grid control for 11g database.
DBA_AUTOTASK_CLIENT shows auto optimizer stats collection is enabled. DBA_IND_STATISTICS shows a lot of stale statistics that were collected weeks ago. However some were last_analyzed yesterday. Does this mean all of these statistics just happened to turn stale today and Oracle will recollect statistics next time it runs tonight?

before
OWNER                      STA   COUNT(*)
DBSNMP                      YES         1
HR                      YES         6
OE                      YES         5
SYS                      YES       211
XDB                      YES         3
SQL> /SQL> exec DBMS_STATS.GATHER_SCHEMA_STATS('SYS');
PL/SQL procedure successfully completed.
After
OWNER                      STA   COUNT(*)
DBSNMP                      YES         1
HR                      YES         6
OE                      YES         5
SYS                      YES        26
XDB                      YES         3

Similar Messages

  • Oracle 11g stats and SQL plan mgt

    Oracle 11.0.1.7:
    - According to what I have read so far in the various documents it looks like when dbms gather stats run and if that results in new sql plan oracle will not automatically start using that plan until it's verified by sql tuning advisor or is evolved. Is that correct? Is that the default behaviour?
    - I just upgraded from 10g to 11g so I am not sure how stats is behaving currently. I am really concerned and want to understand how it's behaving.
    - How can I tell what's going on currently in the system in terms of stats gathering and if the new better plan is being used or not.

    You have the default setting for the two parameters in place. That means, that if SQL Plan Baselines exist, they will be used, thereby preventing new execution plans from getting used without evolvement
    optimizer_use_sql_plan_baselines=true does that.
    But by default, there are no SQL Plan Baselines as long as you don't create them - for example with the setting of
    optimizer_capture_sql_plan_baselines=trueYou can check whether SQL Plan Baselines exist with
    select * from dba_sql_plan_baselines;It should return no rows.

  • 10g/11g stats

    Hi friends,
    We currently have a nightly scheduled job to gather statistics(dbms_stats.gather_database_stats) on all objects for our 10g databases. I'm not sure if we need to schedule this nightly job for 11g databases as well..
    I researched that this is not required and is done automatically in 11g databases. Just wanted to confirm if this is true..
    Thanks
    Edited by: user10192995 on Jan 27, 2011 11:30 AM

    Sorry. Here is the procedure that runs on 10g databases every night:
    dbms_stats.gather_database_stats(estimate_percent => 30, method_opt => 'FOR ALL COLUMNS SIZE SKEWONLY', options => 'GATHER EMPTY'); dbms_stats.gather_database_stats(estimate_percent => 30, method_opt => 'FOR ALL COLUMNS SIZE SKEWONLY', options => 'GATHER STALE');
    We have disabled the default Gather_auto procedure to run the nightly stats update on 10g databases. Instead we have scheduled the above to run every night on V10 databases based on Oracle's recommendation.. I do not see any information on this for 11g.. Will the same above procedure work effectively on V11 databases as well?
    Thanks again.
    Edited by: user10192995 on Jan 27, 2011 12:02 PM

  • Deploying to analytic workspace ....

    it would be great if someone can help me with this ...
    Every link i have accessed regarding Oracle WarehouseBuilder 11g states that there is an option available for ROLAP dimensions (and cube) to be deployed to an analytic workspace. (I'm using an 11g EE Database).
    Does anyone know how this can be done?
    Using the "Deploy All" config setting does not seem to work since, when I open AWM, I cannot see my dimensions and cube.
    What am i missing?
    Thanks!

    Hi
    Are you using OWB 11gR1 or 10gR2? If so there are 2 storage options for dimensions and cubes;
    ROLAP: relational storage
    or
    MOLAP:multidimensional storage
    In OWB 11gR2 there is also a ROLAP with cube MV option (which is a mixture of both).
    Essentially the dimensional model can have a relational (ROLAP) implementation or a multidimensional one based in an analytic workspace. So in the storage panel of the dimension or cube if you have defined it as ROLAP no matter whether you set deploy all or whatever, you will only get relational DDL and CWM2 api calls for dimensional/cube metadata. You will need the storage set ot Multidimensional storage giving you the dimension and cube persisted in an Analytic Workspace.
    The AW name is defined on the storage panel in OWB. If no name is defined the name of the module is used.
    Cheers
    David

  • Problem with statement after upgrading to 11g

    Hello,
    We recently upgraded to 11g from 9i and one of our statements we routinely use no longer works. The statement is:
    delete from ALLEMPLOYEES x where exists( (select * from ALLEMPLOYEES where email_id=x.email_id) minus (select * from X_ALLEMPLOYEES where email_id=x.email_id));
    This statement deletes no rows from the ALLEMPLOYEES table. When we run this statement as a check:
    (select * from ALLEMPLOYEES) MINUS (select * from X_ALLEMPLOYEES);
    We find many rows produced. Why would the delete fail now? We have colleagues still using 9i and use this same delete statement and it works for them with no trouble.

    Do you have proper indexes?
    SQL> select  *
      2    from  v$version
      3  /
    BANNER
    Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
    PL/SQL Release 11.2.0.1.0 - Production
    CORE    11.2.0.1.0      Production
    TNS for 32-bit Windows: Version 11.2.0.1.0 - Production
    NLSRTL Version 11.2.0.1.0 - Production
    SQL> create table emp1 as select * from emp where deptno != 30
      2  /
    Table created.
    SQL> create index emp1_idx_comm on emp1(comm)
      2  /
    Index created.
    SQL> create index emp_idx_comm on emp(comm)
      2  /
    Index created.
    SQL> explain plan for
      2  delete emp e
      3    where exists(
      4                  select  *
      5                    from  emp
      6                    where comm = e.comm
      7                 minus
      8                  select  *
      9                    from  emp1
    10                    where comm = e.comm
    11                )
    12  /
    Explained.
    SQL> @?\rdbms\admin\utlxpls
    PLAN_TABLE_OUTPUT
    Plan hash value: 1994471334
    | Id  | Operation              | Name         | Rows  | Bytes | Cost (%CPU)| Time     |
    |   0 | DELETE STATEMENT       |              |     1 |    28 |     9  (34)| 00:00:01 |
    |   1 |  DELETE                | EMP          |       |       |            |          |
    |   2 |   NESTED LOOPS         |              |     1 |    28 |     9  (34)| 00:00:01 |
    |   3 |    VIEW                | VW_SQ_1      |    14 |   182 |     8  (25)| 00:00:01 |
    |   4 |     MINUS              |              |       |       |            |          |
    |   5 |      SORT UNIQUE       |              |    14 |   532 |            |          |
    PLAN_TABLE_OUTPUT
    |   6 |       TABLE ACCESS FULL| EMP          |    14 |   532 |     3   (0)| 00:00:01 |
    |   7 |      SORT UNIQUE       |              |     8 |   696 |            |          |
    |   8 |       TABLE ACCESS FULL| EMP1         |     8 |   696 |     3   (0)| 00:00:01 |
    |*  9 |    INDEX RANGE SCAN    | EMP_IDX_COMM |     1 |    15 |     0   (0)| 00:00:01 |
    Predicate Information (identified by operation id):
       9 - access("VW_COL_1"="E"."COMM")
           filter("E"."COMM" IS NOT NULL)
    PLAN_TABLE_OUTPUT
    Note
       - dynamic sampling used for this statement (level=2)
    26 rows selected.
    SQL> explain plan for
      2  delete emp
      3    where comm is not null
      4     and comm not in (
      5                      select  comm
      6                        from  emp1
      7                        where comm is not null
      8                     )
      9  /
    Explained.
    SQL> @?\rdbms\admin\utlxpls
    PLAN_TABLE_OUTPUT
    Plan hash value: 123997034
    | Id  | Operation          | Name          | Rows  | Bytes | Cost (%CPU)| Time     |
    |   0 | DELETE STATEMENT   |               |     3 |    84 |     1   (0)| 00:00:01 |
    |   1 |  DELETE            | EMP           |       |       |            |          |
    |   2 |   NESTED LOOPS ANTI|               |     3 |    84 |     1   (0)| 00:00:01 |
    |*  3 |    INDEX FULL SCAN | EMP_IDX_COMM  |     4 |    60 |     1   (0)| 00:00:01 |
    |*  4 |    INDEX RANGE SCAN| EMP1_IDX_COMM |     1 |    13 |     0   (0)| 00:00:01 |
    PLAN_TABLE_OUTPUT
    Predicate Information (identified by operation id):
       3 - filter("COMM" IS NOT NULL)
       4 - access("COMM"="COMM")
           filter("COMM" IS NOT NULL)
    Note
       - dynamic sampling used for this statement (level=2)
    22 rows selected.
    SQL> SY.

  • Using multiple 'for' statements in an 11g pivot query

    oracle: 11.2.0.3
    Basically I need to pivot around 2 different columns (I think I need to 'for' clauses').
    See below.
    Below is pseudo code from non-11g pivot statement.
    I am trying to figure out how to do with pivot.
    -- note field names are pseudo code and not real values
    -- note that the field after 'then' in the case statement is different for the 2 pivots
    select            my_id,
                        max( (case when myfield = 'MYVALUE1' then mydate_date else null end)) as MYVALUE1,
                        to_number(max( (case when myfield = 'MYVALUE'   then myfieldvalue else null end))) as MYVALUE2,
                        min (insert_date ) insert_date
      from mytable
    group by myidso if I'm doing this in 11g pivot syntax I am stuck at:
    -- if I add max(fieldvalue), I think I will pivot too many times. I just want 2 extra columns. Can I add a second 'for' statement?
    select *
    from mytable
    pivot (
               max(mydate)
               for myfield in ('MYVALUE1' as MYVALUE1)
    )

    My concern about trying that is that SQL will do extra pivots that I won't use. Which means more work. I saw a blog entry by someone in the oak table (I can't remember who or the link) that showed an example that the pivot clause has about the same logical IOs as using the old max(case statement) but the response time was much better. This was a very rare case where performance is significantly improved without affecting LIOs. So there isn't a good measure. I wish I had the link and generally people in the oak table are very good. So I trust posts by them.
    so basically I am not sure how to measure whether doing the extra pivots are using extra resources. This is going to be a fairly performance intensive query due to the volume of data it has to feed through.
    I'll give it a try, but my inability to measure it is a bit concerning.

  • ORA-13786: missing SQL text of statement object - Unable to profile a sql_id in oracle 11g -

    11.2.0.3.5 / 2 node rac on rhel-6 / 64-bit
    I would like to a profile a sql_id since its following 4 plans and one of them is the optimal.
    But im unable to do it as it throwing ORA-13786.
    Steps I followed :
    {code}
    SET SERVEROUTPUT ON
    -- Tuning task created for specific a statement from the AWR.
    DECLARE
      l_sql_tune_task_id  VARCHAR2(100);
    BEGIN
      l_sql_tune_task_id := DBMS_SQLTUNE.create_tuning_task (
                              begin_snap  => 29676,
                              end_snap    => 29707,
                              sql_id      => 'fjndcnvzkjkb5',
                              scope       => DBMS_SQLTUNE.scope_comprehensive,
                              time_limit  => 60,
                              task_name   => '420tavt57dxkx_tuning_task',
                              description => 'Tuning task for statement 420tavt57dxkx in AWR.');
      DBMS_OUTPUT.put_line('l_sql_tune_task_id: ' || l_sql_tune_task_id);
    END;
    EXEC DBMS_SQLTUNE.execute_tuning_task(task_name => 'fjndcnvzkjkb5_CFO_tuning_task');
    SET LONG 10000;
    SET PAGESIZE 1000
    SET LINESIZE 200
    SELECT DBMS_SQLTUNE.report_tuning_task('420tavt57dxkx_tuning_task') AS recommendations FROM dual;
    SET PAGESIZE 24
    SQL>  execute dbms_sqltune.accept_sql_profile(task_name =>'420tavt57dxkx_tuning_task_task', replace => TRUE,force_match  => TRUE);
    BEGIN dbms_sqltune.accept_sql_profile(task_name =>420tavt57dxkx_tuning_task', replace => TRUE,force_match  => TRUE); END;
    ERROR at line 1:
    ORA-13786: missing SQL text of statement object "1" for tuning task "420tavt57dxkx_tuning_task"
    ORA-06512: at "SYS.DBMS_SYS_ERROR", line 95
    ORA-06512: at "SYS.DBMS_SQLTUNE_INTERNAL", line 16442
    ORA-06512: at "SYS.PRVT_SQLPROF_INFRA", line 31
    ORA-06512: at "SYS.DBMS_SQLTUNE", line 7544
    ORA-06512: at "SYS.DBMS_SQLTUNE", line 7568
    ORA-06512: at line 1
    {code}
    Can somebody help me out on this?

    Hi Experts,
    i too getting this error while attaching the tuning task to the sql profiler, below are the details, appreciate any help on this.
    SQL> SQL> VAR profile_name VARCHAR2(30);
    SQL> BEGIN
       :profile_name := DBMS_SQLTUNE.ACCEPT_SQL_PROFILE(task_name => 'sql_tuning_task');
    END;
    /  2    3    4
    BEGIN
    ERROR at line 1:
    ORA-13786: missing SQL text of statement object "1" for tuning task "sql_tuning_task"
    ORA-06512: at "SYS.DBMS_SYS_ERROR", line 95
    ORA-06512: at "SYS.DBMS_SQLTUNE_INTERNAL", line 16442
    ORA-06512: at "SYS.PRVT_SQLPROF_INFRA", line 31
    ORA-06512: at "SYS.DBMS_SQLTUNE", line 7544
    ORA-06512: at line 2
    SQL> select banner from v$version;
    BANNER
    Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - Production
    PL/SQL Release 11.2.0.3.0 - Production
    CORE    11.2.0.3.0      Production
    TNS for Linux: Version 11.2.0.3.0 - Production
    NLSRTL Version 11.2.0.3.0 - Production

  • How to view the List of statements executed in Oracle 11G database

    Hi ,
    I have this Application which internally updates and writes to the tables in my database. Is there a way that i can make oracle 11g to log all the statements that are executed in it so that ill be able to see the statements?. Plz explain me how to do this ?
    Thanks
    Kiran

    User Auditing on those tables.
    http://www.oracle.com/technology/deploy/security/database-security/database-auditing/index.html
    http://www.oracle-base.com/articles/10g/Auditing_10gR2.php
    Regards
    Rajesh

  • ADF 11g - persist users component state to database - af:panelCollection

    Hi all
    We have a case where we require the state of a component, an af:panelCollection in this instance, to be saved to the database for each user of the application. This data is then retrieved upon application startup when it will be used to set the initial state of the af:panelCollection.
    The logic to achieve the above is outlined in the following post:
    http://technology.amis.nl/blog/4595/adf-11g-persisted-run-time-user-ui-personalization-or-impatient-mans-mds
    We have used the above resource to implement the manipulation of the af:panelCollection accordingly but we now wish to persist this data to the database, it is currently hard coded.
    Any help is greatly appreciated
    Regards
    Tony

    Hi,
    the next release of JDeveloper 11g (planned for summer) provides MDS, which helps you with a repository based approach for end user personalization. I think that if you can wait then it makes sense to do so instead of implementing functionality on your own that sooner or later you find in the product.
    If you can't wait then all you can do is to setup listeners that detect changes (attribute listener work in many cases) and persist the information for the page, component ID and user
    Frank

  • DISTINCT in SELECT statements for  Entities / Views - Oracle JDeveloper 11G

    Hi Steve,
    i have a question about using DISTINCT in SELECT statements for
    Entities / Views. On Oracle JDeveloper 11G ADF / BC4J
    --- This is unique---
    SELECT
    distinct(GC."course_title"),
    GC.SEC_GRP_PARENT_ID,
    from "grp_courses" GC
    --- This is NOT unique, but ROWID seems to be mandatory as PrimaryKey---
    SELECT
    distinct(GC."course_title"),
    GC.SEC_GRP_PARENT_ID,
    rowid
    from "grp_courses" GC
    How to use this query;
    SELECT
    distinct(GC."course_title"),
    GC.SEC_GRP_PARENT_ID,
    from "grp_courses" GC
    and yet still be able to use it in View / Entity without a Primary Key or some equivalent solution.
    Thanks & Regards,

    Hi, OK - I got it to work...
    Some notes:
    1) The View wizard cannot be initiated from the Entity Object.
    2) During the View wizard process - do not associate with Entity
    3) Selected columns must be mapped as expressions
    4) Using non-distinct columns will override the distinct function

  • "Rows" statistics from STAT in trace event 10046, Oracle 11g.

    Hi, all!
    Why "Rows" statistics in STAT are different for 10g and 11g?
    I have two database with version 10g and 11g, with the same data.
    I executed some pl/sql code with tracing 10046 level 8.
    And I have different result when obtain raw trace.
    In 10g I obtain rows statistics for all executions - Rows= 7.
    In 11g I obtain rows statistics for first executions - Rows= 1. Why?
    See my example:
    declare
         type t_name_tbl is table of varchar2(30) index by binary_integer;
         v_name_tbl t_name_tbl;
         v_len      number := 10;
    begin
         execute immediate 'alter session set timed_statistics = true ';
         execute immediate 'alter session set statistics_level=all ';
         execute immediate 'alter session set max_dump_file_size = unlimited ';
         execute immediate 'alter session set events ''10046 trace name context forever,level 8'' ';
         loop
           select cour_name bulk collect
                into v_name_tbl
               from country t
              where length(t.cour_name) = v_len;
           exit when v_len = 0;
           v_len := v_len - 1;
           for i in 1 .. v_name_tbl.count loop
             dbms_output.put_line(v_name_tbl(i));
           end loop;
         end loop;
    end;Result Tkprof for Oracle 10g:
    SELECT COUR_NAME
    FROM
    COUNTRY T WHERE LENGTH(T.COUR_NAME) = :B1
    call     count       cpu    elapsed       disk      query    current        rows
    Parse        1      0.00       0.00          0          0          0           0
    Execute     11      0.00       0.00          0          0          0           0
    Fetch       11      0.01       0.00          0         44          0           7
    total       23      0.01       0.00          0         44          0           7
    Misses in library cache during parse: 0
    Optimizer mode: ALL_ROWS
    Parsing user id: 649     (recursive depth: 1)
    Rows     Row Source Operation
          7  TABLE ACCESS FULL COUNTRY (cr=44 pr=0 pw=0 time=1576 us)Result Tkprof for Oracle 11g:
    SQL ID: 3kqmkg8jp5nwk
    Plan Hash: 1371235632
    SELECT COUR_NAME
    FROM
    COUNTRY T WHERE LENGTH(T.COUR_NAME) = :B1
    call     count       cpu    elapsed       disk      query    current        rows
    Parse        1      0.01       0.00          0          0          0           0
    Execute     11      0.02       0.01          0          0          0           0
    Fetch       11      0.00       0.01          3         44          0           7
    total       23      0.03       0.02          3         44          0           7
    Misses in library cache during parse: 1
    Misses in library cache during execute: 1
    Optimizer mode: ALL_ROWS
    Parsing user id: 82     (recursive depth: 1)
    Rows     Row Source Operation
          1  TABLE ACCESS FULL COUNTRY (cr=4 pr=3 pw=0 time=0 us cost=2 size=44 card=2)Were can I read about it?

    Oracle 11g by default writes the execution plan (the STAT lines in the raw trace file) after the first execution of the SQL statement, while prior to 11g the execution plan is written only when the cursor is closed.
    The behavior in 11g can be controlled by changing the PLAN_STAT parameter of the call that enables the trace from the default value of FIRST_EXECUTION to ALL_EXECUTIONS:
    http://download.oracle.com/docs/cd/B28359_01/appdev.111/b28419/d_sessio.htm#i1010518
    Charles Hooper
    Co-author of "Expert Oracle Practices: Oracle Database Administration from the Oak Table"
    http://hoopercharles.wordpress.com/
    IT Manager/Oracle DBA
    K&M Machine-Fabricating, Inc.
    Edited by: Charles Hooper on Aug 9, 2010 3:33 PM
    Default value on 11g is FIRST_EXECUTION, while the behavior prior to 11g is ALL_EXECUTIONS - corrected the incomplete sentence.

  • 11g outer join with case statement - strange results.

    Hello All,
    I am experiencing a strange issues in 11g while using case statement.
    I am not able to reproduce this using sample data. Not sure what is wrong.
    I am not narrowing it to say the usage of case statemnt is giving wrong results, but that is my observation when I am doing trail and error testing.
    Here are the details.
    My Version
    SQL> select * from v$version;
    BANNER
    Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production
    PL/SQL Release 11.2.0.2.0 - Production
    CORE    11.2.0.2.0      Production
    TNS for Linux: Version 11.2.0.2.0 - Production
    NLSRTL Version 11.2.0.2.0 - Production
    SQL> My Query
    SELECT *
      FROM (SELECT DISTINCT mf.schedule,
                            mf.cptcode,
                            NVL (mf.modifier, '00') modifier2,
                            CASE
                               WHEN mf.feetype = 'H'
                                AND mf.multiplier IS NOT NULL THEN
                                  '      0.00'
                               WHEN (mf.feetype != 'H'
                                  OR  mf.feetype IS NULL)
                                AND mf.rbrvsvalue IS NOT NULL
                                AND mf.multiplier IS NOT NULL THEN
                                  LPAD ( TRIM (TO_CHAR ( (mf.rbrvsvalue * mf.multiplier) / 100, 9999999.99)), 10)
                               ELSE
                                  NULL
                            END
                               fee
              FROM provider.mpifee mf, mpi_udffee.udffeeactivecptcodes vld
             WHERE mf.schedule = 'SAPG1'
               AND mf.cptcode = vld.cptcode
               AND NVL (mf.modifier, 'NULL') = NVL (vld.modifier, 'NULL')) inline_fee,
           (SELECT arc.schedule col1, arc.procedurecode col2, NVL (arc.modifier, '00') AS col3
              FROM mpi_udffee.udffeeancfeedata arc
             WHERE monthofextract = '201202'
               AND arc.schedule = 'SAPG1'
               AND TRUNC (SYSDATE - 10) BETWEEN arc.recordeffectivedate AND arc.recordterminationdate) inline_data
    WHERE inline_fee.schedule = inline_data.col1(+)
       AND inline_fee.cptcode = inline_data.col2(+)
       AND inline_fee.modifier2 = inline_data.col3(+);
    In the above query the inline view inline_data returns zero rows. but NVL is still getting applied for col3 and I am getting 00 in the results( strange ).
    Results:
    SCHEDULE        CPTCO MODIFIER2  FEE             COL1  COL2  COL3
    SAPG1           49590 00             667.32                  00
    SAPG1           49611 00             781.03                  00
    SAPG1           49905 00             443.79                  00
    SAPG1           50205 00             883.56                  00
    SAPG1           50220 00            1315.15                  00
    SAPG1           50230 00            1638.74                  00
    SAPG1           50234 00            1666.16                  00
    SAPG1           50250 00            1566.14                  00
    SAPG1           50327 00             262.04                  00
    SAPG1           50541 00            1183.31                  00
    SAPG1           50620 00            1156.88                  00
    SAPG1           50650 00            1321.96                  00
    497 rows selected.
    Just the inline view inline_data,
    SQL> SELECT arc.schedule col1, arc.procedurecode col2, NVL (arc.modifier, '00') AS col3
      2            FROM mpi_udffee.udffeeancfeedata arc
      3           WHERE monthofextract = '201202'
      4             AND arc.schedule = 'SAPG1'
      5             AND TRUNC (SYSDATE - 10) BETWEEN arc.recordeffectivedate AND arc.recordterminationdate;
    no rows selectedMuch unusual thing is when I just remove the case statement from the inline view "inline_fee", I am getting right results,
    SELECT *
      FROM (SELECT DISTINCT mf.schedule,
                            mf.cptcode,
                            NVL (mf.modifier, '00') modifier2          <-- Removed Case statement here
              FROM provider.mpifee mf, mpi_udffee.udffeeactivecptcodes vld
             WHERE mf.schedule = 'SAPG1'
               AND mf.cptcode = vld.cptcode
               AND NVL (mf.modifier, 'NULL') = NVL (vld.modifier, 'NULL')) inline_fee,
           (SELECT arc.schedule col1, arc.procedurecode col2, NVL (arc.modifier, '00') AS col3
              FROM mpi_udffee.udffeeancfeedata arc
             WHERE monthofextract = '201202'
               AND arc.schedule = 'SAPG1'
               AND TRUNC (SYSDATE - 10) BETWEEN arc.recordeffectivedate AND arc.recordterminationdate) inline_data
    WHERE inline_fee.schedule = inline_data.col1(+)
       AND inline_fee.cptcode = inline_data.col2(+)
       AND inline_fee.modifier2 = inline_data.col3(+);
    SCHEDULE        CPTCO MODIFIER2  COL1  COL2  COL3
    SAPG1           46730 00
    SAPG1           46735 00
    SAPG1           46748 00
    SAPG1           46760 00
    SAPG1           46942 00
    SAPG1           46945 00
    SAPG1           47015 00
    SAPG1           47125 00
    SAPG1           47350 00
    SAPG1           47505 00
    SAPG1           47553 00interestingly explain plan for both the statements are exactly same,
    SELECT STATEMENT  ALL_ROWSCost: 138  Bytes: 1,078,274  Cardinality: 11,471                                
         9 HASH JOIN RIGHT OUTER  Cost: 138  Bytes: 1,078,274  Cardinality: 11,471                           
              2 PARTITION RANGE EMPTY  Cost: 2  Bytes: 150  Cardinality: 3                      
                   1 TABLE ACCESS FULL TABLE MPI_UDFFEE.UDFFEEANCFEEDATA Cost: 2  Bytes: 150  Cardinality: 3                 
              8 VIEW MPI_UDFFEE. Cost: 135  Bytes: 504,724  Cardinality: 11,471                      
                   7 HASH UNIQUE  Cost: 135  Bytes: 539,137  Cardinality: 11,471                 
                        6 HASH JOIN  Cost: 134  Bytes: 539,137  Cardinality: 11,471            
                             3 TABLE ACCESS FULL TABLE MPI_UDFFEE.UDFFEEACTIVECPTCODES Cost: 13  Bytes: 177,345  Cardinality: 25,335       
                             5 PARTITION LIST SINGLE  Cost: 120  Bytes: 600,600  Cardinality: 15,015  Partition #: 8       
                                  4 INDEX RANGE SCAN INDEX (UNIQUE) REPRICE.PK_MPIFEE Cost: 120  Bytes: 600,600  Cardinality: 15,015  Partition #: 9  Partitions accessed #11Is there anything wrong with the query? If not have anyone come across this issue or posted it as a bug or is there a patch?
    Update:
    when I set the parameter "_complex_view_merging"=false I am getting the right results even with case statement. But I don want to do some thing unsupported.
    Are there any other viable solutions?
    I appreciate the help.
    Thanks,
    G.
    Edited by: Ganesh Srivatsav on Apr 10, 2012 12:37 PM

    Hi Tubby,
    Right, the query transformation is going wrong. Following is from trace,
    SELECT "INLINE_FEE"."SCHEDULE" "SCHEDULE",
           "INLINE_FEE"."CPTCODE" "CPTCODE",
           "INLINE_FEE"."MODIFIER2" "MODIFIER2",
           "INLINE_FEE"."FEE" "FEE",
           "ARC"."SCHEDULE" "COL1",
           "ARC"."PROCEDURECODE" "COL2",
           CASE
              WHEN "ARC".ROWID IS NOT NULL THEN NVL ("ARC"."MODIFIER", '00')
              ELSE NULL
           END
              "COL3"
      FROM (SELECT DISTINCT "MF"."SCHEDULE" "SCHEDULE",
                            "MF"."CPTCODE" "CPTCODE",
                            NVL ("MF"."MODIFIER", :B2) "MODIFIER2",
                            CASE
                               WHEN ("MF"."FEETYPE" = :B3
                                 AND "MF"."MULTIPLIER" IS NOT NULL) THEN
                                  :B4
                               WHEN ( ("MF"."FEETYPE" <> :B5
                                    OR  "MF"."FEETYPE" IS NULL)
                                 AND "MF"."RBRVSVALUE" IS NOT NULL
                                 AND "MF"."MULTIPLIER" IS NOT NULL) THEN
                                  LPAD ( TRIM (TO_CHAR ( "MF"."RBRVSVALUE" * "MF"."MULTIPLIER" / :B6, :B7)), :B8)
                               ELSE
                                  NULL
                            END
                               "FEE"
              FROM "PROVIDER"."MPIFEE" "MF", "MPI_UDFFEE"."UDFFEEACTIVECPTCODES" "VLD"
             WHERE "MF"."SCHEDULE" = 'SAPG1'
               AND "MF"."CPTCODE" = "VLD"."CPTCODE"
               AND NVL ("MF"."MODIFIER", 'NULL') = NVL ("VLD"."MODIFIER", 'NULL')) "INLINE_FEE",
           "MPI_UDFFEE"."UDFFEEANCFEEDATA" "ARC"
    WHERE "INLINE_FEE"."SCHEDULE" = "ARC"."SCHEDULE"(+)
       AND "INLINE_FEE"."CPTCODE" = "ARC"."PROCEDURECODE"(+)
       AND "INLINE_FEE"."MODIFIER2" = CASE
                                         WHEN ("ARC".ROWID(+) IS NOT NULL) THEN NVL ("ARC"."MODIFIER"(+), '00')
                                         ELSE NULL
                                      END
       AND "ARC"."MONTHOFEXTRACT"(+) = '201202'
       AND "ARC"."SCHEDULE"(+) = 'SAPG1'
       AND TRUNC (SYSDATE-10) >= "ARC"."RECORDEFFECTIVEDATE"(+)
       AND TRUNC (SYSDATE-10) <= "ARC"."RECORDTERMINATIONDATE"(+)Does this refer to a specific bug?
    Thanks,
    G.

  • How to make a physical standby database in the read_only state in 11g?

    In 10g, we can make a physical standby database in the read_only state. But in 11g, no a read_only state for a physical standby database. How to make a physical standby database in the read_only state in 11g?

    Hi
    read-only mode (for 11g physical standby)
    A mode in which a database can be opened that allows queries, but disallows modifications.
    A physical standby database can be opened read-only so that queries may be performed. If a license for the Oracle Active Data Guard option has been purchased, a physical satndby database can be open while redo apply is active. This capability is known as Real-time Query.
    For more details have a look at:
    http://download.oracle.com/docs/cd/B28359_01/server.111/b28294/manage_ps.htm#SBYDB00706
    Hipe this Helps
    Regards

  • Will dbms_stats.export_database_stats also export pending stats in 11g?

    Hi all
    In 11g, will the dbms_stats.export_database_stats procedure also export pending stats?
    There is an export_pending_stats procedure but we want to export both published and unpublished stats.
    Thanks,
    Louiza

    Check here:
    [DBMS_STATS|http://www.morganslibrary.org/reference/dbms_stats.html]
    [http://download-uk.oracle.com/docs/cd/B28359_01/appdev.111/b28419/d_stats.htm]
    HTH
    -Anantha

  • SOA Suite 11g server soa_server1 stops at STARTING state

    I have installed Jdev Studio 11.1.3.0 along with SOA suite 11.1.3.0 and XE database to run SOA 11G on my machine which runs on Windows Vista OS.I have successfully able to start the Weblogic server and it is in <RUNNING> state.Now I tried to start soa_server1(SOA Suite 11G) from command prompt but it hangs after <STARTING> state.I have tried several times and also waited for more than an hour to leave the thread to start the SOA suite 11g server but it hangs there.Please help me.Any kind of help is welcome.

    Here is the log for soa_server1
    ####<6 Jun, 2010 10:19:58 PM IST> <Notice> <Server> <Animesh-PC> <soa_server1> <[ACTIVE] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <11d1def534ea1be0:6769899f:1290e25048c:-7ffd-0000000000000008> <1275842998565> <BEA-002613> <Channel "Default[3]" is now listening on fe80:0:0:0:ca8:13a3:f5f5:e749:8050 for protocols iiop, t3, ldap, snmp, http.>
    ####<6 Jun, 2010 10:19:58 PM IST> <Notice> <Server> <Animesh-PC> <soa_server1> <[ACTIVE] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <11d1def534ea1be0:6769899f:1290e25048c:-7ffd-0000000000000008> <1275842998565> <BEA-002613> <Channel "Default[1]" is now listening on 10.10.24.182:8050 for protocols iiop, t3, ldap, snmp, http.>
    ####<6 Jun, 2010 10:19:58 PM IST> <Notice> <WebLogicServer> <Animesh-PC> <soa_server1> <[ACTIVE] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <11d1def534ea1be0:6769899f:1290e25048c:-7ffd-0000000000000008> <1275842998566> <BEA-000357> <Started WebLogic Independent Managed Server "soa_server1" for domain "SOA_Domain" running in Development Mode>
    ####<6 Jun, 2010 10:21:23 PM IST> <Warning> <JMX> <Animesh-PC> <soa_server1> <[ACTIVE] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <11d1def534ea1be0:6769899f:1290e25048c:-7ffd-000000000000000a> <1275843083765> <BEA-149509> <Unable to establish JMX Connectivity with the Adminstration Server AdminServer at service:jmx:t3://[2001:0:4137:9e76:ca8:13a3:f5f5:e749]:7050/jndi/weblogic.management.mbeanservers.domainruntime.
    java.io.IOException
         at weblogic.management.remote.common.ClientProviderBase.makeConnection(ClientProviderBase.java:195)
         at weblogic.management.remote.common.ClientProviderBase.newJMXConnector(ClientProviderBase.java:83)
         at javax.management.remote.JMXConnectorFactory.newJMXConnector(JMXConnectorFactory.java:338)
         at javax.management.remote.JMXConnectorFactory.connect(JMXConnectorFactory.java:247)
         at weblogic.management.mbeanservers.runtime.internal.RegisterWithDomainRuntimeService.getDomainMBeanServerConnection(RegisterWithDomainRuntimeService.java:216)
         at weblogic.management.mbeanservers.runtime.internal.RegisterWithDomainRuntimeService.notifyDomainRuntime(RegisterWithDomainRuntimeService.java:136)
         at weblogic.management.mbeanservers.runtime.internal.RegisterWithDomainRuntimeService.start(RegisterWithDomainRuntimeService.java:90)
         at weblogic.management.mbeanservers.runtime.internal.RegisterWithDomainRuntimeServiceLate.start(RegisterWithDomainRuntimeServiceLate.java:17)
         at weblogic.t3.srvr.SubsystemRequest.run(SubsystemRequest.java:64)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
    Caused By: javax.naming.CommunicationException [Root exception is java.net.ConnectException: t3://[2001:0:4137:9e76:ca8:13a3:f5f5:e749]:7050: Destination unreachable; nested exception is:
         java.net.ConnectException: Connection timed out: connect; No available router to destination]
         at weblogic.jndi.internal.ExceptionTranslator.toNamingException(ExceptionTranslator.java:40)
         at weblogic.jndi.WLInitialContextFactoryDelegate.toNamingException(WLInitialContextFactoryDelegate.java:787)
         at weblogic.jndi.WLInitialContextFactoryDelegate.getInitialContext(WLInitialContextFactoryDelegate.java:368)
         at weblogic.jndi.Environment.getContext(Environment.java:315)
         at weblogic.jndi.Environment.getContext(Environment.java:285)
         at weblogic.jndi.WLInitialContextFactory.getInitialContext(WLInitialContextFactory.java:117)
         at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:667)
         at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:288)
         at javax.naming.InitialContext.init(InitialContext.java:223)
         at javax.naming.InitialContext.<init>(InitialContext.java:197)
         at weblogic.management.remote.common.ClientProviderBase.makeConnection(ClientProviderBase.java:177)
         at weblogic.management.remote.common.ClientProviderBase.newJMXConnector(ClientProviderBase.java:83)
         at javax.management.remote.JMXConnectorFactory.newJMXConnector(JMXConnectorFactory.java:338)
         at javax.management.remote.JMXConnectorFactory.connect(JMXConnectorFactory.java:247)
         at weblogic.management.mbeanservers.runtime.internal.RegisterWithDomainRuntimeService.getDomainMBeanServerConnection(RegisterWithDomainRuntimeService.java:216)
         at weblogic.management.mbeanservers.runtime.internal.RegisterWithDomainRuntimeService.notifyDomainRuntime(RegisterWithDomainRuntimeService.java:136)
         at weblogic.management.mbeanservers.runtime.internal.RegisterWithDomainRuntimeService.start(RegisterWithDomainRuntimeService.java:90)
         at weblogic.management.mbeanservers.runtime.internal.RegisterWithDomainRuntimeServiceLate.start(RegisterWithDomainRuntimeServiceLate.java:17)
         at weblogic.t3.srvr.SubsystemRequest.run(SubsystemRequest.java:64)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
    Caused By: java.net.ConnectException: t3://[2001:0:4137:9e76:ca8:13a3:f5f5:e749]:7050: Destination unreachable; nested exception is:
         java.net.ConnectException: Connection timed out: connect; No available router to destination
         at weblogic.rjvm.RJVMFinder.findOrCreateInternal(RJVMFinder.java:216)
         at weblogic.rjvm.RJVMFinder.findOrCreate(RJVMFinder.java:170)
         at weblogic.rjvm.ServerURL.findOrCreateRJVM(ServerURL.java:153)
         at weblogic.jndi.WLInitialContextFactoryDelegate.getInitialContext(WLInitialContextFactoryDelegate.java:353)
         at weblogic.jndi.Environment.getContext(Environment.java:315)
         at weblogic.jndi.Environment.getContext(Environment.java:285)
         at weblogic.jndi.WLInitialContextFactory.getInitialContext(WLInitialContextFactory.java:117)
         at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:667)
         at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:288)
         at javax.naming.InitialContext.init(InitialContext.java:223)
         at javax.naming.InitialContext.<init>(InitialContext.java:197)
         at weblogic.management.remote.common.ClientProviderBase.makeConnection(ClientProviderBase.java:177)
         at weblogic.management.remote.common.ClientProviderBase.newJMXConnector(ClientProviderBase.java:83)
         at javax.management.remote.JMXConnectorFactory.newJMXConnector(JMXConnectorFactory.java:338)
         at javax.management.remote.JMXConnectorFactory.connect(JMXConnectorFactory.java:247)
         at weblogic.management.mbeanservers.runtime.internal.RegisterWithDomainRuntimeService.getDomainMBeanServerConnection(RegisterWithDomainRuntimeService.java:216)
         at weblogic.management.mbeanservers.runtime.internal.RegisterWithDomainRuntimeService.notifyDomainRuntime(RegisterWithDomainRuntimeService.java:136)
         at weblogic.management.mbeanservers.runtime.internal.RegisterWithDomainRuntimeService.start(RegisterWithDomainRuntimeService.java:90)
         at weblogic.management.mbeanservers.runtime.internal.RegisterWithDomainRuntimeServiceLate.start(RegisterWithDomainRuntimeServiceLate.java:17)
         at weblogic.t3.srvr.SubsystemRequest.run(SubsystemRequest.java:64)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
    Caused By: java.rmi.ConnectException: Destination unreachable; nested exception is:
         java.net.ConnectException: Connection timed out: connect; No available router to destination
         at weblogic.rjvm.ConnectionManager.bootstrap(ConnectionManager.java:464)
         at weblogic.rjvm.ConnectionManager.bootstrap(ConnectionManager.java:315)
         at weblogic.rjvm.RJVMManager.findOrCreateRemoteInternal(RJVMManager.java:254)
         at weblogic.rjvm.RJVMManager.findOrCreate(RJVMManager.java:197)
         at weblogic.rjvm.RJVMFinder.findOrCreateRemoteServer(RJVMFinder.java:238)
         at weblogic.rjvm.RJVMFinder.findOrCreateInternal(RJVMFinder.java:200)
         at weblogic.rjvm.RJVMFinder.findOrCreate(RJVMFinder.java:170)
         at weblogic.rjvm.ServerURL.findOrCreateRJVM(ServerURL.java:153)
         at weblogic.jndi.WLInitialContextFactoryDelegate.getInitialContext(WLInitialContextFactoryDelegate.java:353)
         at weblogic.jndi.Environment.getContext(Environment.java:315)
         at weblogic.jndi.Environment.getContext(Environment.java:285)
         at weblogic.jndi.WLInitialContextFactory.getInitialContext(WLInitialContextFactory.java:117)
         at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:667)
         at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:288)
         at javax.naming.InitialContext.init(InitialContext.java:223)
         at javax.naming.InitialContext.<init>(InitialContext.java:197)
         at weblogic.management.remote.common.ClientProviderBase.makeConnection(ClientProviderBase.java:177)
         at weblogic.management.remote.common.ClientProviderBase.newJMXConnector(ClientProviderBase.java:83)
         at javax.management.remote.JMXConnectorFactory.newJMXConnector(JMXConnectorFactory.java:338)
         at javax.management.remote.JMXConnectorFactory.connect(JMXConnectorFactory.java:247)
         at weblogic.management.mbeanservers.runtime.internal.RegisterWithDomainRuntimeService.getDomainMBeanServerConnection(RegisterWithDomainRuntimeService.java:216)
         at weblogic.management.mbeanservers.runtime.internal.RegisterWithDomainRuntimeService.notifyDomainRuntime(RegisterWithDomainRuntimeService.java:136)
         at weblogic.management.mbeanservers.runtime.internal.RegisterWithDomainRuntimeService.start(RegisterWithDomainRuntimeService.java:90)
         at weblogic.management.mbeanservers.runtime.internal.RegisterWithDomainRuntimeServiceLate.start(RegisterWithDomainRuntimeServiceLate.java:17)
         at weblogic.t3.srvr.SubsystemRequest.run(SubsystemRequest.java:64)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
    >
    ####<6 Jun, 2010 10:21:24 PM IST> <Info> <EJB> <Animesh-PC> <soa_server1> <[ACTIVE] ExecuteThread: '22' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <11d1def534ea1be0:6769899f:1290e25048c:-7ffd-000000000000000b> <1275843084870> <BEA-010060> <The Message-Driven EJB: MessageDispatcherBean has connected/reconnected to the JMS destination: OraSDPM/Queues/OraSDPMAppDefRcvQ1.>
    ####<6 Jun, 2010 10:21:25 PM IST> <Info> <EJB> <Animesh-PC> <soa_server1> <[ACTIVE] ExecuteThread: '22' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <11d1def534ea1be0:6769899f:1290e25048c:-7ffd-000000000000000b> <1275843085066> <BEA-010060> <The Message-Driven EJB: TestFwkEmulatorBean has connected/reconnected to the JMS destination: jms/testfwk/TestFwkQueue.>
    ####<6 Jun, 2010 10:21:25 PM IST> <Info> <EJB> <Animesh-PC> <soa_server1> <[ACTIVE] ExecuteThread: '22' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <>
    >
    Now it is still taking a lot of time to be in up state.After the soa_server1 is up I logged in em console but there was no soa-infra in the em console and also soa_server1 was showing down.The settings that I changed were remove the association of machine of soa_server1.
    Regards
    Animesh Roy

Maybe you are looking for