Local Domain Index  query fails with ora-01410: invalid rowid

Hello!
I have a task to implement partitioned domain index for range partitioned table.
As I understood from reference http://download.oracle.com/docs/cd/B28359_01/appdev.111/b28425/dom_idx.htm
the main difference is to provide support for partitioning operations by
implementing corresponding ODCI interface functions.
For the first I decided to create something simple to not spend time on system partitioned
index storage table. My problem is that domain index works correctly when it's created without
support for partitioning and produces "*ORA-01410: INVALID ROWID*" when it's created
with LOCAL option.
Test query:
SELECT /* +index(from_sample_index) */ * FROM index_in_partitioned_tbl WHERE position_between(card_no)  < 50 ORDER BY card_no DESC;
Index creared in this way returns 3 rows:
CREATE INDEX from_sample_index ON index_in_partitioned_tbl (card_no) INDEXTYPE IS position_indextype;
When index has been creared with LOCAL option I got "ORA-01410: INVALID ROWID" :
CREATE INDEX from_sample_index ON index_in_partitioned_tbl (card_no) INDEXTYPE IS position_indextype LOCAL;
I don't post implementation's source code to reduce amount of text in post. It works for global index.
If I copy rowid from index storage table and then put it into something like
SELECT card_no FROM index_in_partitioned_tbl WHERE rowid = 'AAAXHGAAEAAAFERAAh';
then it will be executed successfully without any errors.
I suppose the error could be somehow linked with "alter index" calls that Oracle makes when local domain index is created.
The calls are made with option "AlterIndexRebuild" - possibly they mark index as invalid (though it's shown as valid in SQL Developer)

Solved :)
when index is LOCAL calls for ODCIINDEXSTART - ODCIINDEXFETCH - ODCIINDEXCLOSE are executed for each partition of base table.
In my case ODCIINDEXFETCH returns row_id's regardless of partition that are currently scanned for values. So first call returned rowid values for all partitions not only for the first partition and validation failed with "ora-01410: invalid rowid"

Similar Messages

  • Help to Identify the peace of code Causing - ORA-01410: invalid ROWID

    Hi I have Plsql Block that runs monthly and process 10 million records and every once in a while it fails with the ORA-01410: invalid ROWID Error ,last month it failed two times with same error ,if any one could point me what is wrong this code ,i will work on it to fix. if you see the code we have exceptio n block at the end of the code ,we have procedure that inserts a record into log table ,so both the failures had inserted a record into the table that means it failed before it entered into for loop.
    my question is can Fech statement cause invalid rowid.
    Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bi
    PL/SQL Release 10.2.0.4.0 - Production
    CORE 10.2.0.4.0 Production
    DECLARE
      cFetchLimit CONSTANT NUMBER := 100000; 
      nRunningTotal NUMBER := 0;
      CURSOR curRawData IS
          SELECT rawdata.*, SYS_GUID() combinedprofitdataid,
               NVL((SELECT 'Y'    
                    FROM   SNAP_CDS_HR_NONSENSITIVE_DATA
                    WHERE  emplid = LPAD(rawdata.fk_westprireltnshpmanagerempid,11,'0')),'N') hrempexists,
               NVL((SELECT MAX('Y')      
                    FROM   SNAP_MAX_Entity
                    WHERE  AU     = DECODE(LENGTH(REPLACE(TRANSLATE(rawdata.fk_west_bookingau, '0123456789' ,'**********'), '*', NULL)), NULL, rawdata.fk_west_bookingau, NULL) 
                    ),'N') bookingauexists,               
               NVL((SELECT  MAX('Y')
                    FROM   SNAP_MAX_Entity
                    WHERE  AU     = DECODE(LENGTH(REPLACE(TRANSLATE(rawdata.fk_westprireltnshpmanagerempau, '0123456789' ,'**********'), '*', NULL)), NULL, rawdata.fk_westprireltnshpmanagerempau, NULL)
                    ),'N') prirelmanempauexists,
               NVL((SELECT  MAX('Y')          
                    FROM   SNAP_MAX_ProductGroup
                    WHERE  ProductGroupId = DECODE(LENGTH(REPLACE(TRANSLATE(rawdata.fk_west_productgroupid, '0123456789' ,'**********'), '*', NULL)), NULL, rawdata.fk_west_productgroupid, NULL)
                    ),'N') productgroupexists,
               NVL((SELECT  MAX('Y')          
                    FROM   SNAP_MAX_Product
                    WHERE  ProductId = rawdata.fk_west_productid
                    ),'N') productidexists,
               NVL((SELECT  MAX('Y')
                    FROM   SNAP_MAX_SubProduct
                    WHERE  SubProductId = rawdata.fk_west_subproductid
                    ),'N') subproductidexists,
               (SELECT  e.GL_ENTITY       
                        FROM SNAP_CDS_HR_NONSENSITIVE_DATA e
                       WHERE e.emplid = LPAD(rawdata.fk_westprireltnshpmanagerempid,11,'0')
                         AND e.AU = rawdata.FK_WESTPRIRELTNSHPMANAGEREMPAU ) entity_fk_westprirelmanempau
        FROM   T_rawdata rawdata
        WHERE rawdata.dda_flag = 'N';
      TYPE RawData_aat IS TABLE OF curRawData%ROWTYPE INDEX BY PLS_INTEGER;
      l_RawData RawData_aat;   
      TYPE CombinedProfitData_aat IS TABLE OF T_WIS_CDS_COMBINEDPROFITDATA%ROWTYPE INDEX BY PLS_INTEGER;
      l_CombinedP CombinedProfitData_aat;
      cpdIdx NUMBER := 0;
      vcHREmpExists          VARCHAR2(1) := 'N';
      vcBookingAuExists      VARCHAR2(1) := 'N';
      vcPriRelManEmpAuExists VARCHAR2(1) := 'N';
      vcProductGroupExists   VARCHAR2(1) := 'N';
      vcProductIDExists      VARCHAR2(1) := 'N';
      vcSubProductIDExists   VARCHAR2(1) := 'N';
      vcBEIDExists           VARCHAR2(1) := 'N';
      l_raw_accountnum           t_wis_cds_h_act_rawdata.account%TYPE                   := NULL;
      l_raw_bank_id              t_wis_cds_h_act_rawdata.account%TYPE                   := NULL;
      l_west_sourcesystem        t_wis_cds_h_act_rawdata.sourcesystem%TYPE              := NULL;
      l_fnd_combinedprofitdataid T_WIS_CDS_COMBINEDPROFITDATA.combinedprofitdataid%TYPE := NULL;
      FUNCTION BEIDExists(p_west_be_id VARCHAR2) RETURN VARCHAR2 IS
        CURSOR curBEIDData IS
          SELECT 'Y'
          FROM   SNAP_STOBEX_BUSINESS_ENTITY
          WHERE  be_id  = p_west_be_id;
      BEGIN     
        FOR recBEIDData IN curBEIDData LOOP
          RETURN 'Y';
        END LOOP;
        RETURN 'N';   
      EXCEPTION
      WHEN OTHERS THEN
         P_WIS_CDS.LOG('exists', SQLCODE, SQLERRM);
        RETURN 'N'; 
      END BEIDExists;  
    BEGIN
      OPEN curRawData;
      LOOP
        FETCH curRawData BULK COLLECT INTO l_RawData LIMIT cFetchLimit;
        EXIT WHEN l_RawData.COUNT = 0;       
        l_CombinedP.DELETE;
        cpdIdx := 0;
        nRunningTotal := nRunningTotal + l_RawData.COUNT;
        P_WIS_CDS.info('Merge_cp','0', 'Processing '||nRunningTotal||' rows @ '||SYSDATE);
        FOR i IN l_RawData.FIRST..l_RawData.LAST LOOP
            cpdIdx := (cpdIdx+1);       
            vcHREmpExists          := 'N';
            vcBookingAuExists      := 'N';
            vcPriRelManEmpAuExists := 'N';
            vcProductGroupExists   := 'N';
            vcProductIDExists      := 'N';
            vcSubProductIDExists   := 'N';
            vcBEIDExists           := 'N';
            l_CombinedP(cpdIdx).exportsource      := l_RawData(i).exportsource;
            l_CombinedP(cpdIdx).exportsourcetype  := l_RawData(i).exportsourcetype;
            l_CombinedP(cpdIdx).fk_exportsourceid := l_RawData(i).exportsourceid;
            IF l_RawData(i).fk_westprireltnshpmanagerempid IS NOT NULL THEN
              l_CombinedP(cpdIdx).fk_westprireltnshpmanagerempid :=
                                          LPAD(l_RawData(i).fk_westprireltnshpmanagerempid, 11, '0');       
            ELSE
              l_CombinedP(cpdIdx).fk_westprireltnshpmanagerempid := NULL;
            END IF;
            l_CombinedP(cpdIdx).fk_west_productgroupid :=
                                                l_RawData(i).fk_west_productgroupid;  
            l_CombinedP(cpdIdx).fk_west_productid      :=
                                                     l_RawData(i).fk_west_productid;
            l_CombinedP(cpdIdx).fk_west_subproductid   :=
                                                  l_RawData(i).fk_west_subproductid;
            l_CombinedP(cpdIdx).fk_west_bookingau := NULL;
            IF l_RawData(i).fk_westprireltnshpmanagerempau IS NOT NULL OR l_RawData(i).fk_westprireltnshpmanagerempau <> '0' THEN
         l_CombinedP(cpdIdx).fk_westprireltnshpmanagerempau :=
                                     lpad(l_RawData(i).fk_westprireltnshpmanagerempau,7,'0');   ---->751 task
         ELSE
         l_CombinedP(cpdIdx).fk_westprireltnshpmanagerempau := NULL;
         END IF;         
            l_CombinedP(cpdIdx).combinedprofitdataid         := l_RawData(i).combinedprofitdataid; ---SYS_GUID();
            l_CombinedP(cpdIdx).exportsource                 := l_RawData(i).exportsource;
            l_CombinedP(cpdIdx).exportsourcetype             := l_RawData(i).exportsourcetype;
            l_CombinedP(cpdIdx).fk_exportsourceid            := l_RawData(i).exportsourceid;
            l_CombinedP(cpdIdx).endofmonthdate               := l_RawData(i).endofmonthdate;
            l_CombinedP(cpdIdx).account                      := l_RawData(i).account;
            l_CombinedP(cpdIdx).westaccount                  := l_RawData(i).westaccount;
         IF l_RawData(i).westaccount IS NOT NULL
         THEN
              l_CombinedP(cpdIdx).iseastaccountconvertedtowest := 'Y';
         END IF;
                BEGIN
                  SELECT customer.WEST_BE_ID,
                         linkage.parent_id,
                         linkage.top_parent_id
                  INTO   l_CombinedP(cpdIdx).fk_west_be_id,
                         l_CombinedP(cpdIdx).fk_west_ber_id,
                         l_CombinedP(cpdIdx).fk_west_hlber_id
                  FROM   SNAP_STOBEX_BE_BER_LINKAGE linkage,
                         T_EastToWest customer
                  WHERE  customer.east_customerid = l_RawData(i).fk_customerid
                  AND    customer.east_accountid  = NVL(l_RawData(i).westaccount,l_RawData(i).account)
                  AND    linkage.entity_id(+)     = customer.west_be_id
                  AND    linkage.entity_type(+)   = 'BE'
                  AND    ROWNUM                   = 1;
                EXCEPTION
                WHEN NO_DATA_FOUND THEN
                  BEGIN
                    SELECT customer.WEST_BE_ID,
                           linkage.parent_id,
                           linkage.top_parent_id
                    INTO   l_CombinedP(cpdIdx).fk_west_be_id,
                           l_CombinedP(cpdIdx).fk_west_ber_id,
                           l_CombinedP(cpdIdx).fk_west_hlber_id
                    FROM   SNAP_STOBEX_BE_BER_LINKAGE linkage,
                           T_EastToWest customer
                    WHERE  customer.east_customerid = l_RawData(i).fk_customerid
                    AND    customer.east_accountid  = l_RawData(i).account
                    AND    linkage.entity_id(+)     = customer.west_be_id
                    AND    linkage.entity_type(+)   = 'BE'
                    AND    ROWNUM                   = 1;
                  EXCEPTION            
                    WHEN OTHERS THEN                           
                     l_CombinedP(cpdIdx).fk_west_be_id    := NULL;
                     l_CombinedP(cpdIdx).fk_west_ber_id   := NULL;
                     l_CombinedP(cpdIdx).fk_west_hlber_id := NULL;
                  END;
                WHEN OTHERS THEN                           
                  l_CombinedP(cpdIdx).fk_west_be_id    := NULL;
                  l_CombinedP(cpdIdx).fk_west_ber_id   := NULL;
                  l_CombinedP(cpdIdx).fk_west_hlber_id := NULL;
                END;
            l_fnd_combinedprofitdataid := NULL;
            BEGIN
                SELECT  COMBINEDPROFITDATAID
                  INTO l_fnd_combinedprofitdataid
                  FROM T_WIS_CDS_COMBINEDPROFITDATA cpd
                 WHERE cpd.fk_west_be_id                   = l_CombinedP(cpdIdx).fk_west_be_id
                   AND cpd.fk_west_productgroupid          = l_CombinedP(cpdIdx).fk_west_productgroupid
                   AND cpd.fk_west_productid               = l_CombinedP(cpdIdx).fk_west_productid
                   AND cpd.fk_west_subproductid            = l_CombinedP(cpdIdx).fk_west_subproductid
                   AND extract(month from cpd.endofmonthdate)   = extract(month from l_CombinedP(cpdIdx).endofmonthdate)
                   AND extract(year from cpd.endofmonthdate) = extract(year from l_CombinedP(cpdIdx).endofmonthdate) 
                   AND cpd.revenue BETWEEN l_CombinedP(cpdIdx).revenue - 10.00 AND l_CombinedP(cpdIdx).revenue + 10.00               
                   AND cpd.exportsource <> 'CP'
                   AND ROWNUM = 1;
            EXCEPTION
              WHEN NO_DATA_FOUND THEN
                l_fnd_combinedprofitdataid := NULL;
              WHEN OTHERS THEN
                l_fnd_combinedprofitdataid := NULL;
            END;
            IF l_fnd_combinedprofitdataid IS NOT NULL THEN
              l_CombinedP(cpdIdx).isduplicate       := 'Y';
              l_CombinedP(cpdIdx).fk_duplicatecpdid := l_fnd_combinedprofitdataid;         
            ELSE
              l_CombinedP(cpdIdx).isduplicate       := 'N';
              l_CombinedP(cpdIdx).fk_duplicatecpdid := NULL;
            END IF;
            l_CombinedP(cpdIdx).iserror      := 'N';
            l_CombinedP(cpdIdx).errormessage := NULL;   
         IF l_CombinedP(cpdIdx).FK_WESTPRIRELTNSHPMANAGEREMPAU IS NULL AND l_CombinedP(cpdIdx).ENTITY_FK_WESTPRIRELMANEMPAU IS NOT NULL THEN
              l_CombinedP(cpdIdx).iserror      := 'Y';
              IF (LENGTH(NVL(l_CombinedP(cpdIdx).errormessage,0))+LENGTH('FK_WESTPRIRELTNSHPMANAGEREMPAU is NULL but Entity value exists. ')) < 250 THEN
                l_CombinedP(cpdIdx).errormessage := l_CombinedP(cpdIdx).errormessage||'FK_WESTPRIRELTNSHPMANAGEREMPAU is NULL but Entity value exists. ';
              END IF;
            END IF;
            IF l_CombinedP(cpdIdx).fk_westprireltnshpmanagerempid IS NULL AND
              l_RawData(i).primaryrelationshipmanagerid IS NOT NULL THEN
              l_CombinedP(cpdIdx).iserror      := 'Y';
              IF (LENGTH(NVL(l_CombinedP(cpdIdx).errormessage,0))+LENGTH('Missing CP RM/EMP ID translation. ')) < 250 THEN
                l_CombinedP(cpdIdx).errormessage := l_CombinedP(cpdIdx).errormessage||'Missing CP RM/EMP ID translation. ';
              END IF;                             
            ELSE               
              vcHREmpExists := l_RawData(i).HREmpExists;
              IF vcHREmpExists <> 'Y' THEN
                l_CombinedP(cpdIdx).iserror      := 'Y';
                IF (LENGTH(NVL(l_CombinedP(cpdIdx).errormessage,0))+LENGTH('Invalid CP RM/Emp ID translation. ')) < 250 THEN
                  l_CombinedP(cpdIdx).errormessage := l_CombinedP(cpdIdx).errormessage||'Invalid CP RM/Emp ID translation. ';
                END IF;
              END IF;
            END IF;
            IF l_CombinedP(cpdIdx).fk_westprireltnshpmanagerempau IS NULL AND
              l_RawData(i).primaryrelationshipmanagerau IS NOT NULL THEN
              l_CombinedP(cpdIdx).iserror      := 'Y';
              IF (LENGTH(NVL(l_CombinedP(cpdIdx).errormessage,0))+LENGTH('Missing CP RM/EMP AU reference. ')) < 250 THEN
                l_CombinedP(cpdIdx).errormessage := l_CombinedP(cpdIdx).errormessage||'Missing CP RM/EMP AU reference. ';
              END IF;       
            END IF;
            vcPriRelManEmpAuExists := l_RawData(i).PriRelManEmpAuExists;      
            IF vcBookingAuExists <> 'Y' THEN
              l_CombinedP(cpdIdx).iserror      := 'Y';
              IF (LENGTH(NVL(l_CombinedP(cpdIdx).errormessage,0))+LENGTH('Invalid CP RM/Emp AU translation. ')) < 250 THEN
                l_CombinedP(cpdIdx).errormessage := l_CombinedP(cpdIdx).errormessage||'Invalid CP RM/Emp AU translation. ';
              END IF;
            END IF;
            IF l_CombinedP(cpdIdx).fk_west_productgroupid IS NULL THEN
              l_CombinedP(cpdIdx).iserror      := 'Y';
              IF (LENGTH(NVL(l_CombinedP(cpdIdx).errormessage,0))+LENGTH('Missing CP Product Group translation. ')) < 250 THEN
                l_CombinedP(cpdIdx).errormessage := l_CombinedP(cpdIdx).errormessage||'Missing CP Product Group translation. ';
              END IF;
            ELSE
              vcProductGroupExists := l_RawData(i).ProductGroupExists;      
              IF vcProductGroupExists <> 'Y' THEN
                l_CombinedP(cpdIdx).iserror      := 'Y';
                IF (LENGTH(NVL(l_CombinedP(cpdIdx).errormessage,0))+LENGTH('Invalid CP Product Group translation. ')) < 250 THEN
                  l_CombinedP(cpdIdx).errormessage := l_CombinedP(cpdIdx).errormessage||'Invalid CP Product Group translation. ';
                END IF;
              END IF;
            END IF;
            IF l_CombinedP(cpdIdx).fk_west_productid IS NOT NULL THEN
              vcProductIdExists := l_RawData(i).ProductIdExists;      
              IF vcProductGroupExists <> 'Y' THEN
                l_CombinedP(cpdIdx).iserror      := 'Y';
                IF (LENGTH(NVL(l_CombinedP(cpdIdx).errormessage,0))+LENGTH('Invalid CP Product translation. ')) < 250 THEN
                  l_CombinedP(cpdIdx).errormessage := l_CombinedP(cpdIdx).errormessage||'Invalid CP Product translation. ';
                END IF;
              END IF;
            END IF;
            IF l_CombinedP(cpdIdx).fk_west_subproductid IS NOT NULL THEN
              vcSubProductIdExists := l_RawData(i).SubProductIdExists;      
              IF vcSubProductIdExists <> 'Y' THEN
                l_CombinedP(cpdIdx).iserror      := 'Y';
                IF (LENGTH(NVL(l_CombinedP(cpdIdx).errormessage,0))+LENGTH('Invalid CP Sub Product translation. ')) < 250 THEN
                  l_CombinedP(cpdIdx).errormessage := l_CombinedP(cpdIdx).errormessage||'Invalid CP Sub Product translation. ';
                END IF;
              END IF;
            END IF;
            IF l_CombinedP(cpdIdx).fk_west_be_id IS NULL THEN
              l_CombinedP(cpdIdx).iserror      := 'Y';
              IF (LENGTH(NVL(l_CombinedP(cpdIdx).errormessage,0))+LENGTH('Missing CP BE ID translation. ')) < 250 THEN
                l_CombinedP(cpdIdx).errormessage := l_CombinedP(cpdIdx).errormessage||'Missing CP BE ID translation. ';
              END IF;
            ELSE
              vcBEIDExists := BEIDExists(l_CombinedP(cpdIdx).fk_west_be_id);      
              IF vcBEIDExists <> 'Y' THEN
                l_CombinedP(cpdIdx).iserror      := 'Y';
                IF (LENGTH(NVL(l_CombinedP(cpdIdx).errormessage,0))+LENGTH('Invalid CP BE ID translation. ')) < 250 THEN
                  l_CombinedP(cpdIdx).errormessage := l_CombinedP(cpdIdx).errormessage||'Invalid CP BE ID translation. ';
                END IF;
              END IF;
            END IF;
        END LOOP;
        FORALL i in l_CombinedP.FIRST..l_CombinedP.LAST
          INSERT INTO T_WIS_CDS_COMBINEDPROFITDATA 
          VALUES l_CombinedP(i);
       COMMIT;  
      END LOOP;
      CLOSE curRawData;
    COMMIT; 
    EXCEPTION
    WHEN OTHERS THEN
      IF curRawData%ISOPEN THEN
        CLOSE curRawData;
      END IF;
       P_WIS_CDS.LOG('Error', SQLCODE, SQLERRM);
    END;
    /Thank you

    I just looked at all the ddls' i have the following syntax for all MV's
    CREATE MATERIALIZED VIEW WIS.SNAP_MAX_ENTITY
    TABLESPACE WIS_CDS_DATA01
    PCTUSED    0
    PCTFREE    10
    INITRANS   2
    MAXTRANS   255
    STORAGE    (
                INITIAL          80K
                MINEXTENTS       1
                MAXEXTENTS       UNLIMITED
                PCTINCREASE      0
                BUFFER_POOL      DEFAULT
    NOCACHE
    LOGGING
    NOCOMPRESS
    NOPARALLEL
    BUILD IMMEDIATE
    USING INDEX
                TABLESPACE WIS_DATA01
                PCTFREE    10
                INITRANS   2
                MAXTRANS   255
                STORAGE    (
                            INITIAL          80K
                            NEXT             80K
                            MINEXTENTS       1
                            MAXEXTENTS       UNLIMITED
                            PCTINCREASE      0
                            FREELISTS        1
                            FREELIST GROUPS  1
                            BUFFER_POOL      DEFAULT
    REFRESH FORCE ON DEMAND
    WITH PRIMARY KEYEdited by: vijayp on Aug 7, 2012 6:44 PM
    Edited by: vijayp on Aug 7, 2012 7:02 PM

  • ORA-01410: invalid ROWID, when procedure is executed

    Hi,
    I am using Oracle 10g 10.2.0.3 on linux 64 bit
    I am getting following error
    ORA-12012: error on auto execute of job 17069
    ORA-01410: invalid ROWID
    ORA-06512: at "t1.DR1", line 12
    ORA-06512: at line 1
    t1 is the schema and DR1 is the procedure run every hour
    Error in Alert log showing thirce time.
    Following is the content of procedure
    create or replace procedure t1.dr1
    is
    CURSOR CS1
    IS
    select * FROM t1.V_TL_DR1;
    begin
    FOR CURRENT_RECORD IN CS1
    LOOP
    begin
    insert into t1.tr_dr1
    values
    (t1.tr_dr1_seq.nextval,CURRENT_RECORD.uuid,default,'ANY',DEFAULT,NULL,NULL,NULL,null);
    if CURRENT_RECORD.dv_code in('SD1','SD2') then
    INSERT INTO t1.dr1_writer
    values
    (t1.dr1_writer_feed_seq.nextval,CURRENT_RECORD.uuid,'OP1',DEFAULT,NULL,DEFAULT,NULL,null,DEFAULT,NULL);
    else
    INSERT INTO t1.dr1_writer
    values
    (t1.dr1_writer_feed_seq.nextval,CURRENT_RECORD.uuid,'OP2',DEFAULT,NULL,DEFAULT,NULL,null,DEFAULT,NULL);
    end if;
    exception
    WHEN DUP_VAL_ON_INDEX then
    dbms_output.put_line('IT IS NOT ALLOWED TO DUPLICATE');
    end;
    END LOOP;
    end;
    t1.V_TL_DR1 IS a view which has two columns uuid and dv_code
    Could any one tell me that, is it something to do with above procedure

    CREATE OR REPLACE VIEW t1.V_TL_DR1 AS
    select distinct ap.uuid uuid,ap.adv_code adv_code
    from
         (select alj.app_uid app_uid,alj.stages_uid stages_uid
         ,max(rate_AB) RATE_AB
         ,max(rate_Ac) RATE_AC
         ,max(rate_AD) RATE_AD
         ,MAX(CREATED) CREATED
         from t1.aof alj, (select max(uuid) uuid,max(in_name) in_name from t1.stages where stage=50 group by app_uid) st2
         where alj.stages_uid=st2.uuid
         group by alj.app_uid,alj.stages_uid) alj
         ,t1.app ap
         ,t1.app_user appu
         ,(select * from t1.app_applicant where joint='P') applicants
              WHERE
              alj.app_uid=ap.uuid
              and ap.user_uid=appu.uuid
              and ap.uuid=applicants.app_uid(+)
              and alj.created between systimestamp-(30/1440) and systimestamp-(10/1440)
              and ap.app_status='N'
              and
              (RATE_AB is not null and RATE_AB<>0)
              OR (RATE_AC not null and RATE_AC<>0)
              OR (RATE_AD is not null and RATE_AD<>0 and applicants.residential_status not in('T','U'))
              and appu.role='WEB'
              and ap.created between systimestamp-90 and systimestamp
              and ap.adv_code not in('UP1','UP2','UP3','UP4')Edited by: user605066 on 21-Feb-2011 02:32
    Edited by: user605066 on 21-Feb-2011 02:35

  • Raise Form_Trigger_Failure on When-Button-Pressed  ORA-01410 Invalid RowID

    Hello to all...
    I have an error whit Raise Form_Trigger_Failure on trigger When-Button-Pressed.
    I guess the error is when does the Raise Form_Trigger_Failure
    When validate something, this validation ask me if i want to continue.
    When i answer NO, give me this error: ORA-01410 Invalid RowID
    If i answer YES, the process continue and in an unexpected moment, give that error too
    Why give me that error?
    How can i resolve this error...help me
    thanks...
    Part of Code
    FOR i IN 1..TItemsAsi1.LAST LOOP
    IF TItemsAsi1(i).c_error IS NOT NULL THEN
    l_error := l_error + 1;
    IF TItemsAsi1(i).c_error = 'ND' THEN
    IF NOT Fpa_mensaje.disp_consulta_sino('Atención','No hay datos suficientes para generar Asiento de cierre relacionado a Reconocimiento de los recursos del ejercicio') THEN           
    RAISE FORM_TRIGGER_FAILURE;
    END IF ;     ELSIF TItemsAsi1(i).c_error = 'AD' THEN
    IF NOT Fpa_mensaje.disp_consulta_sino('Atención','Hay cuentas Acreedoras con saldo Deudor CUENTA: '||TItemsAsi1(i).c_cuenta||'. ¿Desea continuar con el cierre? ') THEN           
    RAISE FORM_TRIGGER_FAILURE;
    END IF ;     ELSIF TItemsAsi1(i).c_error = 'DA' THEN
    IF NOT Fpa_mensaje.disp_consulta_sino('Atención','Hay cuentas Deudoras con saldo Acreedor CUENTA:'||TItemsAsi1(i).c_cuenta||'. ¿Desea continuar con el cierre? ') THEN           
    RAISE FORM_TRIGGER_FAILURE;
    END IF ;     END IF;END IF;END LOOP;

    delete from <table> where rowid like '<block id>%'Arrgh. To be honest, this is the worst sql-statement i have seen this year. i hope the statement will raise an error on execution, but even if it would get executed, what should be the reason for something like this? Delete anything which is stored in a specific block, regardless of the meaning ?

  • ORA-01410: invalid ROWID

    I was trying to load data into a table using SQL Loader
    when I came across this error in the log file . I am not sure what might have happened or where to look to fix this up. Any ideas or suggestions as to where to look? I am on Oracle 9.2.0.4 on unix(AIX 4.3)
    Thanks
    insert into med.orders a
    ERROR at line 1:
    ORA-01410: invalid ROWID

    My control file is as follows :
    load data
    append
    into table orders
    fields terminated by '|'
    (disc_telephone_number,
    order_number,
    due_date,
    completion_date,
    status,
    ocn,
    region CONSTANT "TOC",
    pon,
    start_date,
    start_time,
    technician,
    phone_number,
    actual_time)
    Actually my shell script does some updates and then inserts records into the table using sqlldr.
    First the updates which works fine...but during insert, it just hangs.
    1260 rows updated.
    Commit complete.
    It was supposed to do the insert and then again commit. (About 2500 records),,,but should take only about 20 minutes...(i compared this to my 8i environment.)But it just sits there, and when I cancel after a long gap of time it gives me the ORA error message saying
    Insert into orders ( .........)
    User requested cancel of operation
    Any suggestions ? Thanks

  • Spatial query index creation fails with ORA-13282: failure on initializatio

    Hi,
    I have an Oracle 10g 10.2.0.5.0 database newly installed. Spatial index creation fails:
    ORA-29855: error occurred in the execution of ODCIINDEXCREATE routine
    ORA-13282: failure on initialization of coordinate transformation
    ORA-06512: at "MDSYS.SDO_INDEX_METHOD_10I", line 10
    The script I am trying to run is:
    Insert into USER_SDO_GEOM_METADATA
    (TABLE_NAME, COLUMN_NAME, DIMINFO, SRID)
    Values
    ('SOME_TABLE', 'geo',
    "SDO_DIM_ARRAY"(
    "SDO_DIM_ELEMENT"('X',600000,900000,0.001),
    "SDO_DIM_ELEMENT"('Y',150000,400000,0.001)), 23700);
    CREATE INDEX IX_GEO_SOME_TABLE ON SOME_TABLE (GEO) INDEXTYPE IS MDSYS.SPATIAL_INDEX ;
    Earlier I had some issues with NLS settings in relation to Spatial, but in this particular case setting the NLS_LANG for AMERICAN_AMERICA does not help. I found this comment http://www.orafaq.com/forum/t/127312/2/ but would not like to hack around with MDSYS table content. Any help is highly appreciated.
    Regards, Tamas

    Tamas,
    1 . . .Are you indexing a table that already has geometries or an empty table?
    . . . .If the former, do all the geometries in that table have the same (not NULL) SRID (23700)?
    2 . .The link you posted suggests a parsing problem since in Hungarian (23700), the decimal seperator is a comma (not a period). Accordingly, I believe the edit to mdsys.sdo_cs_srs.WKTEXT would be:
    PROJCS["HD72 / EOV", GEOGCS [ "HD72", DATUM ["Hungarian Datum 1972 (EPSG ID 6237)", SPHEROID ["GRS 1967 (EPSG ID 7036)", 6378160, 298,247167427]], PRIMEM [ "Greenwich", 0,000000 ], UNIT ["Decimal Degree", 0,01745329251994328]], PROJECTION ["Egyseges Orszagos Vetuleti (EPSG OP 19931)"], UNIT ["Meter", 1]]
                                                                                                                                         ^                                    ^                                   ^                                                                                                  Regards,
    Noel

  • Deleting Indexes Job failing with ORA-01418

    Hi,
    While deleting the indexes to the Infocube the job is failing with an Error: ORA-01418. In SM37 it is throwing the message SQL-Error ORA-01418 specfied Index does not exist.
    Checked in RSRV for the InfoCube it is showing red while we execute for the repair.
    Please advice... right replies will be appreciated.
    Regards,
    DMK

    For BW from 7.0 you can take a look to note 1003360.
    Have you tried the autorepair from rsrv?

  • SAP BW Query failing with ORA ERROR

    Hi There
    We have SAP BW 3.5 on AIX 5.3 TL10. Oracle is 9i (9.2.0.7). Our users are facing problems with Cost calculation job on cubes.
    The job got failed with below error
    Database error 1115 at FET access to table /BI0/03538
    > ORA-01115: IO error reading block from file 48 (block #
    > 1144987)#ORA-01110: data file 48:
    > '/oracle//sapdata11/.data35.dbf'#ORA-27091: skgfqio:
    > unable to queue I/O#ORA-27072: skgfdisp: I/O error#IBM AIX
    > RISC System/6000 Error: 5: I/O error
    Database error text........: "ORA-01115: IO error reading block from file 2
    (block # 214041)#ORA-01110: data file 2:
    '/oracle//sapdata4/_1/.data1'#ORA-27091: skgfqio: unable to queue
    I/O#ORA-27072: skgfdisp: I/O error#IBM AIX RISC System/6000 Error: 5: I/O
    error"
    Internal call code.........: "[RSQL/READ/RSSDBATCH ]"
    More Info:
    Checked alert log, no errors in alert log. checked datafiles status and everything is perfect!! The errors are appearing in SAP application logs only
    Is it due to any patches missing on AIX/oracle?
    Any idea guys? Looks like some oracle/AIX error?

    Hello Shrinath,
    please post the following content.
    shell> aioo -a
    Maybe you have reached the maximum number of asynchronous I/O requests.
    For example in our SAP environments the following parameters are set
    shell> aioo -a
                   minservers = 8
                   maxservers = 400
                   maxreqs = 1228
                   fsfastpath = 1
    Regards
    Stefan

  • Sqlldr failing with ORA-01017: invalid username/password; logon denied

    Hi,
    I am running the import of some files through an internal application (in C++) using Oracle 11.2.0.3: the load uses sqlldr and I am getting the below error
    SQL*Loader-128: unable to begin a session
    ORA-01017: invalid username/password; logon denied
    However, sqlldr used through the DOS command, connects without an issue with the same account.
    I have tried the same test using the same application on my local install which uses 11.2.0.2 and I am not having any issue...any idea what may be the cause of it?
    Thanks

    user13045898 wrote:
    Hi,
    I am running the import of some files through an internal application (in C++) using Oracle 11.2.0.3: the load uses sqlldr and I am getting the below error
    SQL*Loader-128: unable to begin a session
    ORA-01017: invalid username/password; logon denied
    However, sqlldr used through the DOS command, connects without an issue with the same account.
    I have tried the same test using the same application on my local install which uses 11.2.0.2 and I am not having any issue...any idea what may be the cause of it?
    ThanksOracle is too dumb to lie. Your app is obviously not passing the credentials you believe it is.

  • ORA-01410 Invalid RowID. Help me..

    Hi,
    I'm getting ORA-01410 error while trying to backup table X.
    (table X has no indexes.)
    what i did..
    1) using exp... --> ORA-01410 error
    2) create table X2 as select * from X --> ORA-01410 error
    3) alter table X move tablespace T2 --> ORA-01410 error
    4) analyze table X validate structure cascade --> ORA-01410 error
    maybe corruption?
    what i did next..
    1) fsck --> OK
    2) dbv file=XXX BLOCKSIZE=8192 (all datafiles) -> OK
    3) dbms_repair.check_object(...) -> OK
    i cannot understand this case.
    it's not the case of index corruption or "current of" bug.
    My environment is...
    - OS : Fedora Core 4
    - DB : Oracle 9.2.0.8 for Linux
    Can somebody tell me how i should repair this table?

    Table size is 4,197,449,728 (about 4GB) and 512,384 blocks (1block = 8KB)
    as I mentioned before, create as select statement was failed.
    at the view "v$longops" ,
    I can see progress of full scanning..
    from 0 block to 451341 block...
    but, there the ORA-01410 error is raised.

  • RTree index build fails with ORA-13230

    Hi all,
    We are running Oracle8i Enterprise Edition Release 8.1.7.0.0 on Windows NT.
    Our spatial table PKT_KP has exactly 1349162 records, and the statements:
    DROP INDEX PKT_KP_INDX FORCE;
    CREATE INDEX PKT_KP_INDX ON PKT_KP (GEOMETRY)
    INDEXTYPE IS MDSYS.SPATIAL_INDEX
    PARAMETERS ('SDO_INDX_DIMS=2 SDO_RTR_PCTFREE=0 SDO_FANOUT=40
    SDO_COMMIT_INTERVAL=512 SDO_ MAX_MEMORY=25000000 TABLESPACE=DKMINDX INITIAL=64K NEXT=64K
    MAXEXTENTS=UNLIMITED');
    produced the following error list:
    ORA-29855: error occurred in the execution of ODCIINDEXCREATE routine
    ORA-13230: failed to create temporary table [GST_KF_INDX_tr2$$] during R-tree creation
    ORA-29400: data cartridge error
    ORA-00907: missing right parenthesis
    ORA-06512: at "MDSYS.SDO_INDEX_METHOD", line 8
    ORA-06512: at line 1
    I read carefully all documents here on this error and I've tried every suggestion, especially undocumented SDO_ MAX_MEMORY parameter with the several values: 25000000, 33554432, 67108864, etc.
    1. Plenty of free space in the tablespace DKMINDX
    2. Plenty of free space in the TEMP tablespace
    3. Temporary table GST_KF_INDX_tr0$$ exists, and has 1349162 records
    4. Temporary table GST_KF_INDX_tr1$$ exists, and has no records
    Does anyone have any ideas?
    Thanks in advance,
    Zdravko

    Hi,
    In 8.1.7.0 I was able to create an r-tree index on a table with over 10 million points using the following command (which I wouldn't recommend in 9i):
    create index mydata_sidx on mydata(geometry)
    INDEXTYPE IS MDSYS.SPATIAL_INDEX
    PARAMETERS('INITIAL=400M NEXT=25M PCTINCREASE=0 SDO_RTR_PCTFREE=0');
    In my procedure I didn't actually set the tablespace in the create index - I think I set the user's default tablespace to the tablespace I wanted the index to go into.
    Also, if I remember correctly, in 8.1.7 r-tree index builds required a lot of temp space, so you might want to check to make sure you have plenty (this was changed in 9i). Also, you might want to remove stuff like sdo_commit_interval, which is not used for r-tree index builds. If your data is only 2d you won't need sdo_indx_dims.
    All that said, I don't ever remember seeing "missing right parenthesis".
    I did just notice you have a space between sdo_ and max_memory.
    So if I were you, I'd use a more modest create index statement:
    from system account:
    alter user whoever default tablespace dkmindx;
    connect whoever/whoeverspassword
    DROP INDEX PKT_KP_INDX FORCE;
    CREATE INDEX PKT_KP_INDX ON PKT_KP (GEOMETRY)
    INDEXTYPE IS MDSYS.SPATIAL_INDEX
    PARAMETERS (SDO_RTR_PCTFREE=0
    INITIAL=64M NEXT=10M');

  • SQL Developer connect to RAC12c (Basic) failed with ORA-01017 invalid username/password; logon denied

    I'm using scan in hostname to connect as Basic that failed ORA-01017.  I'm using the same credential system to logon from sqlplus and is fine.
    Any ideas?

    Essentially all you have said is: help me, I have a problem.
    1. full version of sql developer being used
    2. full version of Java SDK being used
    3. full version of JDBC jar file being used
    4. full details on the connection information being used
    5. full version of the Oracle client being used
    6. confirm that both your sql*plus and sql developer connections were made from the SAME machine
    A Basic connection uses the thin driver while sql*plus is using OCI

  • Synchronize WF LOCAL tables in R12 failed with error  :ORA-14501 object is

    Hi All,
    In our R12 enviroment "Synchronize WF LOCAL tables" conc program failing with :ORA-14501 object is not partitioned.
    Tried solution as per doc id . 433280.1 -- Partitions in Workflow Local Tables are Automatically Switched to NOLOGGING . But no success.
    Please help.

    Hi Hussein,
    Thanks for reply. Please find the below details.
    RELEASE_NAME
    12.1.3
    BANNER
    Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
    Linux **** 2.6.18-128.el5 #1 SMP Wed Jan 21 08:45:05 EST 2009 x86_64 x86_64 x86_64 GNU/Linux
    Conc Req Log file
    Application Object Library: Version : 12.0.0
    Copyright (c) 1979, 1999, Oracle Corporation. All rights reserved.
    FNDWFLSC module: Synchronize WF LOCAL tables
    Current system time is 19-JUN-2012 05:49:20
    **Starts**19-JUN-2012 05:49:20
    **Ends**19-JUN-2012 05:49:20
    ORA-14501: object is not partitioned
    Start of log messages from FND_FILE
    End of log messages from FND_FILE
    Executing request completion options...
    Output file size:
    0
    Finished executing request completion options.
    Concurrent request completed
    Current system time is 19-JUN-2012 05:49:20
    ---------------------------------------------------------------------------

  • SRVCTL START DATABASE FAILS WITH  ORA-00119

    Hi,
    My DB version is 11.2.0.2.3
    I am able to start the DB thorough sqlplus as conventional way.But when I am trying to start using SRVCTL it gives the following errors:
    CRS-5017: The resource action "ora.****.db start" encountered the following error:
    SRVCTL START DATABASE FAILS WITH ORA-00119: invalid specification for system parameter LOCAL_LISTENER
    ORA-00132: syntax error or unresolved network name 'LISTENER_local'
    Can you please suggest for any workaround.
    Thanks

    Did you check the TNS_ADMIN? Where does it point to?
    Also check if you have all the network files placed under the directory pointed to by TNS_ADMIN.
    sqlnet.ora
    listener.ora
    tnsnames.ora

  • All scheduled jobs started suddenly to fail with ORA-01031: insufficient pr

    I have a setup of gridcontrol 11g on windows 2008. I've been running successful for weeks until the other day when all my scheduled jobs started to fail with
    ORA-01031: insufficient privileges (rman jobs)
    ERROR: Invalid username and/or password (sql scripts).
    I verified for the accounts being locked, pw correct, expired / grace period, etc.
    all good when I try from the command line. running an rman backup from the command line works great, but the same one through the job scheduler fails with ORA-01031.
    I've dropped the jobs completely, recreated them again. same thing.
    I'm using preferred credentials and dropped and recreated them. same thing.
    I don't know where else to look. Only grid control scheduled jobs fail, but all of them do.
    I'm using SQLNET.AUTHENTICATION_SERVICES= (NTS) in my sql.ne (always have).
    we use a windows domain server / domain authentication for logging into boxes. I haven't changed any of my passwords.
    I am probably looking in the wrong places. Anybody able to help?

    Hi,
    ERROR: Invalid username and/or password (sql scripts).This error message clearly tells that password is incorrect and "insufficient privileges" shows that perhaps you are using SYS user for running the jobs and password for user SYS is incorrect.
    If you are specifying passwords in your scripts, i don't think you need to set preferred credentials.
    Try following
    1) Remove preferred credentials
    2) Don't check password of user sys by locally logging in (because if Os authentication is on, even wrong password will allow you loging into the database and you will think that password is correct). Try connecting database using SYS user from a remote machine and check whether it accepts your password and make sure you have same password for your jobs and in sql scripts
    3) If still problem, just for test, remove SQLNET.AUTHENTICATION_SERVICES= (NTS) and try
    Salman

Maybe you are looking for

  • How do I loop back from the first frame to the last frame?

    Hi there, I'm currently working on the framework for a product viewer. I have: a movie clip called 'viewer_mc' which contains the images take from different angles of the product. The actionscript generates a script on the last frame of this that ret

  • Error in F-37

    Hi gurus, I am trying to post a customer down payment request in F-37. But it is showing me the following error Vendor 13131 is not defined in company code M110 Message no. F5104 Diagnosis No master record was created in company code "M110" for vendo

  • One material has two entries in DGTMD table

    Hello Experts, I found very strange phenomenon in our production system. There were two or sometimes more than two entries for one material one was showing as Dangerous and other as non dangerous. I mean in DGTMD table in DGNHM field is X for one ent

  • How to find screen where you can move faders around?

    I remember being able to customize a screen so that I could arrange the faders 1 right next to fader 10 visually. I thought that I did this by activating the "Enviroment" button under windows, but when I click it, i get the screen with the boxes wher

  • Multicam - Switch vs. Cut and Switch

    I am playing around with multicam clips and can't get just the Switch to work.  Cut and Switch works great. When I do a Switch Only, it switches in the angle editor, but not in my "final" clip such that when I play it back is only the original angle