Re: ORA-06530: Reference to uninitialized composite

From: Stephanie <stephanie.m.deantoni_at_efunds.com>
Date: 11 Dec 2001 06:32:57 -0800
Message-ID: <2d7a48ee.0112110632.76c26c04_at_posting.google.com>


stephanie.m.deantoni_at_efunds.com (Stephanie) wrote in message news:<2d7a48ee.0112101045.6d223307_at_posting.google.com>...
> After upgrading to 8.1.7, we're getting this error ([Microsoft][ODBC
> driver for Oracle][Oracle]ORA-06530: Reference to uninitialized
> composite
> ORA-06512: at "ANMSAPP.PKG_T_ACCT_NBR", line 192
> ORA-06512: at line 1) at inconsistent times. The system will go weeks
> without a problem, then we'll see the error 10 times in one day. I
> have not been able to recreate the error in our test environment (also
> 8.1.7). I've posted the package and package body below. If anyone
> has any ideas, it would be very helpful. Thanks!
>
>
> CREATE OR REPLACE PACKAGE pkg_t_acct_nbr
> AS
> TYPE t_ordr_id IS TABLE of NUMBER(10)
> INDEX BY BINARY_INTEGER;
> TYPE t_acct_nbr_nbr IS TABLE of NUMBER(7)
> INDEX BY BINARY_INTEGER;
> TYPE t_acct_nbr IS TABLE of VARCHAR2(20)
> INDEX BY BINARY_INTEGER;
> TYPE t_rej_ind IS TABLE of VARCHAR2(1)
> INDEX BY BINARY_INTEGER;
> TYPE t_print_ind IS TABLE of VARCHAR2(1)
> INDEX BY BINARY_INTEGER;
> PROCEDURE sel_acct_nbr_m_003
> (i_ordr_id IN NUMBER,
> o_ordr_id OUT t_ordr_id,
> o_acct_nbr_nbr OUT t_acct_nbr_nbr,
> o_acct_nbr OUT t_acct_nbr,
> o_rej_ind OUT t_rej_ind,
> o_print_ind OUT t_print_ind);
> END pkg_t_acct_nbr;
>
>
>
> CREATE OR REPLACE PACKAGE BODY pkg_t_acct_nbr
> AS
> PROCEDURE sel_acct_nbr_m_003
> (i_ordr_id IN NUMBER,
> o_ordr_id OUT t_ordr_id,
> o_acct_nbr_nbr OUT t_acct_nbr_nbr,
> o_acct_nbr OUT t_acct_nbr,
> o_rej_ind OUT t_rej_ind,
> o_print_ind OUT t_print_ind)
>
> IS
> CURSOR acct_nbr_cur IS
> SELECT
> ordr_id,
> acct_nbr_nbr,
> acct_nbr,
> rej_ind,
> print_ind
> FROM acct_nbr
> WHERE ordr_id = i_ordr_id
> ORDER BY acct_nbr_nbr;
>
> rownumber NUMBER DEFAULT 1;
> BEGIN
> FOR row IN acct_nbr_cur
> LOOP
> o_ordr_id(rownumber) := row.ordr_id;
> o_acct_nbr_nbr(rownumber) := row.acct_nbr_nbr;
> o_acct_nbr(rownumber) := row.acct_nbr;
> o_rej_ind(rownumber) := row.rej_ind;
> o_print_ind(rownumber) := row.print_ind;
> rownumber := rownumber + 1;
> END LOOP;
> END;
> END;
As a followup, I was able to finally recreate this error on our development system. In this case, in conjuction with the ORA-06530 error, we're also seeing the ORA-04030: out of process memory when trying to allocate 5999952 bytes (callheap,bind var buf) often shortly after the 6530 error. I'm wondering if the 6530 error could be a memory issued? I'm not a DBA so in this area I'm a little over my head. Any help would be appreciated... Received on Tue Dec 11 2001 - 15:32:57 CET

Original text of this message