ORA-00604: error occurred at recursive SQL when calling proc via db_link

Hi,
I'm on 9.2.0.8 and got strange issue with simple test case
on source db:
CREATE OR REPLACE PROCEDURE ADMIN.gg_ref(out_tokens OUT SYS_REFCURSOR) is
  BEGIN
  OPEN out_tokens for select dummy from dual;
END ;
Now testing code localy:
SQL> var r refcursor
SQL> declare
  2   output sys_refcursor;
  3  begin
  4   adminx.gg_ref(output);
  5  :r:=output;
  6  end;
  7  /
PL/SQL procedure successfully completed.
SQL> print r
D
X
So its working.
I've got db_link to that db , and now call that proc via dblink from other 9.2.0.8 DB:
var r refcursor
  1  declare
  2   output sys_refcursor;
  3  begin
  4   admin.gg_ref@LINK_NAME(output);
  5  :r:=output;
  6* end;
SQL> /
declare
ERROR at line 1:
ORA-00604: error occurred at recursive SQL level 1
ORA-00900: invalid SQL statementWhats wrong with my code ?
Are there any restriction I'm not aware of ?
Regards
GregG

GregG wrote:
What should my code look like now ?
Should I rewrite this as function returning index by collection or something ?You can use DBMS_SQL - but use the remote package and not the local one. This is a little bit more complex ito call interface than using a ref cursor, but is the very same thing on the server side. DBMS_SQL also provides a more comprehensive set of features than using the ref cursor interface.
The main issue though is additional coding - as DBMS_SQL is a lower level interface (a lot closer to the real Oracle Call Interface/OCI):
--// on remote database the procedure returns a DBMS_SQL cursor instead of a ref cursor
SQL> create or replace procedure FooProc( cur in out number, deptID number ) is
  2          rc      number;
  3  begin
  4          cur := DBMS_SQL.open_cursor;
  5 
  6          DBMS_SQL.parse(
  7                  cur,
  8                  'select ename from emp where deptno = :deptID',
  9                  DBMS_SQL.native
10          );
11 
12          DBMS_SQL.Bind_Variable( cur, 'deptID', deptID );
13 
14          rc := DBMS_SQL.Execute( cur );
15  end;
16  /
Procedure created.
--// from the local database side we call this remote proc
SQL> declare
  2          c               number;  --// instead of using sys_refcursor
  3          empName         varchar2(10); --// buffer to fetch column into
  4  begin
  5          FooProc@testdb( c, 10 );  --/ call the proc that creates the cursor
  6 
  7          --// we need to define our fetch buffer for the 1st column in the
  8          --// SQL projection of that cursor (10 byte fetch buffer for 1st column)
  9          DBMS_SQL.define_column@testdb( c, 1, empName, 10 );
10 
11          --// we now fetch from this cursor, but via the DBMS_SQL
12          --// interface
13          loop
14                  --// fetch the row (exit when 0 rows are fetched)
15                  exit when DBMS_SQL.Fetch_Rows@testdb( c ) = 0;
16 
17                  --// copy value of 1st column in row into the local PL/SQL buffer
18                  DBMS_SQL.column_value@testdb( c, 1, empName );
19 
20                  --// record value it via dbms output
21                  DBMS_OUTPUT.put_line( 'name='||empName||' deptID=10' );
22          end loop;
23 
24          --// close it explicitly as you would a ref cursor
25          DBMS_SQL.Close_Cursor@testdb( c );
26  end;
27  /
name=CLARK deptID=10
name=KING deptID=10
name=MILLER deptID=10
PL/SQL procedure successfully completed.
SQL>

Similar Messages

  • ORA-00604: error occurred at recursive SQL level 1 ORA-01882: timezone

    Hi
    I'm trying to config my base_domain for SOA11g but i'm getting the following error when connecting to my Oracle XE DB to configure SOA,
    please help thanks
    Software installed
    OS: Windows 7 64bit
    DB: Oracle XE 10g
    Oracle SOA 11.1.1.4.0
    Oracle RCU 11.1.1.4.0
    Oracle wls1034_generic
    Error Detials
    Component Schema=SOA Infrastructure
    Driver=oracle.jdbc.xa.client.OracleXADataSource
    URL=jdbc:oracle:thin:@127.0.0.1:1521/XE
    User=DEV_SOAINFRA
    Password=********
    SQL Test=select 1 from schema_version_registry where owner=(select user from dual) and mr_type='SOAINFRA' and version='11.1.1.4.0'
    ORA-00604: error occurred at recursive SQL level 1
    ORA-01882: timezone region  not found
    CFGFWK-60850:  Test Failed!
    Component Schema=User Messaging Service
    Driver=oracle.jdbc.OracleDriver
    URL=jdbc:oracle:thin:@127.0.0.1:1521/XE
    User=DEV_ORASDPM
    Password=********
    SQL Test=select 1 from schema_version_registry where owner=(select user from dual) and mr_type='ORASDPM' and version='11.1.1.2.0'
    ORA-00604: error occurred at recursive SQL level 1
    ORA-01882: timezone region  not found
    CFGFWK-60850:  Test Failed!
    Component Schema=OWSM MDS Schema
    Driver=oracle.jdbc.OracleDriver
    URL=jdbc:oracle:thin:@127.0.0.1:1521/XE
    User=DEV_MDS
    Password=********
    SQL Test=select 1 from schema_version_registry where
                        owner=(select user from dual) and mr_type='MDS' and
                        version='11.1.1.4.0'
    ORA-00604: error occurred at recursive SQL level 1
    ORA-01882: timezone region  not found
    CFGFWK-60850:  Test Failed!
    Component Schema=SOA MDS Schema
    Driver=oracle.jdbc.OracleDriver
    URL=jdbc:oracle:thin:@127.0.0.1:1521/XE
    User=DEV_MDS
    Password=********
    SQL Test=select 1 from schema_version_registry where owner=(select user from dual) and mr_type='MDS' and version='11.1.1.4.0'
    ORA-00604: error occurred at recursive SQL level 1
    ORA-01882: timezone region  not found
    CFGFWK-60850:  Test Failed!
    Component Schema=OSB JMS Reporting Provider
    Driver=org.apache.derby.jdbc.ClientDriver
    URL=jdbc:derby://127.0.0.1:1521/XE;create=true;ServerName=127.0.0.1;databaseName=XE
    User=DEV_SOAINFRA
    Password=********
    SQL Test=SELECT 1 FROM SYS.SYSTABLES
    Insufficient data while reading from the network - expected a minimum of 6 bytes and received only 0 bytes.  The connection has been terminated.
    CFGFWK-60850:  Test Failed!

    Hi,
    Please check the timezone set in your server where Weblogic is installed. Also ensure the timezone on which your weblogic is running, the same is present in in database by querying V$TIMEZONE_NAMES table. If it is not present then please change the timezone of the server. then try to execute the steps what you are doing, it will not throw any error.
    if this helps please mark.
    Thanks,
    Kishore

  • ORA-00604: error occurred at recursive SQL level 1

    Hi,
    i have a view as source (DB2)
    Target table in Oracle with the same structure
    when i view data from the view all the records are listed.
    after mapping the source and target source gets fail while debuging (test data)
    and also while deploying the mapping i get the following error.
    Anyone knows about the following errors
    ACBLODS_MAP
    Create
    Warning
    ORA-06550: line 0, column 0:
    ORA-04052: error occurred when looking up remote object [email protected]@DB2_KAPIL_LOCATION
    ORA-00604: error occurred at recursive SQL level 1
    ORA-28500: connection from ORACLE to a non-Oracle system returned this
    please someone help me to solve this
    thanks in advance
    regards
    raja

    I had a simular problem with progress. If the progress table had to many columns
    OWB was failing. The problem was the ODBC driver used to make a connection to PROGRESS.

  • ORA-00604: error occurred at recursive SQL level 1 (Call to a Oracle View)

    I have created a view that refers to a package function within the sql select.
    Like
    E.x
    CREATE OR REPLACE VIEW VW_TAX
    as select
    test_pkg.fn_get_gl_value(acct_id) desired_col1,
    test_pkg.fn_get_gl_desc_value(acct_id) desired_col2
    From tables a, b
    a.col= b.col
    The sample function( fn_get_gl_value) is embedded into a package (test_pkg).
    Function fn_get_gl_value:
    It earlier referred to table A1, B1, C1 and this query took really long, Therefore I used object type tables and stored the values required once within the package when it is invoked. Later I used the Tables A1, B1 and C1(table Cast from the type Table Loaded in Package Memory)
    The query was fast and fine, but now when I try to re-use the view
    select * from VW_TAX
    where acct_id = '02846'
    It fails with this message
    09:32:35 Error: ORA-00604: error occurred at recursive SQL level 1
    ORA-01000: maximum open cursors exceeded
    Note: The database is Oracle8i Enterprise Edition Release 8.1.7.4.0.
    Maximum cursors database is 500
    Please let me know if there is any known solution,
    Appreciate all your help
    Thanks
    RP

    Seems like your OPEN_CURSORS init.ora parameter is set too low.
    See Metalink Note:1012266.6 for details.
       ORA-01000: "maximum open cursors exceeded"
            Cause: A host language program attempted to open too many cursors.
                   The initialization parameter OPEN_CURSORS determines the
                   maximum number of cursors per user.
           Action: Modify the program to use fewer cursors. If this error occurs
                   often, shut down Oracle, increase the value of OPEN_CURSORS,
                   and then restart Oracle.

  • ORA-00604: error occurred at recursive SQL level

    I only have 2 users and approx 9 schemas.
    Why is this complaining about maximum cursors??
    Error message:
    ORA-00604: error occurred at recursive SQL level
    ORA-01000: maximum open cursors exceeded
    ORA-0064 error occurred at recursive SQL level
    Cause:
    An error occurred at recursive SQl level
    (a statement applying to internal dictionary tables)
    >>
    Created 2 users
    1) boundaries (User)
    has a couple of schema.
    National, provincial, district, village
    I have set-up the Primary & Foreign keys.
    Only 1 table has 1 row of data
    2) Projects (User)
    Set up one table - Program
    Program has a Primary Key.
    Foreign key is linked to (boundaries) national PK
    The problem occured when I entered data into boundaries.national

    Clive_S wrote:
    OS: Windows Server 2008 standard - 64 bit.
    Select * from v$version
    Oracle Database 11g release 11.1.0.7.0 - 64 bit
    PL/SQL release 11.1.0.7.0 - production core 11.1.0.7.0
    Production TNS for 64-bit windows: 11.1.0.7.0
    Production NLSRTL for 64-bit windows: 11.1.0.7.0
    I am trying to replicate in Oracle what I would do in SQL Server. There's your first mistake. There are too many differences. My first programming language was COBOL, but I don't write other languages as if they were COBOL.
    I cannot attach an image of the users & tablespace, to illustrate.Another reason to work in sqlplus.
    >
    I created 2 User = Boundaries and Project
    I created several schemas (tables)No, you created 2 schemas. One user = one schema = one user.
    A schema is not a table and a table is not a schema. A schema is a collection of objects, which can include multiple tables but only those owned by one username.
    >
    Boundaries (user)
    Tables:
    Country
    Province
    District
    Village
    Projects (user)
    Tables:
    Program
    Project.Program has a FK = Country that is linked to Boundaries.Country
    I need to create several scemas (databases):Another difference. a schema is not a database, though the sql server concept of a database is somewhat analogous to an oracle schema.
    Boundaries, Project, Assets.
    There are foreign keys linking the various schemas.FKs link tables not schemas.
    Edited by: EdStevens on Feb 26, 2010 10:30 AM

  • ORA-00604: error occurred at recursive SQL level 1 + ORA-04031

    Hi,
    SQL> select * from v$version;
    BANNER
    Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bi
    PL/SQL Release 10.2.0.1.0 - Production
    CORE    10.2.0.1.0      Production
    TNS for Solaris: Version 10.2.0.1.0 - Production
    NLSRTL Version 10.2.0.1.0 - Production
    os version : SunOS oratest 5.10 Generic_127127-11 sun4u sparc SUNW,Sun-Fire-V210
    SQL> show parameter  sga_target
    NAME                                 TYPE        VALUE
    sga_target                           big integer 892M
    SQL> show parameter shared_pool_size
    NAME                                 TYPE        VALUE
    shared_pool_size                     big integer 112M
    when i do normal query i am getting ora-04031 error and 10g server is Automatic Shared Memory Management since i set sga_target and server as to do automatically readjusts the sizes of memory pools, if that is the case why it throwing ora-04031 error;
    below errors showing before bounce the database
    SQL> show parameter size
    ORA-04031: unable to allocate 3840 bytes of shared memory ("shared
    pool","unknown object","sga heap(1,0)","kglsim object batch")
    SQL> select * from tab
      2  ;
    select * from tab
    ERROR at line 1:
    ORA-04031: unable to allocate 3840 bytes of shared memory ("shared
    pool","select * from tab
    ","sga heap(1,0)","kglsim object batch")
    alert log file:
    Errors in file /oracle/admin/appsdb/bdump/appsdb_smon_19154.trc:
    ORA-00604: error occurred at recursive SQL level 1
    ORA-04031: unable to allocate 3840 bytes of shared memory ("shared pool","unknown object","sga heap(1,0)","kglsim object batc
    h")
    Thanks
    PrakashEdited by: prakashdba on Jan 10, 2009 12:31 AM
    Edited by: prakashdba on Jan 10, 2009 4:10 AM

    And your version number is?
    And your patch level is?
    And your hardware and operating system are?
    What did you find when you looked this up at metalink?
    Did you follow the advice in the metalink Knowledge Base docs?

  • ORA-00604: error occurred at recursive SQL level 2

    Hello,
    I am trying to create a simple table and I am getting a ora error as below.
    SQL> create table album(name varchar2(100),image blob);
    create table album(name varchar2(100),image blob)
    ERROR at line 1:
    ORA-00604: error occurred at recursive SQL level 2
    ORA-01422: exact fetch returns more than requested number of rows
    how to resolve this?Any help..
    Thanks,
    Ranz.

    Hi,
    *@Anurag Tibrewal,*
    I followed as per the order od statements you gave. Initially there was no table "ALBUM" when I executed the first 2 statements.
    3rd staement i created a table "ALBUM" and then 4th and 5th statement showed that I have a table called "ALBUM".
    Now when again I wanted to drop the table I am getting the same error.
    SQL> drop table album
    2 ;
    drop table album
    ERROR at line 1:
    ORA-00604: error occurred at recursive SQL level 1
    ORA-01422: exact fetch returns more than requested number of rows
    *@Jean-Valentin*
    I am not finding the trace file for today as i checked the alert log. When i searched for the the error I found the error for March 4. No ora-00604 error from today.
    As shown in ALERT LOG.
    Thu Mar 04 10:50:41 2010
    Errors in file d:\oracle\product\10.2.0\admin\raneeshtest\bdump\*raneeshtest_j000_5976.trc*:
    ORA-00604: error occurred at recursive SQL level 1
    ORA-04030: out of process memory when trying to allocate 172 bytes (Typecheck,seg:kggfaAllocSeg)
    ORA-12012: error on auto execute of job 1
    ORA-04030: out of process memory when trying to allocate 16428 bytes (pga heap,kgh stack)
    Trace file details:
    Dump file d:\oracle\product\10.2.0\admin\raneeshtest\bdump\raneeshtest_j000_5976.trc
    Thu Mar 04 10:50:31 2010
    ORACLE V10.2.0.3.0 - Production vsnsta=0
    vsnsql=14 vsnxtr=3
    Personal Oracle Database 10g Release 10.2.0.3.0 - Production
    With the Partitioning, OLAP and Data Mining options
    Windows NT Version V6.0 Service Pack 1
    CPU : 2 - type 586, 2 Physical Cores
    Process Affinity : 0x00000000
    Memory (Avail/Total): Ph:27M/2037M, Ph+PgF:341M/4352M, VA:4M/2047M
    Instance name: raneeshtest
    Redo thread mounted by this instance: 1
    Oracle process number: 15
    Windows thread id: 5976, image: ORACLE.EXE (J000)
    *** 2010-03-04 10:50:31.224
    *** ACTION NAME:() 2010-03-04 10:50:30.276
    *** MODULE NAME:() 2010-03-04 10:50:30.195
    *** SERVICE NAME:(SYS$USERS) 2010-03-04 10:50:30.195
    *** SESSION ID:(137.401) 2010-03-04 10:50:30.195
    *********START PLSQL RUNTIME DUMP************
    ***Got internal error Exception caught in pfrrun() while running PLSQL***
    ***Got ORA-4030 while running PLSQL***
    PACKAGE SYSMAN.MGMT_ADMIN_DATA:
    library unit=3416af50 line=128 opcode=117 static link=0 scope=0
    FP=3ca31374 PC=30f42000 Page=0 AP=3ca47b2c ST=3ca32778
    DL0=3ca46564 GF=3ca465b0 DL1=3ca46584 DPF=3ca465a8 DS=30f421e4
    DON library unit variable list instantiation
    0 3416af50 3ca465b0 3ca2005c
    1
    2
    3
    4
    5
    6
    7
    scope frame
    2 0
    1 3ca31374
    package variable address size
    0 3ca46698 16
    1 3ca466a8 16
    2 3ca466b8 16
    3 3ca466c8 16
    4 3ca466d8 16
    5 3ca466e8 20
    6 3ca466fc 16
    7 3ca4670c 20
    8 3ca46720 16
    9 3ca46730 4
    10 3ca46734 4
    11 3ca46738 4
    12 3ca4673c 4
    13 3ca46740 4
    14 3ca46744 4
    15 3ca46748 4
    16 3ca4674c 4
    17 3ca46750 4
    18 3ca46754 4
    19 3ca46758 4
    20 3ca4675c 4
    21 3ca46760 20
    22 3ca46774 20
    23 3ca46788 20
    24 3ca4679c 20
    25 3ca467b0 4
    26 3ca467b4 4
    27 3ca467b8 4
    28 3ca467bc 4
    29 3ca467c0 16
    30 3ca467d0 16
    31 3ca467e0 8
    32 3ca467e8 39
    33 3ca46810 39
    34 3ca46838 521
    35 3ca46a44 521
    36 3ca46c50 140
    37 3ca46cdc 140
    38 3ca46d68 30
    39 3ca46d88 30
    40 3ca46da8 30
    41 3ca46dc8 30
    42 3ca46de8 30
    43 3ca46e08 30
    44 3ca46e28 30
    45 3ca46e48 30
    46 3ca46e68 30
    47 3ca46e88 30
    48 3ca46ea8 30
    49 3ca46ec8 30
    50 3ca46ee8 140
    51 3ca46f74 140
    52 3ca47000 30
    53 3ca47020 30
    54 3ca47040 30
    55 3ca47060 30
    56 3ca47080 39
    57 3ca470a8 39
    version=43123476 instantiation size=2920
    line pcode offset
    1 2
    4 620
    5 632
    6 632
    7 638
    8 644
    14 650
    29 810
    44 970
    47 992
    48 1000
    49 1008
    50 1016
    51 1024
    52 1032
    53 1040
    54 1048
    55 1056
    56 1064
    57 1072
    60 1080
    128 1814
    196 2548
    197 2554
    198 2560
    199 2566
    205 2572
    206 2578
    438 2584
    1 2586
    ***********END PLSQL RUNTIME DUMP************
    *** 2010-03-04 10:50:40.690
    ORA-12012: error on auto execute of job 1
    ORA-04030: out of process memory when trying to allocate 16428 bytes (pga heap,kgh stack)
    *** 2010-03-04 10:50:41.206
    ORA-00604: error occurred at recursive SQL level 1
    ORA-04030: out of process memory when trying to allocate 172 bytes (Typecheck,seg:kggfaAllocSeg)
    ORA-12012: error on auto execute of job 1
    ORA-04030: out of process memory when trying to allocate 16428 bytes (pga heap,kgh stack)
    SQL> select * from dual;
    D
    X
    SQL>
    This is the output. Its returning corredclty. Now what is the problem? Pls help me.

  • ORA-00604: error occured at recursive SQL Level 1

    Hi,
    I have installed XE Oracle Database Version 9.0.1.4.0 in VISTA Home Premium and Oracle Developer suite10g version 9.0.4.0.19
    I received the following error message when I try to connect the Database in Form Developer or sqlplusl.
    ORA-00604: error occured at recursive SQL Level 1
    ORA-01009: missing mandatory parameter
    but when i run through XE-database it works fine..
    Any one can you help to solve this problem.
    Thanks in Advance.

    I guess you meant to ask on the XE forum, as this has nothing to do with ADF or JDeveloper.
    John

  • ORA-00604:error occurred at recursive SQL level 1ORA-01003:no stmnt parsed

    Following PL/SQL block works fine when executed as SQL statement but throws
    2147217900:ORA-00604: error occurred at recursive SQL level 1ORA-01003: no statement parsed
    error, when called from application (Visual Basic 6.0).
    Procedure xyz(pStartDt IN VARCHAR2,pEndDt IN VARCHAR2,pErrorDesc OUT VARCHAR2, pReportData OUT SYS_REFCURSOR) IS
    Begin
    Open pReportData For
    WITH Dataset AS
    (SELECT SUBSTR(forename,1,1) FName, trim(surname) SurName, trim(NVL(address_1, address_2)) Addr,
    DECODE(UPPER(hacc_num),'999999999',NULL,'N/A', NULL,'NA', NULL, 'NON GIVEN', NULL, 'NOT GIVEN', NULL, 'UNKNOWN', NULL,'NONE GIVEN', NULL,hacc_num) HaccNum,
            TRUNC(receipt_date) RcptDate,
            UPPER(SUBSTR(forename,1,1)||trim(surname)||trim(NVL(address_1, address_2))) NameAddr,
            casenum, customer_title, forename, address_1, address_2, postcode, comp_date                        
            FROM bprit_act_current
            WHERE proc_code = 'CF2'
            AND receipt_date BETWEEN ADD_MONTHS(TO_DATE(p_dtEnd,'dd/mm/yyyy'), -3)+1
            AND TO_DATE(p_dtEnd,'dd/mm/yyyy')
            AND ((ForeName IS NOT NULL AND SurName IS NOT NULL AND NVL(address_1, address_2) IS NOT NULL)
            OR hacc_num IS NOT NULL)),
    RequiredData AS (SELECT *
                     FROM Dataset
                     WHERE RcptDate BETWEEN TO_DATE(p_dtStart,'dd/mm/yyyy') AND TO_DATE(p_dtEnd,'dd/mm/yyyy')),
    DuplicateData AS (SELECT a.nameaddr, NULL haccnum, COUNT(a.Addr) Cnt
                      FROM Dataset a, RequiredData b
                      WHERE (a.NameAddr = b.NameAddr) 
                      GROUP BY a.nameaddr
                      HAVING COUNT(1) >1
                      UNION ALL
                      SELECT NULL nameaddr, a.haccnum, COUNT(1) Cnt
                      FROM Dataset a, RequiredData b
                      WHERE (a.haccnum = b.haccnum) 
                      GROUP BY a.haccnum
                      HAVING COUNT(1) >1)
    SELECT DISTINCT a.casenum "Case No.", a.customer_TITLE "Title", a.FORENAME "Forename", a.SURNAME "Surname", a.HACCNUM "Holding/Account No.",
           a.ADDRESS_1 "Address Line1", a.ADDRESS_2 "Address Line 2",a.POSTCODE "Post Code", a.RcptDate "Receipt Date", a.comp_date "Complete Date"
      FROM Dataset a, DuplicateData b
    WHERE (a.nameaddr = b.nameaddr) OR (a.haccnum = b.haccnum)
    ORDER BY a.haccnum, a.forename, a.surname, a.address_1, a.address_2;
    EXCEPTION
    WHEN OTHERS THEN
    pErrorDesc  := SUBSTR(SQLERRM, 1, 255);
    END XYZ;Any help will be appreciated.
    Oracle version is 9.2.0.6.0.
    SQL commands works fine if executed alone but calling from vb application throw following error,
    [12:53:23][ERR]getReportData::-2147217900:ORA-00604: error occurred at recursive SQL level 1ORA-01003: no statement parsed
    Edited by: rav_bhu on 05-May-2009 05:30

    Few points
    1. Use {noformat} <put your code here> {noformat} tags to format your code. Its ugly without formatting.
    2. Please remove the WHEN OTHERS THEN from your code and run again. Get the full error message with line number and post it here.
    3. Mention your database version.

  • ORA-00604: error occured at recursive SQL level 1 ORA-12705: Cannot access

    Oracle Database 10g Express Edition Release 10.2.0.1.0 on
    OS Linux Debian 3.1_r4_stable
    SQL> select userenv('LANGUAGE') from dual;
    USERENV('LANGUAGE')
    RUSSIAN_RUSSIA.AL32UTF8
    Client OS MS Vista Ultimate EN , region=RUSSIAN.RUSSIA
    Oracle Developer suite 10
    SQL-Developer
    Version 1.1.0.23.
    NLS_LANG=RUSSIAN_RUSSIA.CL8MSWIN1251
    Oracle Developer suite 10 is working properly but when
    i am attempting a connection between Oracle 10g XE and SQL-Developer.
    Need some help to resolve this error message....
    ORA-00604: error occured at recursive SQL level 1 ORA-12705: Cannot access NLS data files or invalid enviroment specified

    Hi,
    You have to set NLS_LANG before connect to Oracle Database.
    $export NLS_LANG=.AL32UTF8

  • ORA-00604: error occurred at recursive SQL level 1 ORA-04063: table....

    Hi all,
    i have the following code:
    DROP TYPE unit_function FORCE
    DROP TYPE unit_moving_point FORCE
    DROP TYPE moving_point_tab FORCE
    DROP TYPE moving_point FORCE
    DROP TABLE moving_object_ref
    DROP TABLE moving_point_ref
    CREATE OR REPLACE TYPE unit_function AS OBJECT
    xi NUMBER,
    yi NUMBER
    CREATE OR REPLACE TYPE unit_moving_point AS OBJECT
    p tau_tll.d_period_sec,
    m unit_function
    CREATE OR REPLACE TYPE moving_point_tab AS TABLE OF unit_moving_point;
    CREATE OR REPLACE TYPE moving_point AS OBJECT
    u_tab moving_point_tab
    CREATE TABLE moving_point_ref OF moving_point NESTED TABLE u_tab STORE AS m_u_tab
    When i execute this for the first time the drop commands fail, as expected and the types/tables are successfully created. But if i try to run again the same code i get this error:
    ORA-00604: error occurred at recursive SQL level 1 ORA-04063: table "HERMESL.MOVING_POINT_REF" has errors
    I have tried to first drop the tables and after the types but then I get this error:
    ORA-00604: error occurred at recursive SQL level 1 ORA-22914: DROP of nested tables not supported
    this error occurs when the "DROP TYPE unit_function FORCE" and "DROP TYPE unit_moving_point FORCE" commands is to be executed...
    Can anyone help me?
    Thanks...

    Works on 10.1.0.3.
    What is your exact version?
    SQL> DROP TYPE unit_function FORCE
      2  /
    DROP TYPE unit_function FORCE
    ERROR at line 1:
    ORA-04043: object UNIT_FUNCTION does not exist
    SQL> DROP TYPE unit_moving_point FORCE
      2  /
    DROP TYPE unit_moving_point FORCE
    ERROR at line 1:
    ORA-04043: object UNIT_MOVING_POINT does not exist
    SQL> DROP TYPE moving_point_tab FORCE
      2  /
    DROP TYPE moving_point_tab FORCE
    ERROR at line 1:
    ORA-04043: object MOVING_POINT_TAB does not exist
    SQL> DROP TYPE moving_point FORCE
      2  /
    DROP TYPE moving_point FORCE
    ERROR at line 1:
    ORA-04043: object MOVING_POINT does not exist
    SQL> DROP TABLE moving_object_ref
      2  /
    DROP TABLE moving_object_ref
    ERROR at line 1:
    ORA-00942: table or view does not exist
    SQL> DROP TABLE moving_point_ref
      2  /
    DROP TABLE moving_point_ref
    ERROR at line 1:
    ORA-00942: table or view does not exist
    SQL>
    SQL> CREATE OR REPLACE TYPE unit_function AS OBJECT
      2  (
      3  xi NUMBER,
      4  yi NUMBER
      5  );
      6  /
    Type created.
    SQL> CREATE OR REPLACE TYPE unit_moving_point AS OBJECT
      2  (
      3            m unit_function
      4  );
      5  /
    Type created.
    SQL> CREATE OR REPLACE TYPE moving_point_tab AS TABLE OF unit_moving_point;
      2  /
    Type created.
    SQL> CREATE OR REPLACE TYPE moving_point AS OBJECT
      2  (
      3  u_tab moving_point_tab
      4  );
      5  /
    Type created.
    SQL> CREATE TABLE moving_point_ref OF moving_point
      2  NESTED TABLE u_tab
      3  STORE AS m_u_tab
      4  /
    Table created.
    SQL> DROP TYPE unit_function FORCE
      2  /
    Type dropped.
    SQL> DROP TYPE unit_moving_point FORCE
      2  /
    Type dropped.
    SQL> DROP TYPE moving_point_tab FORCE
      2  /
    Type dropped.
    SQL> DROP TYPE moving_point FORCE
      2  /
    Type dropped.
    SQL> DROP TABLE moving_object_ref
      2  /
    DROP TABLE moving_object_ref
    ERROR at line 1:
    ORA-00942: table or view does not exist
    SQL> DROP TABLE moving_point_ref
      2  /
    Table dropped.
    SQL>
    SQL> CREATE OR REPLACE TYPE unit_function AS OBJECT
      2  (
      3  xi NUMBER,
      4  yi NUMBER
      5  );
      6  /
    Type created.
    SQL> CREATE OR REPLACE TYPE unit_moving_point AS OBJECT
      2  (
      3            m unit_function
      4  );
      5  /
    Type created.
    SQL> CREATE OR REPLACE TYPE moving_point_tab AS TABLE OF unit_moving_point;
      2  /
    Type created.
    SQL> CREATE OR REPLACE TYPE moving_point AS OBJECT
      2  (
      3  u_tab moving_point_tab
      4  );
      5  /
    Type created.
    SQL> CREATE TABLE moving_point_ref OF moving_point
      2  NESTED TABLE u_tab
      3  STORE AS m_u_tab
      4  /
    Table created.
    SQL> disconnect
    Disconnected from Oracle Database 10g Enterprise Edition Release 10.1.0.3.0 - Production
    With the Partitioning, OLAP and Data Mining options

  • (ORA-00604: error occurred at recursive SQL level 1 ORA-01882: timezone reg

    i use netbeans, i am trying to connect to the oracle server. my laptops time zone is wes central africa and wen i try to connect it give dis error (ORA-00604: error occurred at recursive SQL level 1 ORA-01882: timezone region  not found ). it started with LOCALE NOT FOUND, then i got some tips online and now its a new error. thanks

    Hi;
    What is db version? You may hit bug. Please see:
    Bug 5499393 - ORA-1882 from partition maintenance when territory is HUNGARY with TIMESTAMP partitioning [ID 5499393.8]
    Regard
    Helios

  • ORA-00604: error occurred at recursive SQL level 1#ORA-00018

    Hi All,
    I have just rebuilt an existing application server, the setup I have now is a database server with oracle and two application servers.  The problem I am having is whenever I bring up the new application server I get short dumps and error messages in the log which is ORA-00604: error occurred at recursive SQL level 1#ORA-00018 does anyone have an idea of why I am getting this error when the new server is started?
    Thanks
    Jay

    hello,
    the oracle error ora-00018 means
    ORA-00018: maximum number of sessions exceeded
    This means that too many R/3 workprocesses  (new application server - additional work
    processes connecting to the oracle database) try to connect to the database at the
    same time. You need to increase the value for the oracle sessions in the initSID.ora
    file or/and spfile.
    Kind regards,
    Andreas

  • ORA-00604: error occurred at recursive SQL level 1 ORA-01003: no statement

    Hi ,
    we pass Query to ref cursor using with clause and it works fine on oracle Sql but raise an error when called from
    ADO.net
    for example
    create or replace package body abc_details
    as
    proedure initial (p_refcursor out sys_refcursor)
    is
    begin
    v_sql='with a as (select ..
    , b as (select * from table(emppkg.empdetails))
    open p_refcursor for v_sql;
    end;
    with oracle 10g it works fine on Sql prompt and fetches the results but when called from ado.net it
    intermitantly fetches and error "ORA-00604: error occurred at recursive SQL level 1 ORA-01003: no statement "
    Please suggest
    Thanks in advance.

    wild guess here,
    but emppkg.empdetails type look's like a pl/sql type,
    while it should be a sql type.
    Amiel

  • Error showing in Login as : ORA-00604:error occured at recursive SQL level

    Hi,
    I am facing problem in Login in to user Test:
    I have created a trigger and built in sys environment:
    CREATE OR REPLACE TRIGGER TEST_LOGON
    AFTER LOGON ON TEST.SCHEMA
    DECLARE
    num INTEGER;
    v_grant VARCHAR2(32767);
    l_username VARCHAR2(30) := 'TEST';
    BEGIN
    IF USER=l_username THEN
    num:=0;
    FOR obj IN (SELECT TABLE_NAME FROM DBA_TABLES
    WHERE TABLE_NAME LIKE 'BS_%') LOOP
    v_grant:='GRANT ALL ON '||obj.TABLE_NAME || ' TO ' || USER;
    EXECUTE IMMEDIATE 'GRANT ALL ON' || obj.TABLE_NAME || ' TO ' || USER;
    num := num + 1;
    END LOOP;
    END IF;
    END;
    The trigger got executed in sys environment.
    But when I am Logging to User as Test its showing Error as:
    ORA-00604:error occured at recursive SQL level 1
    ORA-00990:missing or invalid privilege
    ORA-06512:at line 15
    Kindly any help will be needful for me.
    Thanks and Regards

    user598986 wrote:
    Now its giving Error as :
    ORA-00942:Table or view does not existWell, first of all dynamic grants it is not a good idea. Secondly, it is not a good idea to create objects in sys schema. Now about your trigger. Trigger is always created with definer rights, so in your case trigger was created by SYS and will be executed on behalf of SYS. Now, since trigger is created on TEST.SCHEMA it will be called only when user TEST is logging it. So there is no need for:
    l_username VARCHAR2(30) := 'TEST';
    BEGIN
    IF USER=l_username THENNow you think FOR loop selects tables that start with BS_. Keep in mind, _ is a wildcard for LIKE - it indicates any single character, so FOR loop will also select tables that start with BSA, for example. But this is not all. FOR loop selects matchingl tables in whole databse, so tables can belong to any user. At the same time EXECUTE IMMEDIATE does not specify table owner. Therefore, since trigger is owned by SYS and, as I already mentioned, executes on behalf of SYS, table owner in GRANT statement will default to SYS, not to actual table owner. That is why you get ORA-00942.
    Now the "bad" part. Even if you fix it and provide both owner and table name it still will fail with ORA-30511: invalid DDL operation in system triggers. Why? Check ORA-30511 details:
    ORA-30511: invalid DDL operation in system triggers
    Cause: An attempt was made to perform an invalid DDL operation in a system trigger. Most DDL operations currently are not supported in system triggers. The only currently supported DDL operations are table operations and ALTER?COMPILE operations.
    Action: Remove invalid DDL operations in system triggers.SY.

Maybe you are looking for