Partitioning strategy for the OBIEE query performance

I use partitioning for the first time and I'll have trouble determining if I partition my fact table in a way that will allow the partition size to work with queries generating OBIEE.  I've set up a simple example using query I wrote to illustrate my problem.  In this example, I have a star with a fact table schema and I join in two dimensions.  My fact table is partitioned on JOB_ID and TIME_ID RANGE LIST and those are the keys that link the two dimensions that I use in this application.


Select sum (boxbase)

TEST_RESPONSE_COE_JOB_QTR a

Join DIM_STUDY C on A.job_id = C.job_id

Join DIM_TIME B on A.response_time_id = B.time_id

where C.job_name = "FY14 CSAT"

and B.fiscal_quarter_name = ' quarter 1';


What can I say, because the query is in fact done filtering on columns in the dimensions instead of they, the columns in the table, the size isn't actually is happening.  I see actually slightly better performance of a non-partitioned table, even though I wrote this application specifically for partitioning strategy which is now in place.


If I run the next statement, it runs a lot faster and a plan to explain is very simple and it seems to me that it's size down to a partition of sub as I hoped.  This isn't any query generated by OBIEE how will seem so.


Select sum (boxbase)

of TEST_RESPONSE_COE_JOB_QTR

where job_id = 101123480

and response_time_id < 20000000;


Any suggestions?  I get some benefits from the exchange of partition by using this configuration, but if I'm going to sacrifice performance reports then that maybe isn't useful, or at the very least, I would need to get rid of my partitions void if they are not providing any benefit.


Here are the plans to explain that I got for two queries in my original post:

Operation

Name of the object

Lines

Bytes

Cost

Object node

In/Out

PStart

PStop

INSTRUCTION SELECT optimizer Mode = ALL_ROWS


1


20960





AGGREGATION OF TRI


1

13






VIEW

SYS. VW_ST_5BC3A99F

101 K

1 M

20960





NESTED LOOPS


101 K

3 M

20950





PARTITION LIST SUBQUERY


101 K

2 M

1281



KEY (SUBQUERY)

KEY (SUBQUERY)

RANGE OF PARTITION SUBQUERY


101 K

2 M

1281



KEY (SUBQUERY)

KEY (SUBQUERY)

CONVERSION OF BITMAP IN ROWID


101 K

2 M

1281





BITMAP AND









MERGE TO BITMAP IMAGE









KEY ITERATION BITMAP









BUFFER









INDEX SKIP SCAN

CISCO_SYSTEMS. DIM_STUDY_UK

1

17

1





BITMAP INDEX RANGE SCAN

CISCO_SYSTEMS. FACT_RESPONSE_JOB_ID_BMID_12






KEY

KEY

MERGE TO BITMAP IMAGE









KEY ITERATION BITMAP









BUFFER









VIEW

CISCO_SYSTEMS.index$ _join$ _052

546

8 K

9





HASH JOIN









INDEX RANGE SCAN

CISCO_SYSTEMS. DIM_TIME_QUARTER_IDX

546

8 K

2





INDEX FULL SCAN

CISCO_SYSTEMS. TIME_ID_PK

546

8 K

8





BITMAP INDEX RANGE SCAN

CISCO_SYSTEMS. FACT_RESPONSE_TIME_ID_BMIDX_11






KEY

KEY

TABLE ACCESS BY ROWID USER

CISCO_SYSTEMS. TEST_RESPONSE_COE_JOB_QTR

1

15

19679



ROWID

L LINE









Operation

Name of the object

Lines

Bytes

Cost

Object node

In/Out

PStart

PStop

INSTRUCTION SELECT optimizer Mode = ALL_ROWS


1


1641





AGGREGATION OF TRI


1

13






SIMPLE LIST OF PARTITION


198 K

2 M

1641



KEY

KEY

RANGE OF SINGLE PARTITION


198 K

2 M

1641



1

1

TABLE ACCESS FULL

CISCO_SYSTEMS. TEST_RESPONSE_COE_JOB_QTR

198 K

2 M

1641



36

36


It seems unreasonable to think that relying on our index in a table partitioned (or partitioned in a way only focused on the help of ETL) can actually work better than partitioning in a way that we could get some size dynamic, but never static pruning?

Yes - standard tables with indexes can often outperform partitioned tables. It all depends on types of queries and predicates to query which are typically used and the number of rows returned in general.

Size of the partition eliminates the partitions TOGETHER - regardless of the number of rows in the partition or table. An index, on the other hand, is prohibited if the query predicate needs a significant number of lines since Oracle can determine that the cost is lower simply use close readings and make a full scan.

A table with 1 million rows and a query predicate who wants 100 K of them probably will not use an index at all. But the same table with two partitions could easily have one of the partitions pruned by the "number of effective lines" only 500 k or less.

If you are partitioning for performance, you should test your critical queries to make sure partitioning/pruning is effective for them.

Select sum (boxbase)

TEST_RESPONSE_COE_JOB_QTR a

Join DIM_STUDY C on A.job_id = C.job_id

Join DIM_TIME B on A.response_time_id = B.time_id

where C.job_name = "FY14 CSAT"

and B.fiscal_quarter_name = ' quarter 1';

So, what is a typical value for 'A.response_time_id '? That represents a 'B.time_id '?

Because a way of providing explicit partition keys may be to use a range of 'response_time_id' of the FACT table rather than a value of 'fiscal_quarter_name' of the DIMENSION table.

If "1 quarter" could correspond to a range of dates from 01/01/YYYY ' at ' 03/31/yyyy '. "."

Also, you said that on the partitioning: JOB_ID and TIME_ID

But if your questions relate mainly to the DATES / TIMES, you might be better use the TIME_ID for PARTITIONS and JOB_ID, if necessary, for the subpartitioning.

Date range partitioning is one of the most common around.and serves both performance and ease of maintenance (delete/archive old data).

Tags: Database

Similar Questions

  • explain plan for the same query diff

    Hi experts,

    Please, help me understand explain the plan.  I have tow Server (server and two server). The server are same table, even the type of database, even version Oracle (gr 11 (2), same operating system (linux Redhat 5.5) and same table and index.

    but when I explain the plan for the same query on the two server. I got diff--diff to explain the plan. reason it has different, according to my understanding, it should be same. explain please, I share the explain plan and lower indices for the two server.

    Server a

    SQL > col COLUMN_NAME format a20

    SQL > select index_name, column_name, position_colonne from user_ind_columns where table_name = 'LOAN_RUNNING_DETAILS_SOUTH"of order 1.

    INDEX_NAME COLUMN_NAME POSITION_COLONNE

    ------------------------------ -------------------- ---------------

    DATE_IND1_S LOANDATETIME 1

    IND_MSI_LN_LNS1_S MSISDN 1

    IND_MSI_LN_LNS1_S LOANDATETIME 2

    IND_MSI_LN_LNS1_S LOANSTATUS 3

    LAST_INDEX L_INDX_MSISDN_S 1

    MSISDN L_INDX_MSISDN_S 2

    SQL > select decode (status, 'N/a', 'Part Hdr', 'Global') ind_type, index_name, NULL nom_partition, status

    2 from user_indexes where table_name = 'LOAN_RUNNING_DETAILS_SOUTH '.

    3 union

    4. Select 'Local' ind_type, index_name, nom_partition, status

    5 to user_ind_partitions where index-name in (select index_name in user_indexes where table_name = 'LOAN_RUNNING_DETAILS_SOUTH')

    6 order of 1,2,3;

    IND_TYPE INDEX_NAME NOM_PARTITION STATUS

    -------- ------------------------------ ------------------------------ --------

    Global DATE_IND1_S VALID

    Global IND_MSI_LN_LNS1_S VALID

    Global L_INDX_MSISDN_S VALID

    SQL > explain plan for the small circle of MSISDN, TID, of LOAN_RUNNING_DETAILS_SOUTH where LOANDATETIME < = sysdate-2 and LOANDATETIME > sysdate-15 and LOANTYPE = 1;

    He explained.

    SQL > SQL > set line 200

    @?/rdbms/admin/utlxpls.sql

    SQL >

    PLAN_TABLE_OUTPUT

    --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    Hash value of plan: 3659874059

    ------------------------------------------------------------------------------------------------------------------

    | ID | Operation | Name                       | Lines | Bytes | Cost (% CPU). Time | Pstart. Pstop |

    ------------------------------------------------------------------------------------------------------------------

    |   0 | SELECT STATEMENT |                            |  1448K |    58 M | 21973 (2) | 00:04:24 |       |       |

    |*  1 |  FILTER |                            |       |       |            |          |       |       |

    |   2.   PARTITION LIST ALL |                            |  1448K |    58 M | 21973 (2) | 00:04:24 |     1.    11.

    |*  3 |    TABLE ACCESS FULL | LOAN_RUNNING_DETAILS_SOUTH |  1448K |    58 M | 21973 (2) | 00:04:24 |     1.    11.

    ------------------------------------------------------------------------------------------------------------------

    PLAN_TABLE_OUTPUT

    --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    Information of predicates (identified by the operation identity card):

    ---------------------------------------------------

    1 - filter(SYSDATE@!-2>SYSDATE@!-15)

    3 - filter("LOANTYPE"=1 AND "LOANDATETIME">SYSDATE@!-15 AND "LOANDATETIME"<=SYSDATE@!-2)

    16 selected lines.

    Second server

    SQL > select index_name, column_name, position_colonne from user_ind_columns where table_name = 'LOAN_RUNNING_DETAILS_SOUTH"of order 1.

    INDEX_NAME COLUMN_NAME POSITION_COLONNE

    ------------------------------ -------------------- ---------------

    DATE_IND1_S LOANDATETIME 1

    IND_MSI_LN_LNS1_S MSISDN 1

    IND_MSI_LN_LNS1_S LOANDATETIME 2

    IND_MSI_LN_LNS1_S LOANSTATUS 3

    LAST_INDEX L_INDX_MSISDN_S 1

    MSISDN L_INDX_MSISDN_S 2

    SQL > select decode (status, 'N/a', 'Part Hdr', 'Global') ind_type, index_name, NULL nom_partition, status

    2 from user_indexes where table_name = 'LOAN_RUNNING_DETAILS_SOUTH '.

    Union

    3 4 Select 'Local' ind_type, index_name, nom_partition, status

    5 to user_ind_partitions where index-name in (select index_name in user_indexes where table_name = 'LOAN_RUNNING_DETAILS_SOUTH')

    6 order of 1,2,3;

    IND_TYPE INDEX_NAME NOM_PARTITION STATUS

    -------- ------------------------------ ------------------------------ --------

    Global DATE_IND1_S VALID

    Global IND_MSI_LN_LNS1_S VALID

    Global L_INDX_MSISDN_S VALID

    SQL > explain plan for the small circle of MSISDN, TID, of LOAN_RUNNING_DETAILS_SOUTH where LOANDATETIME < = sysdate-2 and LOANDATETIME > sysdate-15 and LOANTYPE = 1;

    SQL > set line 200

    @?/rdbms/admin/utlxpls.sql

    SQL >

    PLAN_TABLE_OUTPUT

    --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    Hash value of plan: 1161680601

    ----------------------------------------------------------------------------------------------------------------------------------

    | ID | Operation | Name                       | Lines | Bytes | Cost (% CPU). Time | Pstart. Pstop |

    ----------------------------------------------------------------------------------------------------------------------------------

    |   0 | SELECT STATEMENT |                            |     2.    84.     5 (0) | 00:00:01 |       |       |

    |*  1 |  FILTER                             |                            |       |       |            |          |       |       |

    |*  2 |   TABLE ACCESS BY INDEX ROWID | LOAN_RUNNING_DETAILS_SOUTH |     2.    84.     5 (0) | 00:00:01 | ROWID | ROWID |

    |*  3 |    INDEX RANGE SCAN | DATE_IND1_S |     2.       |     3 (0) | 00:00:01 |       |       |

    ----------------------------------------------------------------------------------------------------------------------------------

    PLAN_TABLE_OUTPUT

    --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    Information of predicates (identified by the operation identity card):

    ---------------------------------------------------

    1 - filter(SYSDATE@!-2>SYSDATE@!-15)

    2 - filter ("LOANTYPE" = 1)

    3 - access("LOANDATETIME">SYSDATE@!-15 AND "LOANDATETIME"<=SYSDATE@!-2)

    17 selected lines.

    Reg,

    Hard

    Hi , HemantKChitale,

    I also update statistics manual as you say, but not see 'TABLE ACCESS FULL' good result

    What should I do? my need of production tuning, but I cannot able tune this...

    SQL > exec dbms_stats.gather_table_stats (-online 'ttt' ownname, tabname => 'LOAN_RUNNING_DETAILS_SOUTH', cascade => TRUE, estimate_percent => NULL, method_opt => 'for all columns size 254', => of degree 4);

    PL/SQL procedure successfully completed.

    SQL > explain plan for the small circle of MSISDN, TID, of LOAN_RUNNING_DETAILS_SOUTH where LOANDATETIME<=sysdate-2 and="" loandatetime="">sysdate-15 and LOANTYPE = 1;

    He explained.

    SQL > set line 200

    @?/rdbms/admin/utlxpls.sql

    SQL >

    PLAN_TABLE_OUTPUT

    --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    Hash value of plan: 3659874059

    ------------------------------------------------------------------------------------------------------------------

    | ID | Operation | Name                       | Lines | Bytes | Cost (% CPU). Time | Pstart. Pstop |

    ------------------------------------------------------------------------------------------------------------------

    |   0 | SELECT STATEMENT |                            |  1874K |    75 M | 19626 (2) | 00:03:56 |       |       |

    |*  1 |  FILTER |                            |       |       |            |          |       |       |

    |   2.   PARTITION LIST ALL |                            |  1874K |    75 M | 19626 (2) | 00:03:56 |     1.    11.

    |*  3 |    TABLE ACCESS FULL | LOAN_RUNNING_DETAILS_SOUTH |  1874K |    75 M | 19626 (2) | 00:03:56 |     1.    11.

    ------------------------------------------------------------------------------------------------------------------

    PLAN_TABLE_OUTPUT

    --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    Information of predicates (identified by the operation identity card):

    ---------------------------------------------------

    1 - filter(SYSDATE@!-2>SYSDATE@!-15)

    3 - filter("LOANDATETIME">SYSDATE@!-15 AND "LOANTYPE"=1 AND "LOANDATETIME")<>

    16 selected lines.

  • Why I have two different execution plans for the same query on two different servers

    Hello everyone.

    I need your help to solve the problem quickly.

    In a nutshell, we have two servers that have the same version of Oracle RDBMS (11.2.0.4 EE). One of them for purposes of development and another is a production one.

    We have therefore two different execution plans for the same query executed on both servers. The only case of execution is OK and another is too slow.

    So I have to slow down the work of query using the same scheme to explain that young.

    Fence wire.

  • Strategy for the appropriate charging MacOS, MacPro 2008 3.0

    I recently bought a MacPro in early 2008 (3.0 Ghz) at a sale of surplus.

    The hard drive has been wiped, and no installation of MacOS disks have been included; So I need to use software to run it.

    What is my best strategy for loading software for this machine? Is there some version of Mac OS that I need to load at the beginning?

    When I start the mac and now pressed the keys command + R, it seems to be an accessible partition, named "System of Base of Mac OS X" in the disk1 directory. Is this some kind of way to re-install some version of the operating system?

    Thank you

    JeffroBro

    P.S. I also bought a 2009 MacPro 2.66 Ghz with a similar situation (erased the hard drive, no software disc). What is my best approach to the MacOS for this loading machine? Thank you.

    When I start the mac and now pressed the keys command + R, it seems to be an accessible partition, named "System of Base of Mac OS X" in the disk1 directory. Is this some kind of way to re-install some version of the operating system?

    Have you tried selecting to boot from?

    Mac OS pre-installed: X 10.5.1 (B 9, 2117) Maximum MacOS: X 10.11.x

    specs.html http://www.everymac.com/Systems/Apple/Mac_pro/specs/Mac-Pro-Eight-Core-3.0-2008-

    You could buy DVDs of a10.6 on the Apple Store & once installed & updated 10.6.8 you can upgtade more far.

    Preinstalled MacOS:X 10.5.6 (9 G 3553) MacOS:X maximum 10.11.x *.

    http://www.EveryMac.com/systems/Apple/Mac_pro/specs/Mac-Pro-Quad-Core-2.66-early - 2009-nehalem - specs.html

    Same disc should work on both.

    Looks like they had yet he...

    http://store.Apple.com/us/product/MC573Z/A?FNODE=MTY1NDAzOA

  • The BLASTP_ALIGN query performance decreases as increases the size table Ref?

    Newbie here.

    I'm using Oracle 11.2.0.3.

    I am currently running and a loop through the cursor according to who uses the tool BLASTP_ALIGN from Oracle:

    FOR MyALIGN_TAB IN

    (

    Select a.query_string, H.AA_SEQUENCE target_string, t_seq_id, pct_identity, alignment_length, incompatibilities, positive, gap_openings, gap_list, q_seq_start, q_frame, q_seq_end, t_seq_start, t_seq_end, t_frame, score, wait

    from (select t_seq_id, pct_identity, alignment_length, incompatibilities, positive, gap_openings, gap_list, q_seq_start, q_frame, q_seq_end, t_seq_start, t_seq_end, t_frame, score, wait

    table (BLASTP_ALIGN ((p_INPUT_SEQUENCE SELECT query_string FROM DUAL),

    CURSOR (Select GB_ACCESSION, AA_SEQUENCE from HUMAN_DB1. HUMAN_PROTEINS),

    1-1, 0, 0, 'PAM30',. 1, 10, 1, 2, 0, 0)

    )

    ),

    (SELECT p_INPUT_SEQUENCE FROM DUAL Query_string).

    HUMAN_DB1. HUMAN_PROTEINS H

    WHERE UPPER (t_seq_id) = UPPER (H.gb_accession) and gap_openings = 0

    )

    LOOP


    This initial query works relatively well (about 2 seconds) on a table target of approximately 20,000 documents (reproduced above, as the HUAMN_DB1. Table HUMAN_PROTEINS. However, if I had to choose a selected target table that contains approximately 170 000 records, the query performance are significantly reduced in about 45 seconds. The two tables have identical ratings.


    I was wondering if there are ways to improve the performance of BLASTP_ALIGN on large tables? There only seems to be a lot of documentation on BLASTP_ALIGN. I could find this (http://docs.oracle.com/cd/B19306_01/datamine.102/b14340/blast.htm), but it wasn't that useful.


    Any ideas would be greatly appreciated.



    In case one is interested... it looked like the AA_SEQUENCE column in the following slider: SLIDER (Select GB_ACCESSION, AA_SEQUENCE from HUMAN_DB1. HUMAN_PROTEINS) was a CLOB field. In my second target, my column correspodoning table was VARCHAR2. One hypothesis is that BLASTP_ALIGN made a VARCHAR2-> CLOB conversion internally. I changed the table to have a CLOB column and with success against BLASTP_ALIGN 170 000 documents about 8 seconds (not much, but better than 45).

    I will mark it as answered.

  • best backup strategy for the hotel management system

    Hello
    I have a fresh dba and I need to set a backup strategy for a HOTEL of Mr. must be available 24/7.
    Kindly help me and let me know if you need additional information.

    In your case the most appropriate b/s is with Rman. For this, you need to enable the database to archivelog mode. Each time, you need to copy past files archivelog (and rman full backup of database if you wish) generated after that full backup rman was made. Realize you must have as a minimum a full backup rman, all archivelogfiles has been generated since that time.
    There is also another way to take backup: hot backup. (read more in documentation Ora). But be aware that this will affect database performance while the backup is taken. And it would be a little more difficult for you.
    But if you're not allowed to activate mode archive so the only way is to take the datapump files each time.

  • Will there be any tools avialable to the on query performance tuning

    Hello

    How to tune a database query?
    Suppose that there are basic query "select * from emp where empid = '1101' ';"

    Y at - it all avilabale tools to suggest performance Tuning on a query?

    How can I resolve this application, and what is the best approach on this?

    Please share your ideas and thanks.

    Oracle provides tools such as SQL Trace and TKPROF. For the information on a SQL query.

    But basically, you should know how oracle works. You must be aware of the different access plans and know why they are being used.

    You need to know when to use an index and when not to use a.

    There are many more. Best thing for you would be to start reading the document.

  • How to override the default styleClass for the af:query component?

    In my entire application, I disabled the labels selectOneChoice and selectOneRadio using the default style class,

    TD.af_selectOneChoice_label > label, td.af_selectOneRadio_label > label {}

    display: none;

    }

    Now, for af:query component, I need to display the label. How to replace the above-mentioned styleclass? My version of jdev is 11.1.1.7.0

    Try this-

    AF | {selectOneChoice::label}

    display: none;

    }

    This hides the label of choice list all except those who are inside the af: query


    Ashish

  • Remove empty space for the search query entry

    Hi guys, I am currently using JDeveloper 11.1.2.1.0

    I created a search with the use of criteria to display, query and table, which works perfectly with success.

    But I would like to improve the research by removing the empty space for the entry. For example, search for the name (with the search operator = Contains):

    Entry: Adam-> Works Fine!
    Entered: < space > < space > Adam not work :(

    I would like to remove the empty space at the beginning of the end (trim()) part of the entry.

    Any suggestion or comments?

    Please take a look at this thread
    publish in the search criteria for the ADF

    Seems to be the same requirement.

    concerning
    Peter

  • Please send me selection for the following query statement...

    FOR I IN 1.9 LOOP
    IF shift (i) IS NULL THEN
    FOR y IN i + 1.9 LOOP
    IF shift (y) IS NOT NULL THEN
    (I) shift: shift = (y);
    Shift (y): = NULL;
    EXIT;
    END IF;
    END LOOP;
    END IF;
    END LOOP;



    Please how to write the select query to replace the lines of code above

    Please proceed here complete and this code did SHIFT here.

  • The execution plan changes for the same query.

    Hi all

    This issue was raised before also, but still not able to find the real cause of this.

    Thread1:
    Re: Research of fragmentation of the table in Oracle 8.1.6.3.0

    Thread2:
    CBC latch and buffer busy await you on the same table.

    It comes, sometimes hammers server 100% CPU utilization with free latch and buffer busy wait events.

    We found a single query consumes high CPU usage that is run by different sessions.

    This query have two types of execution plans, where one is accurate and is not (its primary key hit index index no appropriate means present on the table)

    Because its primary key index hit repeatedly at various sessions, some sessions are powerful db file sequential read and a few sessions waiting buffer busy waits for event. Also during this time a few sessions waiting for latch free event.

    My doubt is how to sql even with different literal values execution plan changes and causes a prob.
    select count(*),event from v$session_wait group by event;
      COUNT(*) EVENT
    ---------- ----------------------------------------------------------------
           165 SQL*Net message from client
             1 SQL*Net message to client
             3 buffer busy waits
             2 db file parallel read
            18 db file sequential read
            10 latch free
             5 log file sync
             1 pmon timer
             6 rdbms ipc message
             1 smon timer
    
    SQL> select sid from v$session_wait where event='db file sequential read';
           SID
    ----------
            26
            58
            82
           107
           116
           223
           212
           203
           192
           173
           161
           157
           150
           147
           254
           238
           229
           112
           101
            81
            68
    
    SQL> select spid, sid, s.serial#, p.program from v$session s, v$process p where paddr=addr and sid=&SID;
    Enter value for sid: 161
    old   1: select spid, sid, s.serial#, p.program from v$session s, v$process p where paddr=addr and sid=&SID
    new   1: select spid, sid, s.serial#, p.program from v$session s, v$process p where paddr=addr and sid=161
    
    SPID             SID    SERIAL# PROGRAM
    --------- ---------- ---------- ------------------------------------------------
    4231             161      49569 oracle@tfrdb3 (TNS V1-V3)
    
    
    SQL> select sql_text
    from v$process a,
         v$session b,  2    3
         v$sql c
    where a.addr = b.paddr and
         b.sql_hash_value = c.hash_value and
        a.spid = &PID;  4    5    6    7
    Enter value for pid: 4231
    old   7:     a.spid = &PID
    new   7:     a.spid = 4231
    
    SQL_TEXT
    --------------------------------------------------------------------------------
    SELECT ERROR,TIME_STAMP,O_RESOURCE,QUEUE,NEW_QUEUE FROM LOG WHERE ID = '09292AMR
    10B41FE' AND TYPE IN (11, 28, 25, 18, 60, 13) AND (LOG_SEQ>'234225222' OR TYPE =
     18 AND LOG_SEQ='234225222') ORDER BY TIME_STAMP ASC
    
    SQL> set autotrace traceonly exp
    SQL> SELECT ERROR,TIME_STAMP,O_RESOURCE,QUEUE,NEW_QUEUE FROM amrwf1.LOG WHERE ID = '09292AMR10B41FE' AND TYPE IN (11, 28, 25, 18, 60, 13) AND (LOG_SEQ>'234225222' OR TYPE =18 AND LOG_SEQ='234225222') ORDER BY TIME_STAMP ASC;
    
    Execution Plan
    ----------------------------------------------------------
       0      SELECT STATEMENT Optimizer=CHOOSE (Cost=11 Card=2 Bytes=126)
       1    0   SORT (ORDER BY) (Cost=11 Card=2 Bytes=126)
       2    1     CONCATENATION
       3    2       TABLE ACCESS (BY INDEX ROWID) OF 'LOG' (Cost=4 Card=1
              Bytes=63)
    
       4    3         INDEX (UNIQUE SCAN) OF 'PK_LOG_LOG_SEQ' (UNIQUE) (Co
              st=3 Card=1)
    
       5    2       TABLE ACCESS (BY INDEX ROWID) OF 'LOG' (Cost=4 Card=1
              Bytes=63)
    
       6    5         INDEX (RANGE SCAN) OF 'PK_LOG_LOG_SEQ' (UNIQUE) (Cos
              t=3 Card=1)
    
    
    SQL> select spid, sid, s.serial#, p.program from v$session s, v$process p where paddr=addr and sid=&SID;
    Enter value for sid: 147
    old   1: select spid, sid, s.serial#, p.program from v$session s, v$process p where paddr=addr and sid=&SID
    new   1: select spid, sid, s.serial#, p.program from v$session s, v$process p where paddr=addr and sid=147
    
    SPID             SID    SERIAL# PROGRAM
    --------- ---------- ---------- ------------------------------------------------
    6255             147      38306 oracle@tfrdb3 (TNS V1-V3)
    
    SQL> select sql_text
    from v$process a,
         v$session b,
         v$sql c  2    3
    where a.addr = b.paddr and
         b.sql_hash_value = c.hash_value and
        a.spid = &PID;  4    5    6    7
    Enter value for pid: 6255
    old   7:     a.spid = &PID
    new   7:     a.spid = 6255
    
    SQL_TEXT
    --------------------------------------------------------------------------------
    SELECT ERROR,TIME_STAMP,O_RESOURCE,QUEUE,NEW_QUEUE FROM LOG WHERE ID = '09273AMR
    62B4894' AND TYPE IN (11, 28, 25, 18, 60, 13) AND (LOG_SEQ>'223324996' OR TYPE =
     18 AND LOG_SEQ='223324996') ORDER BY TIME_STAMP ASC
    
    
    SQL> set autotrace traceonly exp
    SQL> SELECT ERROR,TIME_STAMP,O_RESOURCE,QUEUE,NEW_QUEUE FROM amrwf1.LOG WHERE ID = '09273AMR62B4894' AND TYPE IN (11, 28, 25, 18, 60, 13) AND (LOG_SEQ>'223324996' OR TYPE =18 AND LOG_SEQ='223324996') ORDER BY TIME_STAMP ASC;
    
    Execution Plan
    ----------------------------------------------------------
       0      SELECT STATEMENT Optimizer=CHOOSE (Cost=1538 Card=736 Bytes=
              46368)
    
       1    0   SORT (ORDER BY) (Cost=1538 Card=736 Bytes=46368)
       2    1     TABLE ACCESS (BY INDEX ROWID) OF 'LOG' (Cost=1527 Card=7
              36 Bytes=46368)
    
       3    2       INDEX (RANGE SCAN) OF 'LOG_ID' (NON-UNIQUE) (Cost=32 C
              ard=736)
    
    
    
    SQL> select spid, sid, s.serial#, p.program from v$session s, v$process p where paddr=addr and sid=&SID;
    Enter value for sid: 82
    old   1: select spid, sid, s.serial#, p.program from v$session s, v$process p where paddr=addr and sid=&SID
    new   1: select spid, sid, s.serial#, p.program from v$session s, v$process p where paddr=addr and sid=82
    
    SPID             SID    SERIAL# PROGRAM
    --------- ---------- ---------- ------------------------------------------------
    6172              82      45378 oracle@tfrdb3 (TNS V1-V3)
    
    
    SQL> select sql_text
    from v$process a,
         v$session b,
         v$sql c
    where a.addr = b.paddr and
         b.sql_hash_value = c.hash_value and  2
      3      a.spid = &PID;  4    5    6    7
    Enter value for pid: 6172
    old   7:     a.spid = &PID
    new   7:     a.spid = 6172
    
    SQL_TEXT
    --------------------------------------------------------------------------------
    INSERT INTO LOG (ID,TIME_STAMP,TYPE,ERROR,INSTANCE,RULE_NUM,RULE_TYPE,PRIORITY,F
    LAGS,NAME,BATCH,O_RESOURCE,QUEUE,NEW_QUEUE,SERVER,FORM,WORKSET) VALUES (:V001,:V
    002,11,0,0,3,1,0,1,:V003,:V004,:V005,:V006,:V007,:V008,:V009,:V010)
    
    INSERT INTO LOG (ID,TIME_STAMP,TYPE,ERROR,INSTANCE,RULE_NUM,RULE_TYPE,PRIORITY,F
    LAGS,NAME,BATCH,O_RESOURCE,QUEUE,NEW_QUEUE,SERVER,FORM,WORKSET) VALUES (:V001,:V
    002,11,0,0,3,1,0,1,:V003,:V004,:V005,:V006,:V007,:V008,:V009,:V010)
    
    INSERT INTO LOG (ID,TIME_STAMP,TYPE,ERROR,INSTANCE,RULE_NUM,RULE_TYPE,PRIORITY,F
    LAGS,NAME,BATCH,O_RESOURCE,QUEUE,NEW_QUEUE,SERVER,FORM,WORKSET) VALUES (:V001,:V
    002,11,0,0,3,1,0,1,:V003,:V004,:V005,:V006,:V007,:V008,:V009,:V010)
    
    SQL_TEXT
    --------------------------------------------------------------------------------
    
    INSERT INTO LOG (ID,TIME_STAMP,TYPE,ERROR,INSTANCE,RULE_NUM,RULE_TYPE,PRIORITY,F
    LAGS,NAME,BATCH,O_RESOURCE,QUEUE,NEW_QUEUE,SERVER,FORM,WORKSET) VALUES (:V001,:V
    002,11,0,0,3,1,0,1,:V003,:V004,:V005,:V006,:V007,:V008,:V009,:V010)
    
    INSERT INTO LOG (ID,TIME_STAMP,TYPE,ERROR,INSTANCE,RULE_NUM,RULE_TYPE,PRIORITY,F
    LAGS,NAME,BATCH,O_RESOURCE,QUEUE,NEW_QUEUE,SERVER,FORM,WORKSET) VALUES (:V001,:V
    002,11,0,0,3,1,0,1,:V003,:V004,:V005,:V006,:V007,:V008,:V009,:V010)
    
    INSERT INTO LOG (ID,TIME_STAMP,TYPE,ERROR,INSTANCE,RULE_NUM,RULE_TYPE,PRIORITY,F
    LAGS,NAME,BATCH,O_RESOURCE,QUEUE,NEW_QUEUE,SERVER,FORM,WORKSET) VALUES (:V001,:V
    
    SQL_TEXT
    --------------------------------------------------------------------------------
    002,11,0,0,3,1,0,1,:V003,:V004,:V005,:V006,:V007,:V008,:V009,:V010)
    
    INSERT INTO LOG (ID,TIME_STAMP,TYPE,ERROR,INSTANCE,RULE_NUM,RULE_TYPE,PRIORITY,F
    LAGS,NAME,BATCH,O_RESOURCE,QUEUE,NEW_QUEUE,SERVER,FORM,WORKSET) VALUES (:V001,:V
    002,11,0,0,3,1,0,1,:V003,:V004,:V005,:V006,:V007,:V008,:V009,:V010)
    How to avoid this... why its different execution plan using (I mean bad index PK)

    Is it possible to avoid this?

    If any details please check out some of my previous post on this specific URL (above)

    -Yasser

    My doubt is how to sql even with different literal values execution plan changes and causes a prob.

    Different literal values cause analysis difficult.
    Hard analysis includes the re-evaluation of the best path.
    Literal value is included in the assessment of the selectivity for the scan interval (log_seq >...)

    See
    http://www.centrexcc.com/A%20Look%20under%20The%20Hood%20Of%20CBO%20-%20The%2010053%20Event.ppt.PDF
    http://www.centrexcc.com/fallacies%20Of%20The%20Cost%20Based%20Optimizer.PDF
    more the book of Jonathan Lewis which other threads, I believe that you already have.

    You must lower your CPU.
    Previous discussions, if the situation is still the same, it sounded like hard analysis particularly with this SELECTION against the NEWSPAPER plays an important role in that.

    How to avoid this... why its different execution plan using (I mean bad index PK)

    The points raised in the previous discussion remain valid.
    -Do you have access to this SQL to change?
    for example using bind variable or trick it if necessary due to problems caused by data as discussed in the previous thread.
    - Or you could it repoint the view to a view and a hint?
    -If a particular user makes this sql, could affect you cursor_sharing just for this user. If not, you should consider implementing pan-Canadian database.

    Oracle 8.1.6 still?

  • You have no lines for the SQL query to select

    Dear Sir.

    I don't want to choose these lines in the second query, please guide me how to do.

    Request-> 1

    (SELECT ID_NO, ATTND_DATE
        FROM ATTND_REGISTER 
        WHERE ATTND_DATE BETWEEN :FD AND :TD
        ORDER BY ID_NO, ATTND_DATE
    )AT
    

    A query result.

    ID_NOATTND_DATE
    E1FEBRUARY 1, 14
    E1FEBRUARY 2, 14
    E13 FEBRUARY 14
    E14 FEBRUARY 14
    E1FEBRUARY 5, 14
    E1FEBRUARY 6, 14
    E1FEBRUARY 7, 14
    E1FEBRUARY 8, 14
    E1FEBRUARY 9, 14
    E110 FEBRUARY 14
    E1FEBRUARY 11, 14
    E1FEBRUARY 12, 14
    E1FEBRUARY 13, 14
    E114 FEBRUARY 14
    E115 FEBRUARY 14
    E116 FEBRUARY 14
    E117 FEBRUARY 14
    E118 FEBRUARY 14
    E119 FEBRUARY 14
    E120 FEBRUARY 14
    E4FEBRUARY 1, 14
    E4FEBRUARY 2, 14
    E43 FEBRUARY 14
    E44 FEBRUARY 14
    E4FEBRUARY 5, 14

    Request-> 2

    : VALUE OF THE VARIABLE FD = 1 FEBRUARY 14

    : VALUE OF THE VARIABLE TD = FEBRUARY 28, 14 '

    SELECT A.ID_NO,B.DATES,A.EMP_NAME, A.DESG_NAME
    FROM
      (
        SELECT  ROWNUM - 1 + TO_DATE(:FD, 'DD/MM/RR') DATES
        FROM ALL_OBJECTS
        WHERE ROWNUM < TO_DATE(:TD, 'DD/MM/RR') - TO_DATE(:FD, 'DD/MM/RR') + 2
      )B,
    
    
      (
        SELECT ID_NO, INITCAP(FL_NAME) AS EMP_NAME, INITCAP(UBN.DESG_NAME(DESG_ID)) AS DESG_NAME
        FROM PERSONAL
        WHERE (STATUS = 'A')
        AND (COMPANY_CODE = :COMPANY_CODE)---COMPANY CODE=6
        AND (ID_NO = :ID_NO OR :ID_NO IS NULL)
      )A
    ORDER BY A.ID_NO,B.DATES;
    


    Solved

    I changed in the second query with using the first query.

    in Where Clause

    WHERE B.DATES | A.ID_NO NOT IN (SELECT ATTND_DATE |) NBI ID_NO. ATTND_REGISTER

    WHERE ATTND_DATE BETWEEN: FD AND: TD)

    Thank you Allah (SWT).

  • Strategy for the SSO with multiple vCenter servers.

    We are upgrading vSphere/SRM 5.0U1 for vSphere/SRM 5.5U1 with multiple vCenters in our environment. After reading 2058239 KB:

    VMware KB: installing vCenter Single Sign-On 5.5 on a Microsoft Windows platform

    We install SSO on a separate Windows Server and choose vCenter Single Sign-On for your first server vCenter Server for this first instance. Now my question is for the following facilities as the vCenter for MRS or vCenters which manages areas replacement fault which option, existing site or new, do we choose? Thank you


    You have therefore three sites.

    The first time, you will choose vCenter Single Sign-On for your first server vCenter Server.

    For the second one on the same site, you choose existing vCenter Single Sign-On for an additional vCenter Server in a site.

    Now, when you come to an another site vCenter and third, you will need to decide if you have a site that is your main or you want to still have a site on the second.

    If you decide to join at the elementary level, that you will yet choose existing vCenter Single Sign-On for an additional vCenter Server in a site.

    If you choose to have another site, you choose vCentre of Single Sign-On for an additional vCenter Server with a new site.

    The end of it, you will have to make the decision to design. I can only tell you what they mean. Make sure you have adequate connectivity between sites.

  • Strategy for the deployed application

    Hello

    I deployed a simple application to standalone WLS 10.3.5 in a mode of development.

    The application uses oracle/wss_username_token_over_ssl_client_policy for the spirit of the Web Service communication.

    When I opened the page, WLS generates the following error:

    PolicySet invalid: WSM-06102 PolicyReference reference URI "oracle/wss_username_token_over_ssl_client_policy" is not valid.

    What do I need to configure to ensure the validity of this policy?

    Thank you very much for the support

    Daniel

    Application of GOSA (wsm - MP) is not deployed in your WLS field or the data source "SDM-GOSA" is not targeted to the WLS managed server where you have deployed your application. If the "wsm - pm" application is not deployed in the area, you can deploy them by extending the WLS field with the "Oracle Policy Manager - WSM 11.x.x.x." model.

    Dimitar

  • What is the best strategy for the notes for ePub with Indesign?

    Hi, I created before .epubs.


    The fundamental question is this.

    When I export > ePub and display in the Adobe digital editions, I click on the reference number and nothing happens!


    Note 1

    A couple of days, it wasn't the case.

    I think the bottom has something to do with the question.

    I noticed that in the middle of the ebook, notes have been turned off by one.

    In Indesign, I manually changed all reference numbers in the foot and maybe that is the problem but I do not understand why.


    I think I should have been to change the note reference number in the content, not the footer.

    questions?  Why is it automatically refresh and fix all the notes.


    I read somewhere that I have deleted by mistake a reference in the footer, but that this does not update the reference number in the content.


    Note 2

    I created the ebooks in the past with success - workingfootnotes, but I'm rusty. Research online and in Adobetv and youtube, I didn't come on this question or tutorial.  I'm on cloud Adobe and using Indesign cc 2014.


    Note3.

    I went about creating an ebook in 2 different ways, and I do not remember why I did it differently or what is the best strategy.


    one.

    Each chapter and each page of the preliminary pages has been his own .indd

    and somehow I ended up together in a single file.

    Issue.  This has to do with the new > book. Rather than new > document?


    b.

    I have word for each page of preliminary pages and content documents.

    I PLACED the in my Indesign Document.

    I used paragraph styes to segment the ePub and use the chapter headings in my table of contents.


    Any questions about this process?

    I want each page specific issue before appearing as a new page and each chapter to start on a new page.

    I used export > options > split document but when I view it in ADE, they seem not to be new Pages.


    question?  What strategy is best?  Why?


    I appreciate the comments.

    There are a handful of individuals who are still monitoring and responding to this forum (4 years later) and I respect your advice.

    Regarding notes dialing number.

    • You mention that you use InDesign book to combine the different chapters in a single EPUB export: for each of these various documents, check the following: Type > Options Document reference. What is the number of defined starting to for each of the documents? They pursue all sequentially the last issue of the previous document in the book? It could be that you skipped a number there may be?
    • Otherwise by manually changing the numbers could inadvertently "broken" anything. You cannot manually select the number in the text of the note at the bottom of the page and change the number, that will not update the number of reference in the text. Your notes would be out.
    • My recommendation, in this case, I recommend that you re - insert references, to the help Type of InDesign help > Insert reference before you redo an EPUB export.

    On document splitting in some places:

    • When you enable Document Split, what other parameter did you get the permit?
    • If you are using based on the paragraph tag Style export, then to check export of marking of paragraph style settings in the Options of paragraph Style dialog box. is 'Split 'Document' option selected? AND in the different chapters and preliminary pages, check what paragraph style is applied to the first line of text in each paragraph must be broken. Each of them must have an applied paragraph style that has the ability to 'Split' "Document enabled.

    CARI

Maybe you are looking for