PLS-00801 in WWW_FLOW_UTILITIES

Hi all,
after the import of the schemas FLOW_010600 and FLOW_FILES in a new database instance the package body WWW_FLOW_UTILITIES is invalid.
When i now want to compile this body i get the following error:
PLS-00801: internal error [56106]
The compilation of the package specification works fine.
Does soembody have an idea what i can do?
Best regards and many thanks in advance
Martin

I found the problem.

Similar Messages

  • PLS-00801: internal error with FORALL

    I have the following procedure that I am trying to compile but I am getting an error:
    <pre>
    PROCEDURE procedure_1 AS
    cursor cur_1 is
    select column1 || column2 || column3 || column4 || column5 ||
    column6 || column7 || column8 as concat_column
    from table_1
    for update wait 5;
    type type_table_1 is table of varchar2(100);
    tab_1 type_table_1;
    bulk_error EXCEPTION;
    PRAGMA EXCEPTION_INIT(bulk_error, -24381);
    BEGIN
    open cur_1;
    loop
    fetch cur_1 bulk collect into tab_1 limit 100;
    exit when tab_1.COUNT = 0;
    forall ctr in 1 .. tab_1.COUNT save exceptions
    update table_1
    set column_20 = array_line(tab_1(ctr).concat_column);
    end loop;
    close cur_1;
    EXCEPTION
    when bulk_error then
    for i in 1 .. sql%bulk_exceptions.count loop
    NULL;
    end loop;
    END procedure_1;
    Error(622,21): PLS-00801: internal error [*** ASSERT at file pdw4.c, line 3572; Can't handle Object = -2147476152 in D_S_ED -2147476153.;
    The offending line seems to be the update statement inside the forall loop. I cannot tell why I am getting this error though as everything seems ok to me.
    Please help.
    Thanks

    And what are you trying to do? You are updating column20 in all rows in table_1 over and over. And what is array_line? Type type_table_1 is not a table of objects, so what is tab_1(ctr).concat_column? Without questioning code logic (although I already did :) ), remove that ".concat_column":
    set column_20 = array_line(tab_1(ctr));SY.

  • PLS-00801 error during compile for debug

    Hi,
    I am working as an oracle consultant, hired by an insurance company to rewrite some stuf they made...
    They are using a lot of procedures with nested functions/procedures instead of packages :-(
    Something strange happens though. if you have a procedure with a global cursor declaration, used as a parameterrowtype in a nested function/procedure, the source will not compile to debug (error PLS-00801), unless you delare a global rowtype of that cursor. I pasted some test source within this e-mail where the error is reproducable.
    If the commented line ' -- rg_tst cg_tst%rowtype;' is enabled, the procedure will compile. when its commented, it will compile normally, but NOT with debug option...
    Anyone familiar with this prob?
    thanx,
    Peter Boekelaar,
    Holland
    Test-source
    CREATE OR REPLACE PROCEDURE p_debug_test
    AS
    cn_max_date CONSTANT DATE := TO_DATE('12/31/2005','MM/DD/YYYY');
    CURSOR cg_tst( b_param1 NUMBER )
    IS
    SELECT ADD_MONTHS(TRUNC(SYSDATE), b_param1) tst_date
    , USER tst_user
    FROM dual;
    -- rg_tst cg_tst%rowtype;
    FUNCTION f_date_is_valid( i_cp_tst IN cg_tst%ROWTYPE
    , i_max_date IN DATE
    ) RETURN BOOLEAN
    IS
    BEGIN
    RETURN (i_cp_tst.tst_date <= i_max_date);
    END;
    BEGIN
    FOR rg_tst IN cg_tst( 6 )
    LOOP
    IF f_date_is_valid( rg_tst, cn_max_date )
    THEN
    DBMS_OUTPUT.PUT_LINE( 'Yep1' );
    END IF;
    END LOOP;
    END;

    Fundamentally it means the database connection has been lost, but they may be an underlying error.
    Try the following to give yourself more chance of seeing the underlying error.
    1. Run sqldeveloper from <sqldev>\sqldeveloper\bin\sqldeveloper.exe. This will leave a console window open.
    2. If the problem occurs, look for error messages in the console.
    Can you compile other procedures for debug without the error? Try creating a minimalist for testing.

  • Static class functions: PLS-00801: internal error [phd_get_defn:D_S_ED:LHS]

    Any ideas why this would generate an internal error - referring to a static class function in that class constructor's parameter signature?
    Test case (on 11.2.0.2) as follows:
    SQL> create or replace type TMyObject is object(
      2          id      integer,
      3          name    varchar2(30),
      4 
      5          static function DefaultID return integer,
      6          static function DefaultName return varchar2,
      7 
      8          constructor function TMyObject(
      9                  objID integer default TMyObject.DefaultID(), objName varchar2 default TMyObject.DefaultName()
    10          )return self as result
    11  );
    12  /
    Type created.
    SQL>
    SQL> create or replace type body TMyObject is
      2 
      3          static function DefaultID return integer is
      4          begin
      5                  return( 0 );
      6          end;
      7 
      8          static function DefaultName return varchar2 is
      9          begin
    10                  return( 'foo' );
    11          end;
    12 
    13          constructor function TMyObject(
    14                  objID integer default TMyObject.DefaultID(), objName varchar2 default TMyObject.DefaultName()
    15          )return self as result is
    16          begin
    17                  self.id := objId;
    18                  self.name := objName;
    19                  return;
    20          end;
    21 
    22  end;
    23  /
    Type body created.
    SQL>
    SQL> declare
      2          obj     TMyObject;
      3  begin
      4          obj := new TMyObject();
      5  end;
      6  /
    declare
    ERROR at line 1:
    ORA-06550: line 0, column 0:
    PLS-00801: internal error [phd_get_defn:D_S_ED:LHS]If the static class functions are removed from the constructor and applied instead inside the constructor body, it works without error. Likewise you can call the constructor with the static class functions as parameters, without an internal error resulting.
    SQL> create or replace type TMyObject is object(
      2          id      integer,
      3          name    varchar2(30),
      4 
      5          static function DefaultID return integer,
      6          static function DefaultName return varchar2,
      7 
      8          constructor function TMyObject(
      9                  objID integer default null, objName varchar2 default null
    10          )return self as result
    11  );
    12  /
    Type created.
    SQL>
    SQL> create or replace type body TMyObject is
      2 
      3          static function DefaultID return integer is
      4          begin
      5                  return( 0 );
      6          end;
      7 
      8          static function DefaultName return varchar2 is
      9          begin
    10                  return( 'foo' );
    11          end;
    12 
    13          constructor function TMyObject(
    14                  objID integer default null, objName varchar2 default null
    15          )return self as result is
    16          begin
    17                  self.id := nvl( objId, TMyObject.DefaultID() );
    18                  self.name := nvl( objName, TMyObject.DefaultName() );
    19                  return;
    20          end;
    21 
    22  end;
    23  /
    Type body created.
    SQL>
    SQL> declare
      2          obj     TMyObject;
      3  begin
      4          obj := new TMyObject();
      5  end;
      6  /
    PL/SQL procedure successfully completed.
    SQL>
    SQL> declare
      2          obj     TMyObject;
      3  begin
      4          obj := new TMyObject(
      5                          objID => TMyObject.DefaultID(),
      6                          objName => TMyObject.DefaultName()
      7                  );
      8  end;
      9  /
    PL/SQL procedure successfully completed.
    SQL> Had a quick look on support.oracle.com and did not turn up any specific notes dealing with the use of static class functions in the parameter signature of the constructor. Known issue? Any other workaround besides the one above?

    Hi,
    there is a bug: "Bug 8470406: OBJECT INSTANCE CREATION FAILS WITH ERROR PLS-00801 IN 11GR1", it shows the behaviour in 11g but not in 10.2. It gives exactly the symptoms you also see, move it to the body and it works. But there is no solution/patch given.
    Herald ten Dam
    http://htendam.wordpress.com

  • PLS-00801: internal error [74306] Help me!

    Hi,
    I have written some PL/SQL Application using Bulk Binding and PL/SQL Collection at Oracle 9.2.0.8 AIX
    But, I met the strange error message during compilation.
    PLS-00801: internal error [74306|http://forums.oracle.com/forums/]
    I tried to search Google and Metalink, I could not find the answer about the error. ?:|
    ## sample code raising PLS-00801
    declare
    TYPE term IS RECORD (
    dt1 PLS_INTEGER,
    dt2 PLS_INTEGER
    TYPE term_arr IS TABLE OF term INDEX BY BINARY_INTEGER;
    TYPE term_group IS TABLE OF term_arr INDEX BY BINARY_INTEGER;
    v_term_group term_group;
    BEGIN
    SELECT
    20080101 as dt,
    20081231 as dt2
    BULK COLLECT INTO v_term_group(1)
    FROM DUAL;
    END;
    as i think, this code has no problem, but at compile time, it shows ORA-00801 error.
    can anybody tell me about this error or problem in that code?

    Probably a bug in 9i, it works in 10g:
    SQL> select * from v$version
      2  /
    BANNER
    Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod
    PL/SQL Release 10.2.0.1.0 - Production
    CORE    10.2.0.1.0      Production
    TNS for 32-bit Windows: Version 10.2.0.1.0 - Production
    NLSRTL Version 10.2.0.1.0 - Production
    SQL> declare
      2  TYPE term IS RECORD (
      3  dt1 PLS_INTEGER,
      4  dt2 PLS_INTEGER
      5  );
      6  TYPE term_arr IS TABLE OF term INDEX BY BINARY_INTEGER;
      7  TYPE term_group IS TABLE OF term_arr INDEX BY BINARY_INTEGER;
      8  v_term_group term_group;
      9  BEGIN
    10  SELECT
    11  20080101 as dt,
    12  20081231 as dt2
    13  BULK COLLECT INTO v_term_group(1)
    14  FROM DUAL;
    15  END;
    16  /
    PL/SQL procedure successfully completed.
    SQL> SY.

  • PLS-00801: internal error

    Does any one one know what this error is?
    LINE/COL ERROR
    68/6 PLS-00801: internal error [*** ASSERT at f
    Cannot coerce between type 49 and type 31;
    USER_TESTXML__ADAM_DDL__P__61118[68, 6]]
    Regards,
    alwark.

    What version of the DB are you using and what were you attempting to do at the time the error occurred...
    There are metalink entries about this error and even this forum has addressed PLS-00801: PLS-00801: internal error [79704] Error
    Greg

  • PLS-00801: internal error [76091]

    While creating g SDO_GEOMETRY object and asigning an extralarge value I get the following error:
    ORA-06550: line 0, column 0: PLS-00801: internal error [76091]
    snipp__________
    DECLARE
    GEOM MDSYS.SDO_GEOMETRY;
    BEGIN
    GEOM := mdsys.sdo_geometry(3,null,null,mdsys.sdo_elem_info_Array(1,3,1),mdsys.sdo_ordinate_array
    (41.06219,9.99904,39.92099,10.00000,
    _______snipp_______ e.t.c.
    up to ca. 20,500 points
    for a poligon with only about 10,000 points it works fine. Does somebody knows if this is an known bug at 8.1.5 ? or does it worth to call the hotline?
    Regards
    Uwe

    You can do this with stored procedures, you do not have to use OCI. I can send procedures that we have used at TDOT (they are for loading LRS data, but you can strip out the measure dimension). If you still need them, just let me know.
    Dave
    <BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>Originally posted by Uwe Baier ([email protected]):
    While creating g SDO_GEOMETRY object and asigning an extralarge value I get the following error:
    ORA-06550: line 0, column 0: PLS-00801: internal error [76091]
    snipp__________
    DECLARE
    GEOM MDSYS.SDO_GEOMETRY;
    BEGIN
    GEOM := mdsys.sdo_geometry(3,null,null,mdsys.sdo_elem_info_Array(1,3,1),mdsys.sdo_ordinate_array
    (41.06219,9.99904,39.92099,10.00000,
    _______snipp_______ e.t.c.
    up to ca. 20,500 points
    for a poligon with only about 10,000 points it works fine. Does somebody knows if this is an known bug at 8.1.5 ? or does it worth to call the hotline?
    Regards
    Uwe<HR></BLOCKQUOTE>
    null

  • PLS-00801: internal error [ph2csql_strdef_to_diana:bind]

    I wrote a trigger with a cursor but it generate following msg and focused on FOR EACH ROW line while compiling any help
    PLS-00801: internal error [ph2csql_strdef_to_diana:bind]
    CREATE OR REPLACE TRIGGER ERPTRAIN.TRG_ADM_USER_UPDATE
    AFTER INSERT OR UPDATE OR DELETE
    ON ERPTRAIN.ADM_USER REFERENCING NEW AS NEW OLD AS OLD
    FOR EACH ROW
    DECLARE
    CURSOR C1(vUserId VARCHAR2)
    IS
    SELECT EMP_CODE FROM DOTCOM.SM_EMPLOYEE
    WHERE EMP_CODE = vUserId;
    C1_REC C1%ROWTYPE;
    BEGIN
    IF C1%ISOPEN THEN
         CLOSE C1;
         END IF;
         IF INSERTING OR UPDATING THEN
         OPEN C1(:NEW.USER_ID);
              FETCH C1 INTO C1_REC;
              IF C1%NOTFOUND THEN
    INSERT INTO DOTCOM.SM_EMPLOYEE
         EMP_CODE, EMP_NAME, EMP_CR_DT,
              EMP_CR_UID, EMP_LST_MOD_DT, EMP_FREEZE_FLAG,
              EMP_APPROVED)
         VALUES
         :NEW.USER_ID, :NEW.USER_DESC, :NEW.USER_CR_DT,
              :NEW.USER_CR_UID, :NEW.USER_UPD_DT,:NEW.USER_FRZ_FLAG,'N');
              ELSE
                        UPDATE DOTCOM.SM_EMPLOYEE
         SET EMP_CODE =: NEW.USER_ID,
              EMP_NAME =: NEW.USER_DESC,
         EMP_CR_DT =: NEW.USER_CR_DT,
              EMP_CR_UID =: NEW.USER_CR_UID,
              EMP_LST_MOD_DT =: NEW.USER_UPD_DT,
              EMP_FREEZE_FLAG=: NEW.USER_FRZ_FLAG
         WHERE EMP_CODE =:NEW.USER_ID;
         END IF;
              CLOSE C1;
         END IF;     
         IF DELETING THEN
         OPEN C1(:OLD.USER_ID);
              FETCH C1 INTO C1_REC;
              IF C1%FOUND THEN
                   DELETE FROM DOTCOM.SM_EMPLOYEE WHERE EMP_CODE = :OLD.USER_ID;
                   END IF;
                   CLOSE C1;
         END IF;
    END;

    Your trigger is way too complicated: you don't need the extra cursor, which just seems there to control whether a row exists or not - just run the statements without extra checking.
    A somewhat simplified version would be:
    create or replace trigger erptrain.trg_adm_user_update
      after insert or update or delete
      on erptrain.adm_user
      for each row
    declare
    begin
      if inserting
      or  updating
      then
        update dotcom.sm_employee
           set emp_code = :new.user_id,
               emp_name = :new.user_desc,
               emp_cr_dt = :new.user_cr_dt,
               emp_cr_uid = :new.user_cr_uid,
               emp_lst_mod_dt = :new.user_upd_dt,
               emp_freeze_flag = :new.user_frz_flag
         where emp_code = :new.user_id;
        if sql%rowcount = 0
        then
          insert
            into dotcom.sm_employee (emp_code,
                                     emp_name,
                                     emp_cr_dt,
                                     emp_cr_uid,
                                     emp_lst_mod_dt,
                                     emp_freeze_flag,
                                     emp_approved
          values (
                   :new.user_id,
                   :new.user_desc,
                   :new.user_cr_dt,
                   :new.user_cr_uid,
                   :new.user_upd_dt,
                   :new.user_frz_flag,
                   'N');
        end if;
      end if;
      if deleting
      then
        delete from dotcom.sm_employee
              where emp_code = :old.user_id;
      end if;
    end trg_adm_user_update;Actually it looks you need a unique constraint on dotcom.sm_employee.emp_code which probably s missing?

  • PLS-00801: internal error [74303]

    Below is the cursor, i am geting error as
    PLS-00801: internal error [74303]
    help me please
    CURSOR c_account_payee_n IS
    SELECT /*+all_rows*/ RA.royaltor_account_id, AP.payee_id, NVL(AP.statement_pc,0), NVL(AP.statement_qt,1),
    NVL(RA.statement_print_group_id,0) print_group_id, NVL(RA.approval_state_cd,0), RA.print_statement_in,
    NVL(RA.crossing_group_id,0), NVL(AP.hold_reason_cd,' '), NVL(P.hold_reason_cd,' '),
    NVL(P.currency_cd,' '), NVL(P.threshold_payable_am,0),
    NVL(P.approval_state_cd,0), P.bad_address_in, RA.royaltor_category_cd, NVL(RA.producer_project_id,0),
    sp.statement_frequency_in,sp.royaltor_category_type_in,nvl(PA.periods_balance_am,0),
    nvl(PB.periods_summary_am,0),nvl(NED.recoupable_am,0),nvl(PS.periods_summary_am,0),nvl(NED1.recoupable_am,0)
    FROM account_payee AP, payee P, royaltor_account RA,
    (SELECT statement_print_group_id,statement_frequency_in,royaltor_category_type_in
    FROM statement_print_group SP) sp,
    --SF_CURRENT_RESERVE_BALANCE
    (select /*index(PB index1)*/  /*index(PB index2)*/ royaltor_account_id,
    NVL(sum(PB.periods_balance_am),0) periods_balance_am
    FROM periods_balance PB, statement_group SG
    WHERE PB.group_sequence_id = SG.group_sequence_id
    AND PB.group_id = SG.group_id
    AND PB.payee_id IS NULL
    AND PB.process_period_dt = TO_DATE('30-APR-06','RRRR-MM-DD')
    AND PB.statement_in = 'Y'
    AND SG.transaction_type_cd = 'RSV'
    group by royaltor_account_id) PA,
    ---SF_RECOUPED_ADVANCE_CREDIT_AM
    (select /*index(PS index3)*/  /*index(PS index4)*/ /*+index(PS index5)*/ royaltor_account_id,
    NVL(sum(PS.periods_summary_am),0) periods_summary_am
    FROM periods_summary PS, statement_group SG
    WHERE PS.group_id = SG.group_id
    AND PS.group_sequence_id = SG.group_sequence_id
    AND PS.payee_id IS NULL
    AND PS.process_period_dt = TO_DATE('30-APR-06','RRRR-MM-DD')
    AND PS.statement_in = 'Y'
    AND SG.transaction_type_cd = 'RAD'
    group by royaltor_account_id) PB,
    ---GET PRIOR CROSSING AMOUNT FOR THE ROYALTOR
    (SELECT /*index(NED index6)*/ /*index (NED index7)*/ royaltor_account_id,
    NVL(SUM(NED.recoupable_am),0) recoupable_am
    FROM non_earnings_detail NED, statement_group SG
    WHERE NED.royaltor_account_id = v_royaltor_account_id
    AND NED.payee_id IS NULL
    AND (NED.statement_dt = TO_DATE('30-APR-06','RRRR-MM-DD') OR NED.statement_dt IS NULL)
    AND NED.group_id = SG.group_id
    AND NED.group_sequence_id = SG.group_sequence_id
    AND SG.transaction_category_cd = 'RNE'
    AND SG.transaction_type_cd = 'CRS'
    AND NED.approval_state_cd IS NULL
    AND NED.publisher_advance_transfer_in = 'X'
    AND (NED.source_feed_cd <> 'W' OR NED.source_feed_cd IS NULL)
    group by royaltor_account_id) NED,
    ---GET EARNINGS AMOUNT FOR THE ROYALTOR
    (SELECT /*index(PS index4)*/ /*index (PS index5)*/ royaltor_account_id,
    NVL(SUM(PS.periods_summary_am),0) periods_summary_am
    FROM periods_summary PS, statement_group SG
    WHERE PS.royaltor_account_id = v_royaltor_account_id
    AND PS.payee_id IS NULL
    AND PS.process_period_dt = TO_DATE('30-APR-06','RRRR-MM-DD')      
    AND PS.statement_in = 'Y'
    AND PS.group_id = SG.group_id
    AND PS.group_sequence_id = SG.group_sequence_id
    AND SG.transaction_category_cd IN ('DOE','FOE','TPE')
    group by royaltor_account_id) PS,
    -- GET NON EARNINGS AMOUNT FOR THE ACCOUNT PAYEE
    (SELECT /*index(NED index6)*/ /*index (NED index7)*/ royaltor_account_id,
    NVL(SUM(NED.recoupable_am),0) recoupable_am
    FROM non_earnings_detail NED, statement_group SG
    WHERE NED.royaltor_account_id = v_royaltor_account_id
    AND NED.payee_id = v_payee_id
    AND (NED.statement_dt = TO_DATE('30-APR-06','RRRR-MM-DD') OR NED.statement_dt IS NULL)
    AND NED.group_id = SG.group_id
    AND NED.group_sequence_id = SG.group_sequence_id
    AND SG.transaction_category_cd = 'RNE'
    AND NED.publisher_advance_transfer_in = 'X'
    AND NED.approval_state_cd IS NULL
    AND (NED.source_feed_cd <> 'W' OR NED.source_feed_cd IS NULL)
    group by royaltor_account_id) NED1
    WHERE RA.royaltor_account_id = AP.royaltor_account_id
    and ra.statement_print_group_id = sp.statement_print_group_id
    and PA.royaltor_account_id(+)=RA.royaltor_account_id
    and PB.royaltor_account_id(+)=RA.royaltor_account_id
    and NED.royaltor_account_id(+)=RA.royaltor_account_id
    and NED1.royaltor_account_id(+)=RA.royaltor_account_id
    and PS.royaltor_account_id(+) =RA.royaltor_account_id
    AND AP.payee_id = P.payee_id
    ORDER BY RA.royaltor_account_id ASC;

    According to Metalink note :1012357.6, if you have declared a cursor type, check that your cursor variable is not the same name as the cursor type.

  • PLS-00801: internal error [*** ASSERT at file pdw4.c, line  796;

    Does anyone know what causes this error..
    PLS-00801: internal error [*** ASSERT at file pdw4.c, line  796;
    Cannot coerce between type 49 and type 31;
    The statement that caused this error is:
    SELECT t.xml.EXTRACT('/ROOT/ROW/PURPOSE/text()') Result INTO i_Purpose FROM (SELECT XMLTYPE( Xml_String) XML From dual) t;
    My variable defination is:
    Xml_String varchar2(4000):='<ROOT>
    <Row>
    <Purpose>P1</Purpose>
    <SubP>PS1</SubP>
    <Analyte>
    <ACD1>A1</ACD1>
    <ACD2>A2</ACD2>
    <ACD3>A3</ACD3>
    </Analyte>
    <Inum>1625</Inum>
    <Lnum>sd7879</Lnum>
    <SID>VX2561</SID>
    <wrkNum>1234</wrkNum>
    <wrkStat>Comp</wrkStat>
    <wrsd>20-DEC-2006</wrsd>
    <wred>30-MAR-2007</wred>
         <AssayNum>1234</AssayNum>
         <AssayStat>PEND</AssayStat>
         <Instru>5672</Instru>
         <AssRDTS>30-JUN-2007</AssRDTS>
         <AssRDTE>30-JUN-2007</AssRDTE>
         <Dept>234</Dept>
         <UserID>JDOW</UserID>
    </Row>
    </ROOT>';
    i_purpose varchar2(15):=Null;
    All help is appreciated.
    Regards,
    Kumar.

    Try this..
    scott> WITH testxml as
      2  (SELECT XMLTYPE('<ROOT>
      3  <Row>
      4  <Purpose>P1</Purpose>
      5  <SubP>PS1</SubP>
      6  <Analyte>
      7  <ACD1>A1</ACD1>
      8  <ACD2>A2</ACD2>
      9  <ACD3>A3</ACD3>
    10  </Analyte>
    11  <Inum>1625</Inum>
    12  <Lnum>sd7879</Lnum>
    13  <SID>VX2561</SID>
    14  <wrkNum>1234</wrkNum>
    15  <wrkStat>Comp</wrkStat>
    16  <wrsd>20-DEC-2006</wrsd>
    17  <wred>30-MAR-2007</wred>
    18  <AssayNum>1234</AssayNum>
    19  <AssayStat>PEND</AssayStat>
    20  <Instru>5672</Instru>
    21  <AssRDTS>30-JUN-2007</AssRDTS>
    22  <AssRDTE>30-JUN-2007</AssRDTE>
    23  <Dept>234</Dept>
    24  <UserID>JDOW</UserID>
    25  </Row>
    26  </ROOT>') col1 FROM DUAL)
    27  SELECT EXTRACT(COL1, '/ROOT/Row/Purpose/text()') Result
    28  FROM testxml t;
    RESULT
    P1

  • PLS-00801: internal error [1401] while compiling Package body

    I am getting the error PLS-00801: internal error [1401] while compiling the package.
    recently upgraded to version 11.1.0.7 database .
    Any pointer to this ..

    935026 wrote:
    I am also getting the same error while compiling a procedure which use a remote object over db_link.
    Let me know if this needs to be run on source db or destination db
    1. RUN as SYS
    $ORACLE_HOME/rdbms/admin/utlirp.sql
    $ORACLE_HOME/rdbms/admin/utlrp.sql
    RegardsYES
    post results from SQL below from both DBs
    SELECT * FROM V$VERSION;

  • PLS-00801: internal error [23411]

    After having imported an export dmp-file from a 8.17 DB on Win2k into a 10g (10.1.0) db on linux one package does not compile and stops with the error message:
    PLS-00801: internal error [23411]
    Nothing else.
    (I am using TOAD 8.5.1)
    Any ideas for the reason? Where to look at?
    Wolfram

    Bug No. 3917581 : PLS-00801 INTERNAL ERROR [23411] DOING IMPLICIT CONVERSION FROM NUMBER TO LONG
    Workaround :
    1- Change the data type from Long to varchar2
    or
    2- Do an explicit conversion.

  • PLS-00801: internal error [74301]

    Hi!
    I've written one general procedure to recompile all the objects, but i've received this error. Can anyone tell me what went wrong in my code?
    satyaki>ed
    Wrote file afiedt.buf
      1  create or replace procedure compile_all(object_tp in varchar2,ot out varchar2)
      2  is
      3    cursor c1
      4    is
      5      select distinct object_name
      6      from user_objects
      7      where object_type = upper(object_tp)
      8      and   status = upper('invalid');
      9    r1 c1%rowtype;
    10    type obj_rec is table of user_objects.object_name%type;
    11    obj_tab obj_rec;
    12    cnt  number(5);
    13  begin
    14    open c1;
    15    loop
    16      fetch c1 bulk collect into obj_tab;
    17      forall i in 1..obj_tab.count save exceptions
    18        execute immediate(' ALTER '||upper(object_tp)||' '||obj_tab(i)||' COMPILE ');
    19        exit when c1%notfound;
    20    end loop;
    21    close c1;
    22    ot := 'SUCCESSFULL';
    23  exception
    24    when others then
    25      ot := sqlerrm;
    26* end;
    satyaki>/
    Warning: Procedure created with compilation errors.
    satyaki>
    satyaki>
    satyaki>sho errors;
    Errors for PROCEDURE COMPILE_ALL:
    LINE/COL ERROR
    0/0      PLS-00801: internal error [74301]
    satyaki>Regards.
    Satyaki De.

    But, michael it is not solving the purpose for me -
    satyaki>
    satyaki>CREATE OR REPLACE PROCEDURE compile_all (object_tp IN VARCHAR2, ot OUT VARCHAR2)
      2  IS
      3     CURSOR c1
      4     IS
      5        SELECT DISTINCT object_name
      6                   FROM user_objects
      7                  WHERE object_type = UPPER (object_tp)
      8                    AND status = UPPER ('invalid');
      9  
    10     r1        c1%ROWTYPE;
    11  
    12     TYPE obj_rec IS TABLE OF user_objects.object_name%TYPE;
    13  
    14     obj_tab   obj_rec;
    15     cnt       NUMBER (5);
    16  BEGIN
    17     OPEN c1;
    18  
    19     LOOP
    20        FETCH c1
    21        BULK COLLECT INTO obj_tab;
    22  
    23        FORALL i IN 1 .. obj_tab.COUNT SAVE EXCEPTIONS
    24           EXECUTE IMMEDIATE 'BEGIN EXECUTE IMMEDIATE ''ALTER '' || :object_tp || '' '' || :obj_tab || '' COMPILE'';  END;'
    25                       USING object_tp, obj_tab (i);
    26        EXIT WHEN c1%NOTFOUND;
    27     END LOOP;
    28  
    29     CLOSE c1;
    30  
    31     ot := 'SUCCESSFULL';
    32  EXCEPTION
    33     WHEN OTHERS
    34     THEN
    35        ot := SQLERRM;
    36  END compile_all;
    37  /
    Procedure created.
    satyaki>
    satyaki>
    satyaki>drop table e_emk;
    Table dropped.
    satyaki>
    satyaki>
    satyaki>select test_sat_d('SMITH') from dual;
    select test_sat_d('SMITH') from dual
    ERROR at line 1:
    ORA-06575: Package or function TEST_SAT_D is in an invalid state
    satyaki>
    satyaki>
    satyaki>select object_name
      2  from user_objects
      3  where object_type = upper('function')
      4  and   status = upper('invalid');
    OBJECT_NAME
    ABC
    SP_GET_STOCKS
    TEST_SAT_D
    satyaki>
    satyaki>
    satyaki>create table e_emk
      2  as
      3    select empno,ename
      4    from emp;
    Table created.
    satyaki>
    satyaki>
    satyaki>select object_name
      2  from user_objects
      3  where object_type = upper('function')
      4  and   status = upper('invalid');
    OBJECT_NAME
    ABC
    SP_GET_STOCKS
    TEST_SAT_D
    satyaki>
    satyaki>
    satyaki>declare
      2    rm    varchar2(30000);
      3  begin
      4    compile_all('function',rm);
      5    dbms_output.put_line('Status - '||rm);
      6  end;
      7  /
    Status - ORA-24344: success with compilation error
    PL/SQL procedure successfully completed.
    satyaki>
    satyaki>
    satyaki>set serveroutput on
    satyaki>
    satyaki>
    satyaki>select object_name
      2  from user_objects
      3  where object_type = upper('function')
      4  and   status = upper('invalid');
    OBJECT_NAME
    ABC
    SP_GET_STOCKS
    TEST_SAT_D
    satyaki>As you can see after dropping the table i've executed the function and quite naturally it throws error. Now, after creation of the same table with same structure when i ran the compile all it should successfully compile the last function. But, it is not able to perform this, the reason it throws error after compilation of first function which is ABC and returns to exception section. But, i want to compile all the function even if it throws the error. Now, what should be my next step?
    Regards
    Satyaki De.

  • PLS-00801: internal error [string]

    Hi,
    We recently converted from Oracle 9i to 10g. Few of our packages could not compile. with this PLS-00801 error.
    Well I noticed that in the constructor we were not doing anything so we just had null;
    This was causing the problem.
    Instead I put
    Select 'null' into vcnull from dual;
    and the packages compiled.
    I am posting this here, so that anyone facing this problem knows what to do. Because this is the first place I looked for solution.
    Bye..
    Shilpa

    Shilpa,
    You didnt mention which oracle 10g version you are using at the moment.Also you didnt mention what string you are getting in the PLS error.
    What's given for this error code in Oracle docs(only in 9R2 and 817) is,
    PLS-00801 internal error [string]
    Cause: This is a generic internal error that might occur during compilation or execution. The first parameter is the internal error number.
    Action: Report this error as a bug to Oracle Support Services.
    You need to contact Support for it.Can you explain what exactly you were doing?Why did you use NULL in the select clause?
    Aman....

  • PLS-00801: internal error [79704] Error

    Hello,
    I am using Oracle 92 on Windows Platform.
    I am trying to change Interpreter to NATIVE mode.
    I changed parameters as needed. Below are the parameters I have after change.
    SQL> show parameter plsql_compiler_flags
    NAME TYPE VALUE
    plsql_compiler_flags string NATIVE
    SQL> show parameter native
    NAME TYPE VALUE
    plsql_native_c_compiler string D:\Borland\BCC55\Bin\BCC32.EXE
    plsql_native_library_dir string D:\oracle\ora92\plsql\Lib
    plsql_native_library_subdir_count integer 500
    plsql_native_linker string D:\Borland\BCC55\Bin\ilink32.exe
    plsql_native_make_file_name string D:\oracle\ora92\plsql\spnc_makefile.mk
    plsql_native_make_utility string make
    Also In mk file I did below changes:
    PLSQLHOME=$(ORACLE_HOME)/plsql/
    ORACLELIB=$(ORACLE_HOME)/plsql/lib/
    # PLSQL include
    PLSQLINCLUDE=$(PLSQLHOME)include/
    PLSQLINCLUDEH=$(I_SYM)$(PLSQLINCLUDE)
    # PLSQL public
    PLSQLPUBLIC=$(PLSQLHOME)public/
    PLSQLPUBLICH=$(I_SYM)$(PLSQLPUBLIC)
    #Visual C++ include path
    VCINCLUDE=D:\Borland\BCC55\Include
    VCINCLUDEH=$(I_SYM)$(VCINCLUDE)
    VCLIB=D:\Borland\BCC55\Lib
    CC=D:\Borland\BCC55\Bin\BCC32.EXE
    LD=D:\Borland\BCC55\Bin\ilink32.exe
    By the way I have Borland C in the specified filder and it's working well, when I use it individually.
    When create a SP Ex:
    CREATE OR REPLACE PROCEDURE testc
    AS
    BEGIN
    DBMS_OUTPUT.PUT_LINE('Hello world');
    END;
    I am getting below error
    PLS-00801: internal error [79704]
    Could any one has any Idea on this, as I know, I have set the correct path in all the places and the compiler is there in right place.
    Any help is appriciated!!!

    Hi
    I have Oracle 9i installed on AIX platform and iam trying to do native compilation on the same ,there is c compiler installed on the same .I have taken the reference from one of the fix given by oracle itself
    http://www.oracle.com/technology//tech/pl_sql/htdocs/README_2188517.htm
    I have made the following changes
    ALTER SYSTEM SET PLSQL_COMPILER_FLAGS='NATIVE';
    ALTER SYSTEM SET PLSQL_NATIVE_LIBRARY_DIR='/home/ora9i/libdir';
    ALTER SYSTEM SET PLSQL_NATIVE_LIBRARY_SUBDIR_COUNT=1000;
    ALTER SYSTEM SET PLSQL_NATIVE_MAKE_FILE_NAME='/appl/oracle/product/9.2.0/plsql/spnc_makefile.mk';
    ALTER SYSTEM SET PLSQL_NATIVE_MAKE_UTILITY='/usr/bin/make';
    and executed the script given in the Fix .But after doing all these if i compile i am facing the following error
    PLS-00923: native compilation failed: make:spdtexmk:?
    Can anyone faced or tell me whether i have to make changes to overcome this error ,please throw some light .
    My work is greatly affected because of this problem ,please help me.
    thanks in advance for your help
    Hoping for a response
    Regards
    Sampath Kumar

Maybe you are looking for

  • How do I transfer iPhone content back to laptop after hard disk crash

    My old hard disk crashed a week ago. How do I transfer all my iPhone content (music, apps, podcasts, ...) back to my laptop after having a new hard disk installed?

  • Cannot Resize Images in Elements 8

    Hi, I recently had my laptop stolen and I had to reinstall in Elements 8 on my new computer. Since then, I have unable to resize images. I go to Image -> Resize -> Image Size and the pixel dimensions box is grayed out and I am unable to change the pi

  • Reading information of Backend - Purchase Order

    Hello, We use SRM 5.0 - Clasic escenario I have a question regarding Confirmation of Purchase orders in SRM. I understand that in table BBP_PDBEI the number of te Purchase order (and its position) is stored wth which SRM goes to the R/3 Backend to re

  • Unable to extend or coalesce PSAPTEMP

    Hi All, When my BI developer is trying to load data into the BI system it is erroring out saying Unable to extend the PSAPTEMP, so i tried to enlarge the PSAPTEMP table space and also tried to COALESCE it but i couldn't do both operations though i lo

  • BC4J ViewLink and CURSORS

    I am using BC4J ViewObjects and ViewLinks. With ViewObjects method closeFreedStatements() works fine and closes Open Cursor in the database. How should I close Rowset and Statements when using ViewObjects trought ViewLinks?