DBAsupport.com Forums - Powered by vBulletin
Results 1 to 9 of 9

Thread: Different results on 9i and 10g

Threaded View

  1. #2
    Join Date
    Mar 2007
    Location
    Ft. Lauderdale, FL
    Posts
    3,555
    You are in troubles my fried, in my environment both versions of Oracle return the expected results...

    I'm sorry but the closest versions I could get are 9.2.0.4.0 and 10.2.0.2.0

    >>> Ora9i <<<

    Code:
    Connected to:
    Oracle9i Enterprise Edition Release 9.2.0.4.0 - 64bit Production
    With the Partitioning, OLAP and Oracle Data Mining options
    JServer Release 9.2.0.4.0 - Production
    
    SQL> set linesize 180
    SQL> set pagesize 0
    SQL> 
    SQL> CREATE TABLE ADDRESS_TEST ( ADDR_ID NUMBER NOT NULL, ENT_ID NUMBER NOT NULL, ADDR1 VARCHAR2(255
    ), ADDR2 VARCHAR2(255), 
      2  ADDR3 VARCHAR2(255), CITY VARCHAR2(255), STATE VARCHAR2(255), COUNTRY VARCHAR2(100), 
      3  COUNTRY_CODE VARCHAR2(6), POSTAL_CODE VARCHAR2(20), SYS_DELETE_DT DATE) ;
    
    Table created.
    
    SQL> CREATE INDEX IX_ADDRESS_test_ADDR1 ON ADDRESS_TEST(UPPER(ADDR1)) ;
    
    Index created.
    
    SQL> CREATE INDEX IX_ADDR_test_CT_ST_CTRY ON ADDRESS_TEST(UPPER(CITY), UPPER(STATE), UPPER(COUNTRY))
     ;
    
    Index created.
    
    SQL> CREATE INDEX IX_ADDR_ENT ON ADDRESS_test(ENT_ID) REVERSE;
    
    Index created.
    
    SQL> ALTER TABLE ADDRESS_test ADD CONSTRAINT PK_ADDR_test PRIMARY KEY(addr_ID) USING INDEX;
    
    Table altered.
    
    SQL> Insert into ADDRESS_TEST values (1, 1,'123 Main street', null, null,'Las Vegas', 'nv', 'USA', '
    us', '89119', null);
    
    1 row created.
    
    SQL> Insert into ADDRESS_TEST values (2, 1,'123 Main street', null, null,'Las Vegas', 'NV', 'USA', '
    us', '89074', null);
    
    1 row created.
    
    SQL> SELECT  ENT_ID 
      2  FROM    ADDRESS_test 
      3  WHERE  (UPPER(CITY) LIKE upper('Las%') AND UPPER(STATE) = upper('nv') AND SYS_DELETE_DT IS NULL
     )
      4      OR (UPPER(POSTAL_CODE) = '99999' AND SYS_DELETE_DT IS NULL)
      5      OR (UPPER(POSTAL_CODE) = '99999' AND SYS_DELETE_DT IS NULL)
      6  ;
             1
             1
    
    SQL> SELECT  ENT_ID 
      2  FROM    ADDRESS_test 
      3  WHERE  (UPPER(CITY) LIKE upper('Las%') AND UPPER(STATE) = upper('nv') AND SYS_DELETE_DT IS NULL
     )
      4      OR (UPPER(POSTAL_CODE) = '89119' AND SYS_DELETE_DT IS NULL)
      5      OR (UPPER(POSTAL_CODE) = '89074' AND SYS_DELETE_DT IS NULL)
      6  ;
             1
             1
    
    SQL> SELECT  ENT_ID 
      2  FROM    ADDRESS_test 
      3  WHERE  (UPPER(CITY) LIKE upper('Las%') AND UPPER(STATE) = upper('nv') AND SYS_DELETE_DT IS NULL
     )
      4      OR (UPPER(POSTAL_CODE) = '89119' AND SYS_DELETE_DT IS NULL);
             1
             1
    
    SQL>

    >>> Ora10g <<<

    Code:
    Connected to:
    Oracle Database 10g Enterprise Edition Release 10.2.0.2.0 - 64bit Production
    With the Partitioning, OLAP and Data Mining options
    
    SQL> CREATE TABLE ADDRESS_TEST ( ADDR_ID NUMBER NOT NULL, ENT_ID NUMBER NOT NULL, ADDR1 VARCHAR2(255
    ), ADDR2 VARCHAR2(255), 
      2  ADDR3 VARCHAR2(255), CITY VARCHAR2(255), STATE VARCHAR2(255), COUNTRY VARCHAR2(100), 
      3  COUNTRY_CODE VARCHAR2(6), POSTAL_CODE VARCHAR2(20), SYS_DELETE_DT DATE) ;
    
    Table created.
    
    SQL> CREATE INDEX IX_ADDRESS_test_ADDR1 ON ADDRESS_TEST(UPPER(ADDR1)) ;
    
    Index created.
    
    SQL> CREATE INDEX IX_ADDR_test_CT_ST_CTRY ON ADDRESS_TEST(UPPER(CITY), UPPER(STATE), UPPER(COUNTRY))
     ;
    
    Index created.
    
    SQL> CREATE INDEX IX_ADDR_ENT ON ADDRESS_test(ENT_ID) REVERSE;
    
    Index created.
    
    SQL> ALTER TABLE ADDRESS_test ADD CONSTRAINT PK_ADDR_test PRIMARY KEY(addr_ID) USING INDEX;
    
    Table altered.
    
    SQL> Insert into ADDRESS_TEST values (1, 1,'123 Main street', null, null,'Las Vegas', 'nv', 'USA', '
    us', '89119', null);
    
    1 row created.
    
    SQL> Insert into ADDRESS_TEST values (2, 1,'123 Main street', null, null,'Las Vegas', 'NV', 'USA', '
    us', '89074', null);
    
    1 row created.
    
    SQL> SELECT  ENT_ID 
      2  FROM    ADDRESS_test 
      3  WHERE  (UPPER(CITY) LIKE upper('Las%') AND UPPER(STATE) = upper('nv') AND SYS_DELETE_DT IS NULL
     )
      4      OR (UPPER(POSTAL_CODE) = '99999' AND SYS_DELETE_DT IS NULL)
      5      OR (UPPER(POSTAL_CODE) = '99999' AND SYS_DELETE_DT IS NULL)
      6  ;
    
        ENT_ID
    ----------
             1
             1
    
    SQL> SELECT  ENT_ID 
      2  FROM    ADDRESS_test 
      3  WHERE  (UPPER(CITY) LIKE upper('Las%') AND UPPER(STATE) = upper('nv') AND SYS_DELETE_DT IS NULL
     )
      4      OR (UPPER(POSTAL_CODE) = '89119' AND SYS_DELETE_DT IS NULL)
      5      OR (UPPER(POSTAL_CODE) = '89074' AND SYS_DELETE_DT IS NULL)
      6  ;
    
        ENT_ID
    ----------
             1
             1
    
    SQL> SELECT  ENT_ID 
      2  FROM    ADDRESS_test 
      3  WHERE  (UPPER(CITY) LIKE upper('Las%') AND UPPER(STATE) = upper('nv') AND SYS_DELETE_DT IS NULL
     )
      4      OR (UPPER(POSTAL_CODE) = '89119' AND SYS_DELETE_DT IS NULL);
    
        ENT_ID
    ----------
             1
             1

    I would open a TAR with Oracle including full listing of your case study showing the issue along side with event 10046/10053 traces.
    Last edited by PAVB; 08-23-2007 at 11:38 AM.
    Pablo (Paul) Berzukov

    Author of Understanding Database Administration available at amazon and other bookstores.

    Disclaimer: Advice is provided to the best of my knowledge but no implicit or explicit warranties are provided. Since the advisor explicitly encourages testing any and all suggestions on a test non-production environment advisor should not held liable or responsible for any actions taken based on the given advice.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  


Click Here to Expand Forum to Full Width