Cursor_Sharing = Force and queries with literal comparisons forcing FTS

Hi all

I have the following scenario:

  • Oracle 11.2.0.3
  • A 3rd party application, requiring cursor_sharing = TRUE
  • A table (T2310) with an indexed field (C1000000161), which has no duplicate values
  • Cause the Mode Cache = force (don't think it's relevant in the present case, but its here to justify its appearance in the explain output)

In this scenario, the 3rd party application run queries like the one below (I have to use the trick here, given that the explanation will not show the FTS):

        SQL> select /*+ GATHER_PLAN_STATISTICS */ C1000000161 
        > from aradmin.T2310 
        > where C1000000161 = 'INC000002137945' or ('a' = 'b');

This type of query will eventually force a full table scan:

    SQL> SELECT * FROM table(DBMS_XPLAN.DISPLAY_CURSOR(FORMAT=>'ALLSTATS LAST'));

    PLAN_TABLE_OUTPUT
    --------------------------------------------------------------------------------------------------------------------
    SQL_ID  f3njwvkb0yf1x, child number 0
    -------------------------------------
    select /*+ GATHER_PLAN_STATISTICS */ C1000000161 from
    aradmin.T2310 where C1000000161 = :"SYS_B_0" or (:"SYS_B_1"
    = :"SYS_B_2")

    Plan hash value: 1862236576

    --------------------------------------------------------------------------------------------------------------------
    | Id  | Operation          | Name                       | Starts | E-Rows | A-Rows |   A-Time   | Buffers | Reads  |
    --------------------------------------------------------------------------------------------------------------------

    PLAN_TABLE_OUTPUT
    --------------------------------------------------------------------------------------------------------------------
    |   0 | SELECT STATEMENT   |                            |      1 |        |      0 |00:03:00.20 |    3964K|    161K|
    |   1 |  RESULT CACHE      | bkhyzz7n945syc4numpbs27y20 |      1 |        |      0 |00:03:00.20 |    3964K|    161K|
    |*  2 |   TABLE ACCESS FULL| T2310                      |      1 |  44030 |      0 |00:03:00.20 |    3964K|    161K|
    --------------------------------------------------------------------------------------------------------------------

    Predicate Information (identified by operation id):
    ---------------------------------------------------

       2 - filter((:SYS_B_1=:SYS_B_2 OR "T2310"."C1000000161"=:SYS_B_0))

    Result Cache Information (identified by operation id):

    PLAN_TABLE_OUTPUT
    --------------------------------------------------------------------------------------------------------------------
    ------------------------------------------------------

       1 -

As we can see in the explanation, literals are replaced with bind variables, and I think that it is forcing the FTS. If you remove the literal comparison, the index is used as intended.

So my question is: is it possible to avoid this behavior on the side of the database?

Thank you!

As you say, we have two possible plans, we want to either that each row in the table or we want to use our predicate of the column. If we let the plan for both possibilities should have acceptable performance for the typical case (: SYS_B_1<>: SYS_B_2) and correct the results in the case of equality.

If sql is rewritable I would do something like

Select / * + GATHER_PLAN_STATISTICS * / C1000000161
of t2310
where C1000000161 =: b1
and (: b2 <> : b3 or: b2 is null or: b3 is null)
Union of all the
Select C1000000161
of t2310
where: = b2: b3;

The or_expand indicator (undocumented, but I find it more easy to set use_concat) could be useful to force the regime to take this shape without having to rewrite the query.

create table t2310 (pk_col, C1000000161 VARCHAR2 (100 CHAR), constraint t2310_pk primary key (pk_col));
create index t2310_161 on t2310 (C1000000161);
Insert into t2310
Select rownum, dbms_random.string ('U', 3) | To_char(rowNum,00000000000000)
of the double
connect by rownum<=>
commit;
exec dbms_Stats.gather_Table_stats (user, 't2310')
ALTER session set cursor_sharing = force;

Select / * + OR_EXPAND(t2310 C1000000161) GATHER_PLAN_STATISTICS * / C1000000161
of t2310
where C1000000161 = 'INC000002137946' or ("a" = "b");
SELECT * FROM table (DBMS_XPLAN. DISPLAY_CURSOR (FORMAT-ONLINE 'ALLSTATS LAST'));

Hash value of plan: 928588817

-------------------------------------------------------------------------------------------
| ID | Operation | Name | Begins | E - lines. A - lines.  A - time | Pads |
-------------------------------------------------------------------------------------------
|  0 | SELECT STATEMENT |          |      1.        |      0 | 00:00:00.01 |      2.
|  1.  CONCATENATION.          |      1.        |      0 | 00:00:00.01 |      2.
|*  2 |  INDEX RANGE SCAN | T2310_161 |      1.      6.      0 | 00:00:00.01 |      2.
|*  3 |  FILTER |          |      1.        |      0 | 00:00:00.01 |      0 |
|*  4 |    TABLE ACCESS FULL | T2310 |      0 |  99994 |      0 | 00:00:00.01 |      0 |
-------------------------------------------------------------------------------------------

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

2 - access("C1000000161"=:SYS_B_0)
3 - filter(:SYS_B_1=:SYS_B_2)
4 filter (LNNVL ("C1000000161" =: SYS_B_0))

Now, you can use a plan for this sql database attach to the sql application:

Select / * + GATHER_PLAN_STATISTICS * / C1000000161
of t2310
where C1000000161 = 'INC000002137946' or ("a" = "b");
SELECT * FROM table (DBMS_XPLAN. DISPLAY_CURSOR (FORMAT-ONLINE 'ALLSTATS LAST'));

Hash value of plan: 1862236576

-------------------------------------------------------------------------------------
| ID | Operation | Name | Begins | E - lines. A - lines.  A - time | Pads |
-------------------------------------------------------------------------------------
|  0 | SELECT STATEMENT |      |      1.        |      0 | 00:00:00.03 |    248.
|*  1 |  TABLE ACCESS FULL | T2310 |      1.  1006 |      0 | 00:00:00.03 |    248.
-------------------------------------------------------------------------------------

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

1 Filter ((: SYS_B_1 =: SYS_B_2 or "C1000000161" =: SYS_B_0))

@sql_find t2310

CHILD_NUMBER PLAN_HASH_VALUE LAST_ACTIVE_TIME EXECUTIONS SQL_TEXT SQL_ID
------------- ------------ --------------- ------------------- ---------- ----------------------------------------------------------------------------------------------------
34k49g78s1w5w 453626665 04/01/2016 0 22:55:11 1 Select / * + no_parallel_index (t, "T2310_PK") cursor_sharing_exact use_weak_name_resl dyn dbms_stats
cnsa5smf77n8w 2274106110 04/01/2016 0 22:55:11 1 Select / * + no_parallel_index (t, "T2310_161") use_weak_name_resl cursor_sharing_exact, dbms_stats dy
1cyhgv72abcf5 928588817 04/01/2016 0 22:55:11 1 Select / * + OR_EXPAND(t2310 C1000000161) GATHER_PLAN_STATISTICS * / t2310 C1000000161 where C1000
gv84zvt3hagrk 1862236576 04/01/2016 0 22:55:11 1 Select / * + GATHER_PLAN_STATISTICS * / C1000000161 t2310 where C1000000161 =: 'SYS_B_0' or (: "SYS)
2z5dv340ttwc3 0 0 01/04/2016-22:55:11 1 BEGIN dbms_Stats.gather_Table_stats (user, 't2310'); END;

number of plans of var
exec: plans: = dbms_spm.load_plans_from_cursor_cache(sql_id=>'gv84zvt3hagrk',plan_hash_value=>1862236576)

print plans
PLANS
--------
1

Select the SQL_HANDLE column, plan_name, sql_Text dba_sql_plan_baselines;

SQL_HANDLE PLAN_NAME SQL_TEXT
------------------------------ ------------------------------ ---------------------------------------------------------
SQL_32cad750b449f08a SQL_PLAN_35kqra2u4mw4a24696a58 select / * + GATHER_PLAN_STATISTICS * / C1000000161
of t2310
where C1000000161 =
               
               
exec: plans: = dbms_spm.load_plans_from_cursor_cache (sql_id-online '1cyhgv72abcf5', plan_hash_value-online 928588817, sql_handle => 'SQL_32cad750b449f08a')
Select the SQL_HANDLE column, plan_name, sql_Text dba_sql_plan_baselines;
SQL_HANDLE PLAN_NAME SQL_TEXT
------------------------------ ------------------------------ -----------------------------------------------------
SQL_32cad750b449f08a SQL_PLAN_35kqra2u4mw4a24696a58 select / * + GATHER_PLAN_STATISTICS * / C1000000161
of t2310
where C1000000161 =

SQL_32cad750b449f08a SQL_PLAN_35kqra2u4mw4af7b73bde select / * + GATHER_PLAN_STATISTICS * / C1000000161
of t2310
where C1000000161 =

exec: plans: = dbms_spm.alter_sql_plan_baseline(sql_handle=>'SQL_32cad750b449f08a',plan_name=>'SQL_PLAN_35kqra2u4mw4a24696a58',attribute_name=>'enabled',attribute_value=>'NO')

Select / * + GATHER_PLAN_STATISTICS * / C1000000161
of t2310
where C1000000161 = 'INC000002137946' or ("a" = "b");
SELECT * FROM table (DBMS_XPLAN. DISPLAY_CURSOR (FORMAT-ONLINE 'ALLSTATS LAST'));

Hash value of plan: 928588817

-------------------------------------------------------------------------------------------
| ID | Operation | Name | Begins | E - lines. A - lines.  A - time | Pads |
-------------------------------------------------------------------------------------------
|  0 | SELECT STATEMENT |          |      1.        |      0 | 00:00:00.01 |      2.
|  1.  CONCATENATION.          |      1.        |      0 | 00:00:00.01 |      2.
|*  2 |  INDEX RANGE SCAN | T2310_161 |      1.      6.      0 | 00:00:00.01 |      2.
|*  3 |  FILTER |          |      1.        |      0 | 00:00:00.01 |      0 |
|*  4 |    TABLE ACCESS FULL | T2310 |      0 |  99994 |      0 | 00:00:00.01 |      0 |
-------------------------------------------------------------------------------------------

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

2 - access("C1000000161"=:SYS_B_0)
3 - filter(:SYS_B_1=:SYS_B_2)
4 filter (LNNVL ("C1000000161" =: SYS_B_0))

Note
-----
-Basic plan SQL SQL_PLAN_35kqra2u4mw4af7b73bde used for this statement

As you can see, line 4 is running at all because of the filter in line 3 (start = 0 where id = 4)

Tags: Database

Similar Questions

  • Prechecks and disadvantage of cursor_sharing = force


    Hi all

    OS: ALL

    DB: 11 GR 2

    I tried searching on the net, but couldn't get an answer satsfying. I need to know before I ask the FastInventory cursor_sharing = force, what everything has to be consider?

    In addition, what is the downside to this patrameter as Force?

    Thank you!

    Your understanding is not correct.

    parameter to force cursor_sharing is a temporary workaround for when your application uses bind variables. What will happen, is that internally, Oracle will take each literal and automagically turn it into a variable binding for you, even when it should not be a binding variable (for example, when you use an unchanging constant in a query). There are two drawbacks that I know (and have seen in the past in real situations):

    (1) you really a unchanging constant in a query, and changing to a variable binding can lead to choose a suboptimal Oracle plan.

    (2) expressions such as SUBSTR (column, 1, 5) is transformed into SUBSTR (column,: SYS_B0,: SYS_B1), which means that tools no longer know that the phrase is 5 characters. I've seen reports of customers because of this break.

    CURSOR_SHARING should serve as a temporary crutch while fix you your application to use bind variables.

  • HP 550: updated hp 550 memory and cpu with the unconventional settings. is not ideal, but not other choice

    HI guys, I hope you can help or at least give a point in the right direction. I am a freelance photographer with a large part of the suite creative Adobe CS6. After a disaster of a week, I came home to find the motherboard on my editing station is fried somehow. I don't know what happened though I wouldn't put past my inattention of roommates.
    I'm desperate. I have to finish my current job until I'm able to afford to buy a replacement. So I have to rely on stop-gap measures, in desperation to finish my project, that are less than ideal, but so far are doing better than I'd hoped.
    Im a photographer, Capture One, Adobe Photoshop Lightroom, Adobe Photoshop and Premiere Pro are the go for workaholic applications that I need to work. without them I have no income. in order to have this machine run these applications,
    the machine I have left is an old hp 550 that was gathering dust in the closet. It was built for 32 bit Win XP and in no case is designed to run adobe products food pork I use, particularly of Lightroom.
    Unfortunately PS with Lightroom and first are 64-bit programs and LR and first are hyper threaded. so I did some research and with the help of the list of the utility windows 7 Advisor to upgrade instructions, I was able to get windows 7 Pro 64-bit to install and run.

    I know that this is not the ideal machine or the situation, but for a few weeks, I need to make it work.

    I really just 2 simple questions. First of all, I went to the HP technical support. but they were not useful. as the guarantee of the laptop are long gone, they would be not even polite and basically told me to shove off. Then on another forum, I called back and comes with a knowledge it all who constantly insisted on the fact that there was no way no how this pc could run 64 bit win 7, which i thought what am I seeing things? It works very well for 3 months. So I decided to come to you. your forums were useful on many occasions.

    Basically, I need this machine to run these programs during the next month or two, until I can buy a new machine.

    essentially, what I want to know, it's the motherboard support an upgrade of the processor? and if anything goes, what do you suggest as a substitute, given my needs? The Core 2 duo is the bare minimum of what I can limp with like photo/video rendering times are excessively slow.

    then I was talking to the support staff essential tech upgraded memory. and possibly set the bios to force to run 8 gigs of ram. They said that they have cold cannot find any version of bios that would make that possible, but only by forcing already run 64 bit, which has already allowed the pc to use the full 4 GB of ram, which was impossible in the 32-bit format. He suggested that I buy 2 4 gig modules such as 4 GB DDR2 PC2-5300 unbuffered NON - ECC, 1.8V 512Meg x 64 which can be seen at http://www.crucial.com/usa/en/memory/ct51264ac667 and try to install the full 8 concerts and see what would happen, saying that he had a feeling that I might get lucky. his logic is that the 64-bit system already open the ram limits and who knows, you can't make an omelet without cracking of eggshells! It seemed very optimistic. So, what do you think? It seems likely you because I love to work. or do you think the guy was a quack? and this whole endeaver is a waste of time and money?

    also, any other suggestions on how to time this month long storm that do not involve suggestions of buying new machines would be appreciated!

    so that you have accurate details below are my system specs.

    Hewlett-Packard HP 550 F05
    System serial number: CNU90716GN
    Inventory number: CNU90716GN
    Chassis serial number: CNU90716GN
    Case type: portable

    Windows 7 Professional (x 64) Service Pack 1 (build 7601)
    Install language: English (United States)
    Local system: English (United States)
    Installed: 04/08/2014-18:21:11
    Start mode: BIOS (Secure Boot not supported)

    Processor and b main circuit
    1.80 GHz Intel Core2 Duo processor
    cache of 64 kilobytes main memory
    secondary memory 2048 k-cached
    64-bit ready
    Multi-core (2 total)
    Not hyper-threaded Board: Hewlett - Packard 3618 KBC Version xx.xx
    The bus clock: 200 MHz
    BIOS: Hewlett-Packard 68MVU worm. F05 19/01/2009

    Readers of memory Modules c and d
    2320.47 GB drive hard usable capacity
    959.16 gigabytes of free disk space

    HL-DT-ST DVDRAM GSA - T50L ATA Device [scanner]

    Hitachi HTS543216L9A300 [hard drive] (160,04 GB) - drive 0, s/n 090108FB0200VCCPYM3B, rev FB2OC40F, SMART location: healthy
    ST1000LM 024 HN-M101MBB USB Device [hard drive] (1000,20 GB) - drive 3
    ST310005 USB Device [hard drive] 28as - 1 player
    WD 1600JS external USB Device [hard drive] (160,04 GB) - disc 2, s/n WD - WCANM2342148 4088 usable MB installed memory

    Slot ' DIMM #1' has 2048 MB (serial number 0000202 A).
    Slot ' DIMM #2' has 2048 MB (serial number 00004042).

    Thank you friends! I can't wait to read your tips!

    Jodie

    Here is the Manual:

    Repair manuals

    Unfortunately, the maximum configuration is a processor T5670 1.8 ghz and 4 GB of DDR2-667 memory, you already have. The CPU includes the 64-bit instructions is not surprising, that it can run Windows 7 64-bit. My best advice is to save your money for when you can get a real working machine. The only other likely to help is a solid state drive, you might use in the laptop and then also use the new computer that you intend to buy.

    If it's 'the Answer' please click on 'Accept as Solution' to help others find it.

  • I left my laptop in the car overnight, and it froze. (literally) It lights up. What should I do?

    I left my laptop (HP TouchSmart tx2) in the car during the night and it froze, literally. It lights (or even try to). He has been inside, in my office for a little more than an hour now. I'll let you rest more at room temperature. But if she still won't turn, what should I do? Please don't tell me that I killed him. I love this laptop. :'(

    Hello:

    I'm removing the battery if it is not too late and let the PC to reach room temperature.

    I think that the condensation formed throughout the laptop due to sudden temp changes to in the specifications of the extreme cold, warm.

    With the battery, which could be pretty short condensation.

    If it does not start within hours, well...

    Paul

  • Help to combine the two queries with dependencies

    Combining two queries with dependencies:
    First ask: Returns USER_ID that has a type of access to a table with the OWNER (I also shoot the TLA of the USER_ID standard: ' of TLA #)

    Select distinct SUBSTR (DBA_USERS. Username, 2, 3) AS TLA

    DBA_USERS. Username USED_ID

    DBA_TAB_PRIVS. Owner OWNER

    from DBA_USERS

    DBA_ROLE_PRIVS

    DBA_TAB_PRIVS

    where DBA_USERS. Username = DBA_ROLE_PRIVS. Dealer

    and DBA_USERS.default_tablespace not in ('SYSTEM', "SYSAUX")

    and DBA_USERS. Username like would be %'

    and DBA_ROLE_PRIVS. Granted_role = DBA_TAB_PRIVS. Dealer

    and SUBSTR (DBA_USERS. Username, 2, 3) <>DBA_TAB_PRIVS. Owner

    ;

    Example of results (red font used in the last citation):

    TLA USED_ID OWNER

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

    DGTX999 GTX GRR

    DGTX999 GTX ABG

    DGTX999 GTX HTC

    FWS DFWS999 GRR

    OCN DOCN999 GRR

    RHR DRHR999 DAS

    ETM DETM999 DAS

    FWS DFWS995 DAS

    CD DCDS999 DAS

    ABE DABE999 DAS



    Second request: matches the USER name (same standards as above) and MACHINES (filter PC connections) and the number of connections made of

    Select DBA_USERS. Username

    DBA_HIST_ACTIVE_SESS_HISTORY. Machine

    COUNT (*) AS CONN_COUNT

    of DBA_HIST_ACTIVE_SESS_HISTORY

    DBA_USERS

    where DBA_HIST_ACTIVE_SESS_HISTORY. User_id = DBA_USERS. User_id

    and DBA_USERS. Username like would be %'

    and DBA_HIST_ACTIVE_SESS_HISTORY. Machine not as "WINAD%\%-%".

    Group of DBA_USERS. Username

    DBA_HIST_ACTIVE_SESS_HISTORY. Machine

    order by 1

    3 desc;

    Example of results (red font used in the last citation):

    MACHINE CONN_COUNT USERNAME

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

    DFWS999 home13e0 7557

    DGAM800 vu1246 37

    DGAM999 vu1246 2558

    DABE999 back18cb 4639

    DINL888 home162f 84

    DFWS999 WINDAD\OMHQ58BF 178

    DCDS999 back18cb 788

    DGTX999 home18c8 7

    DGTX999 home13d3 62

    DOCN999 vu1261 44

    DFWS999 back1976 3

    DCDS999 home18c8 173

    DGTX999 home19c9 13

    What I'd like to have (just made two first USER_IDs from the first query) (COL duplicated for each separate owner 1-4).  So 3 machines and 3 owners would result in 9 lines (I could reorganize the collar and use a 'pause'):

    TLA USED_ID MACHINE CONN_COUNT OWNER

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

    GTX DGTX999 home13d3 62 GRR

    Home18c8 GTX DGTX999 7 GRR

    DGTX999 GTX home19c9 GRR 6

    GTX DGTX999 home13d3 62 ABG

    DGTX999 GTX home18c8 ABG 7

    DGTX999 GTX home19c9 6 GBS

    GTX DGTX999 home13d3 62 CTH

    DGTX999 GTX HTC 7 home18c8

    DGTX999 GTX home19c9 6 HTC

    FWS DFWS999 home13e0 7557 GRR

    FWS DFWS999 WINDAD\OMHQ58BF 178 GRR

    FWS DFWS999 back1976 GRR 3


    So it would be logically read: TLA as USER_ID of MACHINE, CONN_COUNT consultation times: OWNER information.

    Thought as only those with the necessary values. Just try this and let me know in the case of all conflicts in the output.

    WITH T1 AS)

    Select distinct SUBSTR (DBA_USERS. Username, 2, 3) AS TLA

    DBA_USERS. Username USED_ID

    DBA_TAB_PRIVS. Owner OWNER

    ROWNUM RN

    from DBA_USERS

    DBA_ROLE_PRIVS

    DBA_TAB_PRIVS

    where DBA_USERS. Username = DBA_ROLE_PRIVS. Dealer

    and DBA_USERS.default_tablespace not in ('SYSTEM', "SYSAUX")

    and DBA_USERS. Username like would be %'

    and DBA_ROLE_PRIVS. Granted_role = DBA_TAB_PRIVS. Dealer

    and SUBSTR (DBA_USERS. Username, 2, 3) <> DBA_TAB_PRIVS. Owner),

    () AS T2

    Select DBA_USERS. Username

    DBA_HIST_ACTIVE_SESS_HISTORY. Machine

    COUNT (*) AS CONN_COUNT

    of DBA_HIST_ACTIVE_SESS_HISTORY

    DBA_USERS

    where DBA_HIST_ACTIVE_SESS_HISTORY. User_id = DBA_USERS. User_id

    and DBA_USERS. Username like would be %'

    and DBA_HIST_ACTIVE_SESS_HISTORY. Machine not as "WINAD%\%-%".

    Group of DBA_USERS. Username

    DBA_HIST_ACTIVE_SESS_HISTORY. Machine

    order by 1

    3 desc)

    SELECT T1. TLA

    ,         T1. USED_ID

    ,         T2. MACHINE

    ,         T2. CONN_COUNT

    ,         T1. OWNER

    FROM T1

    T2

    WHERE T1. USED_ID = T2. USER NAME;

  • Reg: Cardinality Feedback for queries with variable bind

    Hi all

    One of my query (having no bind variables) takes a lot of time (10 minutes) to run for the second run.

    I came to know that its due to the feedback of the cardinality.

    I disabled _optimer_use_feedback for help and the query has been run within 2 seconds.

    If I disable _optimizer_use_feedback at the instance level, is there a problem for queries with variable bind?

    > Sorry! I'm not suppose to disclose the NAMES OF THE TABLES

    OK, no problem and I take this restriction as a chance to learn what is cardinality comments, and similar expressions.  Now, since you can't explain post program for our help, I would try to explain what is comments of cardinality and similar expressions: (since you did not mention Oracle version, so I guess it's 11.2.0.1)

    In the Oracle 11.2.0.1 database some SQL statements returns significantly different lines i.e. for some SQL statements earlier execution plan there are has 100 lines by optimizer in the first plan of execution and, where the same SQL statement executed, based optimizer 1000 lines.  This happens because of several cursors for child for a single SQL statement and change bind peeking, collection of statistics, characteristic of re-optimizing 11.2.0.1, permission to referenced objects, ACS (Adaptive Cursor sharing) etc.  The preaching of changes to lines due to above reasons as well regarding also the SQL statements that are not contains the variable i.e. AKA vibration cardinality of liaison function.

    I will highly recommend to read other links below:

    Cardinality feedback | Notebook of the Oracle

    http://www.centrexcc.com/tuning%20by%20Cardinality%20Feedback.ppt.PDF

    https://blogs.Oracle.com/optimizer/entry/cardinality_feedback

    Concerning

    Girish Sharma

  • BAD RESULTS WITH OUTER JOINS AND TABLES WITH A CHECK CONSTRAINT

    HII All,
    Could any such a me when we encounter this bug? Please help me with a simple example so that I can search for them in my PB.


    Bug:-8447623

    Bug / / Desc: BAD RESULTS WITH OUTER JOINS AND TABLES WITH a CHECK CONSTRAINT


    I ran the outer joins with check queries constraint 11G 11.1.0.7.0 and 10 g 2, but the result is the same. Need to know the scenario where I will face this bug of your experts and people who have already experienced this bug.


    Version: -.
    SQL> select * from v$version;
    
    BANNER
    --------------------------------------------------------------------------------
    Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - 64bit Production
    PL/SQL Release 11.1.0.7.0 - Production
    CORE    11.1.0.7.0      Production
    TNS for Solaris: Version 11.1.0.7.0 - Production
    NLSRTL Version 11.1.0.7.0 - Production

    Why do you not use the description of the bug test case in Metalink (we obviously can't post it here because it would violate the copyright of Metalink)? Your test case is not a candidate for the elimination of the join, so he did not have the bug.

    Have you really read the description of the bug in Metalink rather than just looking at the title of the bug? The bug itself is quite clear that a query plan that involves the elimination of the join is a necessary condition. The title of bug nothing will never tell the whole story.

    If you try to work through a few tens of thousands of bugs in 11.1.0.7, of which many are not published, trying to determine whether your application would be affected by the bug? Wouldn't be order of magnitude easier to upgrade the application to 11.1.0.7 in a test environment and test the application to see what, if anything, breaks? Understand that the vast majority of the problems that people experience during an upgrade are not the result of bugs - they are the result of changes in behaviour documented as changes in query plans. And among those who encounter bugs, a relatively large fraction of the new variety. Even if you have completed the Herculean task of verifying each bug on your code base, which would not significantly easier upgrade. In addition, at the time wherever you actually performed this analysis, Oracle reportedly released 3 or 4 new versions.

    And at this stage would be unwise to consider an upgrade to 11.2?

    Justin

  • New version of firefox, constantly keeps popping up a message asking me to "Bring your bookmarks and passwords with you." I am currently working. He's already seen

    WIndows 7, Firefox 42.0
    New version of firefox, constantly keeps popping up a message asking me to "Bring your bookmarks and passwords with you." I am currently working. It shows me once then stop. OFF to Chrome I guess

    Sorry, this is a message from the heart function. She undergoes a bug right now. Better to turn it off if you can get immediate relief.

    To turn off the heart rate:
    Talk openly about: config config in a tab, then search for browser.selfsupport.url and double click on it and set it to an empty value.

    You may need to restart Firefox for the changes to take effect.

  • Index and MATCH with several conditions

    Hi all! I hope I can explain what I'm trying to do here clearly. This is my first shot:

    In the table below "Office entry Worksheet - area 1" I am trying to insert a formula in column B which will result in an answer ' true / false ' and be used for conditional highlighting

    The first condition that must be met is that the checkbox in the table "Labor and material Checklist" column A or check, if it is not checked, then move to the next line. If the box is checked, then the following condition would need to index and match with column C of table "Office entry Worksheet - area 1" in column B. If there is a match in column C, then move to the next line of column B in the table 'labor and material Checklist '. This continues until there is a 'match', then highlight column B in the table "entry Office sheet - surface 1" in red (or something like "MISSING task")

    It is an estimate and the idea is to ensure that the Phases that are checked in the table "Labor and material Checklist" will not miss when you use the table "entry office map - zone 1".

    Thank you very much for your help!

    Tim

    Is it possible that I can download this spreadsheet file?

  • Synchronization of e-mail and contacts with icloud

    I have an iphoneSE c. 9.3 (last updated) and win 10 computers.  I want to synchronize my computer messaging and contacts with my phone.  I need to create an e-mail for this icloud account?  Also, I'm confused by what I should turn on or off in the settings.

    Just set up the e-mail account with the same information on your computer to your phone:

    Set up an e-mail account on your iPhone, iPad or iPod touch - Apple...

    This discussion might help the synchronization of contacts:

    How can I sync my Iphone contacts with laptop running Windows 7

  • is there a difference between 38 and 42mm with their pixel density?

    is there a difference between 38 and 42mm with their pixel density? the 38mm and 42mm watches have same interns?

    You can see the technical details of the Apple Watch here. Apple - Support - technical specifications

  • With this new firefox updated. The (enter private browsing) is gone and replaced with (new private window). It is sort of back enter private browsing?

    With this new firefox updated. The (enter private browsing) is gone and replaced with (new private window). It is sort of back enter private browsing?

    You can drag links to the private browsing window (hover the icon on the task bar for this update of the Firefox window).

    If you drop the link on an empty space on the tab bar, then the link should open in a new tab.

  • I created a custom and registered with a specific name date format. However, when I open a new worksheet, my saved format does not display in the menu drop-down? Am hoping that I don't need to create the same format for each new sheet?

    I created a custom and registered with a specific name date format. However, when I open a new worksheet, my saved format does not appear in the menu drop-down? Am hoping that I don't need to create the same format for each new sheet?

    You must save the spreadsheet containing the new date as a model format and use this custom template for each new spreadsheet where you want that this date format personalized at your disposal.

  • Have Windows 7 running on Parallels Desktop with a Mac. Get "setup.exe is not a valid Win32 application" when trying to download a program with Windows Explorer. I can download from these sites with Vista and XP with other computers.

    Have Windows 7 running on Parallels Desktop with a Mac. Get "setup.exe is not a valid Win32 application" when trying to download a program with Windows Explorer. I can download from these sites with Vista and XP with other computers. Now, I can't download the programs that are supposed to solve the problem! including FoxFire

    Try to download from this site:

  • Have problems and questions with Time Capsule were addressed in any significant way. Reluctant to buy according to your comments.

    Have problems and questions with Time Capsule was dealt with in a meaningful way? Reluctant to buy according to your comments.

    Apple did not have any material changes to the time Capsule to nearly 3 years. The only change that has occurred in the last 18 months or so is a firmware update to address security issues.

Maybe you are looking for

  • Re: map Verbatim Micro SDHC 8 GB recognized as 1 GB Micro SDHC Card

    Dear all, A "new" VERBATIM 8 GB Micro SDHC Card is recognized only 1 GB in my T130 / WIN 7 - pretty funny: a "new" SANDISC 8 GB SDHC card is recognized as 8 GBWhat I can do here to use the VERBATIM card? Any feedback is very appreciated Ciao, Gerhard

  • Equium L10-300 - Bios is not fully ACPI-compatible

    Hello Can help with this problem?It is said on a blue screen when I start my laptop: this Bios is not fully ACPI comliant. It was in windows xp.Recently upgraded to windows 7 but hey ho always the same error. All the bios etc, usual default settings

  • HP Pavilion dv6-6160se: could not find PCI Simple Communications Controller

    Hello I just reinstall windows 7-64 bit and it has this damage that I can not find the suitable driver for. I can't find the PCI of Simple Communications controller on(HP Pavilion dv6-6160se) with this code: PCI\VEN_8086 & DEV_1C3A & SUBSYS_3388103C

  • Help please! Photosmart HP 6510 does not print

    Thank you for taking the time to read this. I had my HP Photosmart for about 6 months and it has worked well in the past by for the last two months, I can't get anything to print. If I send something to print the printer icon jumps up and down (and d

  • HP Slate 7 and freezing with a screen of pixely

    I got the slate for more than 6 months, and every once in a while it crashes and the screen is all pixely. I have not seen anyone another post about this, so I wonder if it's just my tablet.  He also loses the Wi - Fi every time within a certain time