원격지 서버의 Package를 DB Link로 구동시 ORA-02074 발생

각설하고 문의드립니다.
1. 구성
- 부산 서버의 A 유저에 있는 Package를
동일 서버의 B 유저에 GRANT하였습니다.
- 서울 서버의 C 유저에서 B 유저로 DB Link를 구성하였습니다.
- 서울 서버의 C 유저에서 부산 서버의 A 유저의 Package를 실행하였습니다.
(EXECUTE A_USER.A_PACKAGE.A_PROCEDURE@SB_LINK;)
- A_PACKAGE.A_PROCEDURE는 A 유저의 테이블뿐만아니라,
C 유저의 TABLE도 SELECT/UPDATE합니다.
물론 부산 서버에서 C 유저로 DB Link를 구성하였습니다.
2. 결과
- "ORA-02074 cannot COMMIT or ROLLBACK in a distributed transaction"
이 발생합니다.
지원업체의 DB 관리자에게 문의하였더니, Oracle8i는 DB Link를 통하여
Package를 구동할 수 없을지도 모른다고 합니다.
하지만, 저는 무언가 설정이 잘못되었다고 생각합니다.
무엇이 문제인지 가르쳐 주시면 감사하겠습니다.

시스템 정보가 필요합니다.
OS version, OS word size(32bit, 64bit), DB version, DB word size(32bit, 64bit)
필요합니다. odbc사용여부도요
그리고 사항에 따라 다른데 찾아보니 8i의 버그인데
9i가 되어서야 고쳐진 것도 있네요.
metalink itar를 열어서 공식적으로 진행해보시죠.
왜냐하면 업그레이드를 해야 한다고 나와있긴 하지만 해당 사항에
대한 코드패치가 있다면 적용시키고 해결할 수도 있을테니까요.
9i로 업그레이드를 한다면 oracle 7버젼과는 db link가 안됩니다.
다른 서비스와의 연계성때문에 9i로 못올릴 수도 있으니
오라클에 공식 요청해서 정확하게 알아내는 것이 중요할 것 같습니다.
여러 문서중 하나..;;
note 215554.1 Calling a Remote Stored Procedure Fails with ORA-2074 error

Similar Messages

  • Need help on  ORA-02074: cannot SET NLS in a distributed transaction

    Hi All,
    I am Writing a plsql Code like this
    DECLARE
    op_job_id NUMBER;
    op_object_version_number NUMBER;
    x_job_definition_id NUMBER;
    op_name VARCHAR2(1000);
    L_VERIFY_FLAG VARCHAR2(1);
    l_error_message VARCHAR2(2000);
    BG_ID NUMBER;
    lv_job_group_id APPS.per_job_groups.job_group_id@SYSTEM_LINK_VISMA%TYPE;
    CURSOR C1 IS SELECT * FROM EBS_PER_JOBS_STG;
    BEGIN
    FOR H1 IN C1
    LOOP
    BEGIN
    IF H1.BUSINESS_GROUP_NAME IS NOT NULL THEN
    SELECT BUSINESS_GROUP_ID,job_group_id INTO BG_ID,lv_job_group_id
    FROM APPS.PER_JOB_GROUPS@SYSTEM_LINK_VISMA
    WHERE DISPLAYED_NAME=H1.JOB_GROUP_NAME;
    END IF;
    EXCEPTION
    WHEN OTHERS THEN
    L_VERIFY_FLAG := 'E';
    l_error_message := 'Entered Job Group Name is Wrong';
    END;
    -->> JOB GROUP ID <<--
    APPS.hr_job_api.CREATE_JOB@SYSTEM_LINK_VISMA
    (p_business_group_id => BG_ID
    ,p_date_from => H1.DATE_FROM
    ,p_approval_authority => H1.APPROVAL_AUTHORITY
    ,p_emp_rights_flag => H1.EMP_RIGHTS_FLAG
    ,p_benchmark_job_flag => H1.BENCHMARK_JOB_FLAG
    ,p_job_group_id => lv_job_group_id
    ,p_job_information1 => H1.JOB_INFORMATION1
    ,p_job_information2 => H1.JOB_INFORMATION2
    ,p_job_information3 => H1.JOB_INFORMATION3
    ,p_job_information4 => H1.JOB_INFORMATION4
    ,p_job_information5 => H1.JOB_INFORMATION5
    ,p_job_information6 => H1.JOB_INFORMATION6
    ,p_job_information7 => H1.JOB_INFORMATION7
    ,p_segment3 => H1.JOB_CODE --JOB_CODE
    ,p_segment6 => H1.JOB_NAME --JOB_NAME
    ,p_job_id => op_job_id
    ,p_object_version_number => op_object_version_number
    ,p_job_definition_id => x_job_definition_id
    ,p_name => op_name);
    dbms_output.PUT_LINE('OUTPUT JOB NAME CREATED : '||op_name);
    END LOOP;
    EXCEPTION
    WHEN OTHERS THEN
    dbms_output.PUT_LINE('Error Message Is: '||SQLERRM);
    END;
    i am running it in Another database Using database link connecting to Apps.
    when i am running it am getting the following Error:
    Error Message Is: ORA-02074: cannot SET NLS in a distributed transaction
    ORA-06512: at "APPS.HR_KFLEX_UTILITY", line 2423
    ORA-06512: at "APPS.HR_KFLEX_UTILITY", line 2380
    ORA-06512: at "APPS.PER_JBT_UPD", line 468
    ORA-02074: cannot SET NLS in a distributed transaction
    ORA-06512: at "APPS.HR_JOB_API", line 878
    Please help me on this, this is quite urgent to me.
    thanks
    sri

    Please see these docs.
    ORA-02074: Cannot SET NLS in a Distributed Transaction [ID 556391.1]
    Portal Used To Call PO_CHANGE_API1_S: ORA-20001: ORA-02074: Cannot SET NLS In A Distributed Transaction [ID 561246.1]Why are Concurrent Programs Calling FND_GLOBAL.APPS_INITIALIZE Using DBLinks Failing? [ID 466800.1]
    ORA-02074 when Executing set_nls over a DB Link [ID 132679.1]
    Thanks,
    Hussein

  • ORA-02074: cannot ROLLBACK in a distributed transaction

    I have a stored procedure that successfully creates a portal user when I run it with SQLPLUS.
    However when I call the same procedure through ODP.Net, I get the following error.
    "ORA-20001: ORA-02074: cannot ROLLBACK in a distributed transaction\nORA-06512: at \"PORTAL30.WWSEC_API\", line 1915\nORA-02074: cannot SET SAVEPOINT in a distributed transaction\nORA-06512: at \"PORTAL30.PRO_CREATE_WEB_USER\", line 28\nORA-06512: at line 1"
    The portal version is 3.0.9.8.2 The stored proc is in the portal30 schema and I am connecting as portal30 user.
    Any help is greatly appreciated...
    Thanks.
    The following is the code for the stored procedure:-
    CREATE OR REPLACE PROCEDURE PORTAL30.PRO_CREATE_WEB_USER (
    puser IN varchar2,
    puser_last_name IN varchar2,
    puser_first_name IN varchar2,
    puser_group IN varchar2,
    password IN varchar2
    ) AS
    l_group_id number;
    l_id number;
    e_code number;
    begin
    l_id := wwsec_api.add_portal_user(p_User_Name => puser,p_Last_Name => puser_last_name,p_First_Name => puser_first_name,p_Portal_User => 'Y');
    wwsec_api.activate_portal_user(puser);
    portal30_sso.WWSSO_API_USER_ADMIN.CREATE_USER(P_USERNAME=> puser,P_PASSWORD=>password,p_error_code=> e_code);
    wwsec_api.add_user_to_list(p_person_id => l_id,p_to_group_id => wwsec_api.group_id (p_name => puser_group),p_is_owner => wwsec_api.NOT_OWNER);
    wwsec_api.set_defaultgroup(p_groupid => wwsec_api.group_id (p_name => puser_group),p_username => puser);
    commit;
    exception
    when others then
    raise_application_error(-20001,substr(sqlerrm,1,200));
    end;
    The foll is the code I am using to call the stored proc.
    private void createUser()
    string retval ;
    OracleConnection oraconn = new OracleConnection(Data Source=testdb;User ID=portal30;Password=portal30" );
    OracleCommand cmd = new OracleCommand("PRO_CREATE_WEB_USER", oraconn);
    cmd.CommandType = CommandType.StoredProcedure;
    OracleParameter a_uid = new OracleParameter("puser" ,OracleDbType.Varchar2,20);
    a_uid.Direction = ParameterDirection.Input ;
    a_uid.Value = (txtUserId.Text).Trim() ;
    cmd.Parameters.Add(a_uid);
    OracleParameter a_last_name = new OracleParameter("puser_last_name" ,OracleDbType.Varchar2,20);
    a_last_name.Direction = ParameterDirection.Input ;
    if (( txtLName.Text).Trim() != "" )
    a_last_name.Value = (txtLName.Text).Trim() ;
    else
    a_last_name.Value = " ";
    cmd.Parameters.Add(a_last_name);
    OracleParameter a_first_name = new OracleParameter("puser_first_name" ,OracleDbType.Varchar2,20);
    a_first_name.Direction = ParameterDirection.Input ;
    if ((txtFName.Text).Trim() != "")
    a_first_name.Value = (txtFName.Text).Trim() ;
    else
    a_first_name.Value = " ";
    cmd.Parameters.Add(a_first_name);
    OracleParameter a_type = new OracleParameter("puser_group" ,OracleDbType.Varchar2,20);
    a_type.Direction = ParameterDirection.Input ;
    a_type.Value = (lstUserType.SelectedValue).Trim() ;
    cmd.Parameters.Add(a_type);
    OracleParameter a_passwd = new OracleParameter("password" ,OracleDbType.Varchar2,20);
    a_passwd.Direction = ParameterDirection.Input ;
    a_passwd.Value = (txtPassword.Text).Trim() ;
    cmd.Parameters.Add(a_passwd);
    try
    oraconn.Open();
    cmd.ExecuteNonQuery();
    lblMsg.ForeColor = System.Drawing.Color.FromName("blue");
    lblMsg.Text = "User Created.";
    catch(OracleException e)
    { retval = e.Message ;
    lblMsg.ForeColor = System.Drawing.Color.FromName("red");
    lblMsg.Text = "Error Creating user" ;
    finally
    oraconn.Close();

    Also note that remote procedure/function calls (e.g. from ODP.NET), do not support distributed transactions (i.e. a SAVEPOINT/ROLLBACK block within the PL/SQL procedure/function) before database version Oracle 9i.
    So if you are using say Oracle 817 you must use the "OracleTransaction" object in ODP.NET instead.
    See:
    http://www.dotnet247.com/247reference/msgs/39/197274.aspx

  • ORA-02074 Error and MS Data Provider

    I have no idea where to post this kind of stuff, but let's give this a try and if it should be posted elsewhere, just let me know and I will move it!
    My C++ developers use the MS Data Provider to access our 9i database. They call stored procedures to do the usual kind of application tasks. Nothing special. Many of the procs take parameters and insert/update/ or delete rows in tables and either ROLLBACK or COMMIT. No transactions are left pending at the end of any proc.
    Well, some procedures yield a "ORA-02074: cannot ROLLBACK in a distributed transaction" error message when two conditions are met:
    (1) The procedure has a non-conditional "ROLLBACK" AND
    (2) The procedure has been WRAPped and is obfuscated.
    This is quite odd. It seems that that Oracle code behaves differently when WRAPped! Creating the same proc not WRAPped functions correctly! The WRAPped procs run fine in SqlPlus, but when called from the data provider the procs croke!
    Any ideas? I mean, rational ones?
    Regards
    Michael

    The table does have a primary key (Cust_id), and like I said, I can update the data.
    Thanks for the thought.... Any other ideas? Anyone have a datagrid sample that they want to share? (as long as it updates and you can add records to it).
    Thanks - Jim

  • ORA-02074 in oracle 8 Worked fine in 7.x

    Executing a plsql string from msaccess
    via an odbc passthrough query..
    for some reason the oracle8 odbc driver is
    enforcing a transaction
    is there a known work around?????
    ORA-02074 cannot string in a distributed transaction
    Cause: A commit or rollback was attempted from session other than the parent
    of a distributed transaction.
    Action: Only commit or roll back from the parent session.

    HELP!!... Okay here goes..
    I am using an passthrough query to Oracle
    It worked in Oracle 7.4,
    but is not working in 8i
    **This is the error
    [Oracle][ODBC][Ora]
    ORA-02074: cannot SET SAVEPOINT in a distributed transaction
    ORA-06512: at "FuncName", line 1391
    ORA-06512: at "FuncName", line 1995
    ORA-06512: at "FuncName", line 2016
    ORA-06512: at line 1
    (#2074)
    **This is the PL/SQL
    begin call_isrconpick('36719288', 0, 0, 1, 'DPR'); end;
    **This is the VB code..
    Function CommitOnePick(strtask_id As String, _
    intpicked_q As Integer, _
    intoverflow As Integer, _
    intshort As Integer, _
    strperf_by As String)
    'On Error GoTo eTrap
    Dim strConn As String
    Dim qdf As QueryDef
    'If MsgBox("Are you sure you want execute the PLSQL statement?", _
    vbOKCancel + vbQuestion + vbDefaultButton2) = vbOK Then
    DoCmd.Hourglass True
    strConn = CurrentDb.TableDefs("MOVE_TABLE_DATA").Connect
    Set qdf = CurrentDb.CreateQueryDef("")
    qdf.Connect = strConn
    qdf.SQL = "begin call_isrconpick('" & _
    strtask_id & "', " & _
    intpicked_q & ", " & _
    intoverflow & ", " & _
    intshort & ", '" & _
    strperf_by & "'); end;"
    Debug.Print qdf.SQL 'sanity check
    qdf.ReturnsRecords = False
    DoCmd.Hourglass False
    qdf.Execute dbSQLPassThrough
    DoCmd.Hourglass False
    'End If
    Exit Function
    eTrap:
    DoCmd.Hourglass False
    MsgBox "An unexpected error occured:" & vbCrLf & vbCrLf & Err & " - " & Error, vbExclamation, "Error"
    End Function
    null

  • ORA-02074

    Hi
    I have a c# application in which i call a procedure. In the procedure i coomit/rollback after doing some DML operations. It works properly in my test database but if i connect the same to the production database it gives an error "ORA-02074 - Cannot commit or rollback in a distributed transaction".
    Why is this happening? Is there any parameter setting related to this?
    Expecting your reply ASAP.
    Thanks
    Sasikala

    Are your test and production databases at the same version? How are you connecting - ODBC? If so, are the drivers the same version in your test and production environments?
    Cheers, APC

  • ORA-02074 when calling proc from VB

    Anyone have any idea why a stored procedure that sets a savepoint will fail with
    [Oracle][ODBC][Ora]ORA-02074: cannot ROLLBACK in a distributed transaction
    ORA-02074: cannot SET SAVEPOINT in a distributed transaction
    ORA-06512: at "PIPS_ADMIN.PKG_ACAS_COMMON", line 1098
    ORA-06512: at line 1
    when called from Visual Basic via an ADO connection through ODBC BUT
    will succeed when called from SQL*Plus or TOAD or other tool.
    Any ideas appreciated.
    Mike

    The change was only made to a local variable in a function that was called from the original function that got the parameters from the java client.
    I changed it from localtimestamp to systimestamp and it works fine.
    Do i have to make any settings about the time zone in the jdbc thin client ?

  • TABLE, PACKAGE, USER가 DROP되지 않을 때의 조치 방법(ORA-1000)

    제품 : ORACLE SERVER
    작성날짜 : 2004-11-09
    TABLE, PACKAGE, USER가 DROP되지 않을 때의 조치 방법(ORA-1000)
    ============================================================
    다음 자료는 dropping an object (table, package, users) 시에
    ora-1000 또는 internal error 가 발생하며 drop 되지 않을 때의 조치
    방법입니다.
    internal 자료로서 엔지니어가 직접 알려주는 것이 좋다고 remark 되어 있는
    자료입니다.
    요약>
    drop package 시에 ora-1000 은 다음 자료 처럼 drop 하려는 object 와
    dependency 는 남아있지만 invalid object(no interdependant objects
    즉, children which are also parents) 가 존재할 때 발생합니다.
    따라서, drop 하려는 object 의 dependency 를 조회하여 invalid object
    와의 dependency 를 dependency$ 에서 지워줍니다.
    주의!>
    다음 작업을 수행 도중 dependency$ 의 row 를 삭제하기 전에는 반드시 cold
    backup 을 해 주십시오.
    <table, package, user 를 drop 할 때 Ora-1000(ORA-604) 이 발생하는 문제 조치
    방법 >
    Object 를 drop 할 때 ORA-1000 과 같은 에러가 발생하여, open_cursors
    를 1000 이상으로 늘여도 계속 에러가 발생할 때는 다음과 같이 원인을
    찾아 제거 합니다.
    1. drop 하려는 object 의 parent dependency 를 찾는다.
    svrmgr> connect internal;
    select lpad(' ',2*(level-1))||p_obj#,d_obj#
    from sys.dependency$
    where p_obj#=(select a.obj# from sys.obj$ a, sys.user$ b
    where a.owner#=b.user#
    and a.name='PROCEDURE1' and b.name='SCOTT')
    connect by prior d_obj#=p_obj#;
    2. drop 하려는 object 의 child dependency 를 찾는다.
    select lpad(' ',2*(level-1))||p_obj#,d_obj#
    from dependency$
    where d_obj#=(select a.obj# from obj$ a, user$ b
    where a.owner#=b.user#
    and a.name='PROCEDURE1' and b.name='SCOTT')
    connect by prior p_obj#=d_obj#;
    3. 위에서 조회된 모든 object 가 dba_objects 에 존재하지 않거나 status 가
    invalid 인 것을 찾는다.
    select * from dba_objects where object_id=xxx;
    4. 1 의 조회 결과와 2 의 조회 결과에 의해 동시에 발견된 object id 가
    있는지 확인한다.
    5. 위의 3 의 조회 결과 object 가 존재하지 않거나 invalid 인 것 ,
    4 의 결과 동시에 발견된 object id 가 있다면 cold backup 을 먼저 받아둔다
    6. valid 한 backup 이 있다면, sys user 로 접속하여 이들 row 를 다음과 같이
    delete 한다.
    다음을 먼저 select 한 다음, valid 한 backup 이 있는지 확인한 다음
    delete 해야 한다.
    즉, 두개의 object 가 서로를 의존하고 있는 것이므로, 두개의 row 를 삭제한다.
    다른 row 가 delete 되지 않도록 먼저 query 해 본다.
    예) procedure (contact) -> package (dbwww) 그리고 package (dbwww) ->
    procedure (contact) 인 경우
    1)select * from dependency$
    where d_obj#=(select object_id from dba_objects
    where owner='....'
    and object_type='PROCEDURE'
    and object_name='CONTACT')
    and p_obj#=(select object_id from dba_objects
    where owner='....'
    and object_type='PACKAGE;
    and object_name='DBWWW')
    and d_owner#=(select user_id from dba_users
    where username='...');
    2)select * from dependency$
    where d_obj#=(select object_id from dba_objects
    where owner='....'
    and object_type='PACKAGE'
    and object_name='DBWWW')
    and p_obj#=(select object_id from dba_objects
    where owner='....'
    and object_type='PROCEDURE';
    and object_name='CONTACT')
    and d_owner#=(select user_id from dba_users
    where username='...');
    3) alter system flush shared_pool;
    4) delete from dependency$
    where 위의 1),2) 같음;

  • SAP Ides ECC 6.0 Install: Import ABAP - Package SAPDODS Error - ORA-00903

    Experts,
    Good Morning!
    I'm trying to install SAP IDES ECC 6.0 version on a Windows 2008 R2 Server with Oracle 11g DB (11.2).
    System Info: 16GM RAM & 600GB Hdd. Prereqs passed.
    I'm getting the following error during the Import ABAP phase (16 of 29) in the sapinst log:
    "An error occurred while processing option Enhancement Package 6 for SAP ERP 6.0 > SAP Application Server ABAP > Oracle > Central System > Central System( Last error reported by the step: Program 'Migration Monitor' exits with error code 103. "
    Here's the dump of import_monitor.java.log
    java version "1.4.2_32"
    Java(TM) 2 Runtime Environment, Standard Edition (build 4.1.012)
    SAP Java Server VM (build 4.1.012 1.6-b03, Oct 21 2011 14:18:45 - 41_REL - optU - windows amd64 - 6 - bas2:161688 (mixed mode))
    Import Monitor jobs: running 1, waiting 1, completed 141, failed 0, total 143.
    Loading of 'SAPDODS' import package: ERROR
    Import Monitor jobs: running 0, waiting 1, completed 141, failed 1, total 143.
    Here's the dump of import_monitor.log:
    INFO: 2014-07-05 13:42:53
    Data codepage 4103 is determined using TOC file 'C:\Target\Export1\DATA\D010TAB.TOC' for package 'D010TAB'.
    TRACE: 2014-07-05 13:42:53 com.sap.inst.migmon.LoadTask run
    Loading of 'SAPDODS' import package is started.
    TRACE: 2014-07-05 13:42:53 com.sap.inst.migmon.LoadTask processPackage
    Loading of 'SAPDODS' import package into database:
    C:\usr\sap\AVV\SYS\exe\uc\NTAMD64\R3load.exe -i SAPDODS.cmd -dbcodepage 4103 -l SAPDODS.log -stop_on_error
    ERROR: 2014-07-05 13:42:54 com.sap.inst.migmon.LoadTask run
    Loading of 'SAPDODS' import package is interrupted with R3load error.
    Process 'C:\usr\sap\AVV\SYS\exe\uc\NTAMD64\R3load.exe -i SAPDODS.cmd -dbcodepage 4103 -l SAPDODS.log -stop_on_error' exited with return code 2.
    For mode details see 'SAPDODS.log' file.
    Standard error output:
    sapparam: sapargv(argc, argv) has not been called!
    sapparam(1c): No Profile used.
    sapparam: SAPSYSTEMNAME neither in Profile nor in Commandline
    WARNING: 2014-07-05 13:43:21
    Cannot start import of packages with views because not all import packages with tables are loaded successfully.
    WARNING: 2014-07-05 13:43:21
    1 error(s) during processing of packages.
    INFO: 2014-07-05 13:43:21
    Import Monitor is stopped.
    Here's the log of SAPDODS...
    C:\usr\sap\AVV\SYS\exe\uc\NTAMD64\R3load.exe: START OF LOG: 20140705134253
    C:\usr\sap\AVV\SYS\exe\uc\NTAMD64\R3load.exe: sccsid @(#) $Id: //bas/720_REL/src/R3ld/R3load/R3ldmain.c#13 $ SAP
    C:\usr\sap\AVV\SYS\exe\uc\NTAMD64\R3load.exe: version R7.20/V1.4 [UNICODE]
    Compiled Aug 16 2011 02:26:36
    patchinfo (patches.h): (0.098) DB6: correction for R3load PL 91 on HP-UX and SOLARIS (note 1609719)
    process id 1488
    C:\usr\sap\AVV\SYS\exe\uc\NTAMD64\R3load.exe -i SAPDODS.cmd -dbcodepage 4103 -l SAPDODS.log -stop_on_error
    DbSl Trace: ORA-1403 when accessing table SAPUSER
    (DB) INFO: connected to DB
    (DB) INFO: DbSlControl(DBSL_CMD_NLS_CHARACTERSET_GET): UTF16
    (SQL) INFO: Searching for SQL file SQLFiles.LST
    (SQL) INFO: SQLFiles.LST not found
    (SQL) INFO: Searching for SQL file C:\Target\Export1\DB/SQLFiles.LST
    (SQL) INFO: C:\Target\Export1\DB/SQLFiles.LST not found
    (SQL) INFO: Searching for SQL file DODS.SQL
    (SQL) INFO: DODS.SQL not found
    (SQL) INFO: Searching for SQL file C:\Target\Export1\DB/ORA/DODS.SQL
    (SQL) INFO: found C:\Target\Export1\DB/ORA/DODS.SQL
    (SQL) INFO: Trying to open C:\Target\Export1\DB/ORA/DODS.SQL
    (SQL) INFO: C:\Target\Export1\DB/ORA/DODS.SQL opened
    (DB) ERROR: DDL statement failed
    (DROP TABLE "/BI0/APERS_BOD00")
    DbSlExecute: rc = 103
      (SQL error 942)
      error message returned by DbSl:
    ORA-00942: table or view does not exist
    (IMP) INFO: a failed DROP attempt is not necessarily a problem
    DbSl Trace: Error 903 in exec_immediate() from oci_execute_stmt(), orpc=0
    DbSl Trace: ORA-00903 occurred at SQL stmt (parse error offset=15)
    (DB) ERROR: DDL statement failed
    (  CREATE TABLE [/BI0/APERS_BOD00]         (  [TCTUSERNM] nvarchar(000012)          NOT NULL  ,           [TCTOBJVERS] nvarchar(000001)          NOT NULL  ,           [TCTSYSID] nvarchar(000010)          NOT NULL  ,           [TCTQUACT] nvarchar(000001)          NOT NULL  ,           [TCTOBJNM] nvarchar(000040)          NOT NULL  ,           [TCTTLOGO] nvarchar(000004)          NOT NULL  ,           [RECORDMODE] nvarchar(000001)          NOT NULL  ,           [TCTTIMSTMP] nvarchar(000014)          NOT NULL   )          WITH ( DATA_COMPRESSION = PAGE )   )
    DbSlExecute: rc = 99
      (SQL error 903)
      error message returned by DbSl:
    ORA-00903: invalid table name
    (DB) INFO: disconnected from DB
    C:\usr\sap\AVV\SYS\exe\uc\NTAMD64\R3load.exe: job finished with 1 error(s)
    C:\usr\sap\AVV\SYS\exe\uc\NTAMD64\R3load.exe: END OF LOG: 20140705134254
    FYI - A retry does not help. Also tried to search for the error on scn, google but haven't been able to find the right solution.
    Can you help?
    Regards,
    Cobain.

    Divyanshu - sorry to ask but can you explain why i need to update r3load and r3trans to resolve this error? Just want to understand why I'm doing a correction so I can learn from the same.
    Also, can you clarify the file update process:
    For R3load:
    a) the r3load used by the command is dated 8/16/2011 (location:C:\usr\sap\AVV\SYS\exe\uc\NTAMD64\...)
    b) the r3load i have in my db folder is dated 10/23/2011 (location:C:\Final\Installer\BS7i2011_Installation_Master_\DATA_UNITS\BS2011_IM_WINDOWS_X86_64\ORA\UC\...)
    Do i replace (a) with (b)?
    For R3trans:
    How do I update this file?
    - Cobain.

  • Error in database link(ORA-02063 and ORA-02391)

    Hi
    database link was working fine till this morning. now when i try to query using the database link, i get the following error
    ORA-02391: exceeded simultaneous SESSIONS_PER_USER limit
    ORA-02063: preceding line from RMSLIVE
    It would beof great help if you can advise why this error is occuring.
    many thanks.

    The error stack is quite obvious.
    Either, the profile, with which the database user on remote database is running, must be modified to allow more connections or investigate the session leak in the application talking over database links.

  • Package Returning Error ORA-06502: PL/SQL: numeric or value error

    Hi,
    I create a package to export to spread sheet .xls, The package work for simple query if i pass the query to package.
    There is no error in package please create the package and do the following as mentioned below
    create or replace
    PACKAGE export_pkg_spread_sheet
    AS
    procedure download_excel(vsql in clob );
    PROCEDURE excel_header(p_header in out nocopy clob);
    procedure excel_content(p_content in out nocopy clob,
    vsql in clob );
    procedure excel_footer(p_footer in out nocopy clob);
    procedure get_usable_sql (p_sql_in IN clob,
    p_sql_out OUT clob);
    END export_pkg_spread_sheet;
    create or replace
    PACKAGE body export_pkg_spread_sheet
    AS
    PROCEDURE excel_header (p_header IN OUT nocopy CLOB)
    AS
    BEGIN
    p_header := '<html><body>';
    END;
    procedure download_excel( vsql in clob )
    as
    p_header clob;
    p_footer clob;
    p_content clob;
    begin
    owa_util.mime_header( 'application/octet', FALSE );
    htp.p('Content-Disposition: attachment; filename="report.xls"');
    owa_util.http_header_close;
    excel_header( p_header);
    excel_content(p_content,vsql);
    excel_footer(p_footer);
    dbms_output.put_line(p_header ||p_content|| p_footer);
    HTP.PRN( p_header ||p_content|| p_footer);
    htmldb_application.g_unrecoverable_error := true;
    end;
    procedure excel_content(p_content in out nocopy clob,
    vsql in clob)
    as
    p_sql_stmt clob;
    cur PLS_INTEGER := DBMS_SQL.OPEN_CURSOR;
    cols DBMS_SQL.DESC_TAB;
    ncols PLS_INTEGER;
    TYPE varColumn     IS TABLE OF varchar2(32000);
    vtab varColumn;
    v_column_count     NUMBER     DEFAULT 0;
    v_status      INTEGER;
    BEGIN
    htp.prn('am here');
    /* SELECT region_source into p_sql_stmt
    FROM apex_application_page_regions
    WHERE region_id = p_region_id AND
    page_id = p_page_id AND
    application_id = p_app_id; */
    get_usable_sql (vsql,p_sql_stmt);
    p_content := p_sql_stmt;
    -- Parse the query.
    DBMS_SQL.PARSE(cur, p_sql_stmt , DBMS_SQL.NATIVE);
    -- Retrieve column information
    DBMS_SQL.DESCRIBE_COLUMNS (cur, ncols, cols);
    -- Display each of the column names
    p_content := '<table> <tr>';
    FOR colind IN 1 .. ncols
    LOOP
    p_content := p_content || '<td>' || cols(colind).col_name || '</td>';
    END LOOP;
    p_content := p_content || '</tr>';
    vtab := varColumn(null);
    for i in 1..ncols
    loop
    vtab.extend;
    DBMS_SQL.DEFINE_COLUMN (cur, i, vtab(i), 2000);
    --dbms_output.put_line(vtab(i));
    end loop;
    v_status := DBMS_SQL.EXECUTE (cur);
    LOOP
    p_content := p_content || '<tr>';
    EXIT WHEN (DBMS_SQL.FETCH_ROWS (cur) <= 0);
    FOR i IN 1 ..ncols
    loop
    DBMS_SQL.COLUMN_VALUE (cur, i, vtab(i));
    -- p_content := p_content || '<td>' || 'xyz' || '</td>';
    p_content := p_content || '<td>' || vtab(i) || '</td>';
    END LOOP;
    p_content := p_content || '</tr>' ;
    END LOOP;
    p_content := p_content || '<table>' ;
    DBMS_SQL.CLOSE_CURSOR (cur);
    exception
    when others then
         p_content := '<td>Exception Error in printing data</td><table>' ;
    DBMS_SQL.CLOSE_CURSOR (cur);
    end;
    procedure excel_footer( p_footer in out nocopy clob)
    as
    begin
    p_footer := '</body></html>';
    end;
    PROCEDURE get_usable_sql (p_sql_in IN clob, p_sql_out OUT clob)
    IS
    v_sql clob;
    v_names DBMS_SQL.varchar2_table;
    v_pos NUMBER;
    v_length NUMBER;
    v_exit NUMBER;
    BEGIN
    v_sql := p_sql_in;
    v_names := wwv_flow_utilities.get_binds (v_sql);
    FOR i IN 1 .. v_names.COUNT
    LOOP
    <<do_it_again>>
    v_pos := INSTR (LOWER (v_sql), LOWER (v_names (i)));
    v_length := LENGTH (LOWER (v_names (i)));
    v_sql :=
    SUBSTR (v_sql, 1, v_pos - 1)
    || v_names (i)
    || SUBSTR (v_sql, v_pos + v_length);
    v_sql :=
    REPLACE (v_sql,
    UPPER (v_names (i)),
    '(SELECT v('''
    || LTRIM (v_names (i), ':')
    || ''') FROM DUAL)'
    IF INSTR (LOWER (v_sql), LOWER (v_names (i))) > 0
    THEN
    GOTO do_it_again;
    END IF;
    END LOOP;
    p_sql_out := v_sql;
    END;
    END export_pkg_spread_sheet;
    After creating the package pass the parameter to package like this
    begin
    export_pkg_spread_sheet.download_excel('select * from emp');
    end;
    Package will allow to download the spread shreet. If i try to pass the a complex query to package it is returning error as mentioned below
    ORA-06502: PL/SQL: numeric or value error
    In the above package there is a procedure called procedure excel_content which actuall prints the data in the spread sheet this is where the error is coming from there is a variable called vsql have declared it as clob to hold large string but still i am getting the same error when trying to pass a big string.
    Please check the error and let me know.
    Thanks
    Sudhir

    Hi Praveen,
    This is the query i am using to pass
    Declare
    qry clob;
    Begin
    qry := ' 'SELECT
    AR.REGION_CODE,
    AR.DISTRICT_CODE,
    AR.TERRITORY_CODE,
    CASE
    WHEN AR.REGION_NAME IS NOT NULL AND AR.DISTRICT_NAME IS NULL AND AR.TERRITORY_NAME IS NULL THEN
    AR.REGION_NAME
    WHEN AR.REGION_NAME IS NOT NULL AND AR.DISTRICT_NAME IS NOT NULL AND AR.TERRITORY_NAME IS NULL THEN
    AR.DISTRICT_NAME
    WHEN AR.REGION_NAME IS NOT NULL AND AR.DISTRICT_NAME IS NOT NULL AND AR.TERRITORY_NAME IS NOT NULL THEN
    AR.TERRITORY_NAME
    END TERR_NAME,
    AR.EMPLOYEE_ID,
    AR.LAST_NAME,
    AR.FIRST_NAME,
    AR.GENDER,
    AR.DATE_OF_HIRE,
    AR.PROJECT_EMPLOYEE_TITLE_ID,
    AR.COMPANY_ID,
    AR.CUSTOMER_EMAIL,
    AR.BUSINESS_EMAIL,
    AR.CUSTOMER_VOICEMAIL,
    AR.CUSTOMER_VOICEMAIL_EXT,
    AR.QUINTILES_VOICEMAIL,
    AR.QUINTILES_VOICEMAIL_EXT , complete_roster_pkg_report.AR_F_ADDRESS_GET_LINE_1(AR.PROJECT_ID,AR.EMPLOYEE_ID,1 ,TO_DATE(AAH.EFFECTIVE_DATE)) "Shipping_ADDRESS_TYPE_1" , complete_roster_pkg_report.AR_F_ADDRESS_GET_LINE_2(AR.PROJECT_ID,AR.EMPLOYEE_ID,1 ,TO_DATE(AAH.EFFECTIVE_DATE)) "Shipping_ADDRESS_TYPE_2" , complete_roster_pkg_report.AR_F_ADDRESS_GET_PHONE(AR.PROJECT_ID,AR.EMPLOYEE_ID,1 ,TO_DATE(AAH.EFFECTIVE_DATE)) "Shipping_Phone" , complete_roster_pkg_report.AR_F_ADDRESS_GET_CITY_TOWN(AR.PROJECT_ID,AR.EMPLOYEE_ID,1 ,TO_DATE(AAH.EFFECTIVE_DATE)) "Shipping_City_Town" , complete_roster_pkg_report.AR_F_ADDRESS_GET_COUNTRY_NAME(AR.PROJECT_ID,AR.EMPLOYEE_ID,1 ,TO_DATE(AAH.EFFECTIVE_DATE)) "Shipping_Country_Name" , complete_roster_pkg_report.AR_F_ADDRESS_GET_STATE_NAME(AR.PROJECT_ID,AR.EMPLOYEE_ID,1 ,TO_DATE(AAH.EFFECTIVE_DATE)) "Shipping_State_Name" , complete_roster_pkg_report.AR_F_ADDRESS_GET_ZIP_POSTAL(AR.PROJECT_ID,AR.EMPLOYEE_ID,1 ,TO_DATE(AAH.EFFECTIVE_DATE)) "Shipping_ZipCode" , complete_roster_pkg_report.AR_F_ADDRESS_GET_LINE_1(AR.PROJECT_ID,AR.EMPLOYEE_ID,3 ,TO_DATE(AAH.EFFECTIVE_DATE)) "Storage_ADDRESS_TYPE_1" , complete_roster_pkg_report.AR_F_ADDRESS_GET_LINE_2(AR.PROJECT_ID,AR.EMPLOYEE_ID,3 ,TO_DATE(AAH.EFFECTIVE_DATE)) "Storage_ADDRESS_TYPE_2" , complete_roster_pkg_report.AR_F_ADDRESS_GET_PHONE(AR.PROJECT_ID,AR.EMPLOYEE_ID,3 ,TO_DATE(AAH.EFFECTIVE_DATE)) "Storage_Phone" , complete_roster_pkg_report.AR_F_ADDRESS_GET_CITY_TOWN(AR.PROJECT_ID,AR.EMPLOYEE_ID,3 ,TO_DATE(AAH.EFFECTIVE_DATE)) "Storage_City_Town" , complete_roster_pkg_report.AR_F_ADDRESS_GET_COUNTRY_NAME(AR.PROJECT_ID,AR.EMPLOYEE_ID,3 ,TO_DATE(AAH.EFFECTIVE_DATE)) "Storage_Country_Name" , complete_roster_pkg_report.AR_F_ADDRESS_GET_STATE_NAME(AR.PROJECT_ID,AR.EMPLOYEE_ID,3 ,TO_DATE(AAH.EFFECTIVE_DATE)) "Storage_State_Name" , complete_roster_pkg_report.AR_F_ADDRESS_GET_ZIP_POSTAL(AR.PROJECT_ID,AR.EMPLOYEE_ID,3 ,TO_DATE(AAH.EFFECTIVE_DATE)) "Storage_ZipCode" , complete_roster_pkg_report.AR_F_ADDRESS_GET_LINE_1(AR.PROJECT_ID,AR.EMPLOYEE_ID,4 ,TO_DATE(AAH.EFFECTIVE_DATE)) "Home_ADDRESS_TYPE_1" , complete_roster_pkg_report.AR_F_ADDRESS_GET_LINE_2(AR.PROJECT_ID,AR.EMPLOYEE_ID,4 ,TO_DATE(AAH.EFFECTIVE_DATE)) "Home_ADDRESS_TYPE_2" , complete_roster_pkg_report.AR_F_ADDRESS_GET_PHONE(AR.PROJECT_ID,AR.EMPLOYEE_ID,4 ,TO_DATE(AAH.EFFECTIVE_DATE)) "Home_Phone" , complete_roster_pkg_report.AR_F_ADDRESS_GET_CITY_TOWN(AR.PROJECT_ID,AR.EMPLOYEE_ID,4 ,TO_DATE(AAH.EFFECTIVE_DATE)) "Home_City_Town" , complete_roster_pkg_report.AR_F_ADDRESS_GET_COUNTRY_NAME(AR.PROJECT_ID,AR.EMPLOYEE_ID,4 ,TO_DATE(AAH.EFFECTIVE_DATE)) "Home_Country_Name" , complete_roster_pkg_report.AR_F_ADDRESS_GET_STATE_NAME(AR.PROJECT_ID,AR.EMPLOYEE_ID,4 ,TO_DATE(AAH.EFFECTIVE_DATE)) "Home_State_Name" , complete_roster_pkg_report.AR_F_ADDRESS_GET_ZIP_POSTAL(AR.PROJECT_ID,AR.EMPLOYEE_ID,4 ,TO_DATE(AAH.EFFECTIVE_DATE)) "Home_ZipCode" FROM AR_V_ROSTER AR
    LEFT JOIN AR_V_ADDRESS_HISTORY AAH
    ON
    (AR.PROJECT_ID = AAH.PROJECT_ID AND
    AR.EMPLOYEE_ID = AAH.EMPLOYEE_ID)
    WHERE
    UPPER(AR.USER_EMPLOYEE_ID) = ''Q766730'' AND
    AR.PROJECT_ID = 81 ';
    export_pkg_spread_sheet.download_excel(qry);
    End;
    Praveen you can pass your DB table query to check the error. I am trying to pass as mentioned above.
    Please let me know if my question is not clear.
    Thanks
    Sudhir

  • Database Link ORA-04054

    Hi
    I try send data from DB1 to DB2 via dblink.
    I created link
    CREATE DATABASE LINK MED
    CONNECT TO user IDENTIFIED BY pass
    USING
    '(DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 10.255.134.30)(PORT = 1521))
    (CONNECT_DATA =
    (SERVICE_NAME = med)
    and I can select data from remote table without errors.
    When I try Insert data to remote table (with PLSQL)
    for xx in (select u.*, sm.nr_gm, sm.nazwa nazwa_miejsc from adresy u ,sl_miejscow@med sm where u.miasto=sm.ident and
    not exists
    (select * from PAC@med pk where pk.ident_pac=u.identyfikator and pk.jednoraz='K' )
    and u.data_zap is not null)
    loop
    insert into PAC@MED
    (ident_pac, od_daty, do_daty, adr_ulica, adr_kod, nr_domu, nr_lokalu, telefon, jednoraz,z_kim_mieszka,ident_miejsc,ident_poczty,ident_kraj, adr_gmina, WOJEW_KOD, ADR_MIEJSC)
    values
    ( xx.identyfikator, sysdate, to_date('31/12/2099','dd/mm/yyyy'),xx.ULICA, xx.KOD,xx.DOM,xx.LOKAL,
    xx.TELEFON,'K',82, xx.MIASTO, xx.MIASTO, xx.kraj, xx.nr_gm,99, xx.nazwa_miejsc);
    end loop;
    I have error ORA-04054: database link string does not exist.
    Can you help me ??
    Message was edited by:
    AndyPol

    I found solution.
    Main problem was in GLOBAL_NAMES parameter.
    This description help me:
    Problem Description:
    ====================
    You receive an ORA-02069 error during an insert to a remote database through a
    database link when the insert contained a local sequence.
    ORA-02069: global_names parameter must be set to TRUE for this operation
    Cause: A remote mapping of the statement is required but cannot be
    achieved because global_names should be set to TRUE for it to
    be achieved.
    Action: Issue alter session set global_names = true if possible
    Problem Explanation:
    ====================
    This is expected behaviour.
    The insert statement is transformed so that it can be executed at the remote
    end of the dblink. The reference to the local sequence has to be qualified so
    that the remote end knows to call back to the local instance. The qualification
    is made by appending @local_dbname.domain to the sequence reference if
    global_names=true. When global_names=false, the code cannot make the assumption
    that the qualifier will be valid and reports the error ORA-02069 'global_names
    parameter must be set to TRUE for this operation'.
    Search Words:
    =============
    DBLINK SEQUENCE GLOBAL_NAMES ORA-2069
    Solution Description:
    =====================
    Use the following workaround:
    1. Create a 'temporary' table on the local database for holding the inserts.
    2. Insert the entire row into this table.
    3. Insert the 'temporary' row from the temporary table to the remote table.
    4. Delete the 'temporary' row from the temporary table.
    This is slower but it will get around the problem. It help me
    OR
    Set GLOBAL_NAMES=TRUE in the init<SID>.ora - not work for me
    Solution Explanation:
    =====================
    The first workaround bypasses the remote node having to make a
    call back to the local instance to reference the local sequence.

  • Package, symbolic link in Prototype

    Hi, I have a little problem concerning the Prototype file created by pkgproto.
    On my systems the /usr/local can be 3 different thing :
    /usr/local = symbolic links to /opt/local
    /usr/local = symbolic links to /export/opt
    /usr/local = directory /usr/local
    Is there any way to build a package which will support all kind of installation without modifying the current /usr/local.
    What I found is if you build your package defining /usr/local as a directory and installing that package on a system whitch /usr/local is a symbolic link it removes the link and create a directory.
    The only solution I found so far is to omit the /usr/local entry in the Prototype which report an error but still work as long as the /usr/local exist in a way or an other.

    /usr/local = symbolic links to /opt/local
    /usr/local = symbolic links to /export/opt
    /usr/local = directory /usr/localYou should really try to clean this up so it's consistent across all of your machines.
    Since some are links and one is real, your kinda stuck on this one.
    You might opt to create a new directory structure that is consistent across all machines.
    alan

  • Debug of package results in ORA-30683

    I'm having a problem trying to debug any package with SQL Developer.
    Environment : Windows SQLDeveloper 1.1 to Unix database with SID "eai"
    It's returning the following error messages :-
    Connecting to the database eai.
    Executing PL/SQL: ALTER SESSION SET PLSQL_DEBUG=TRUE
    Executing PL/SQL: ALTER SESSION SET PLSQL_COMPILER_FLAGS=INTERPRETED Executing PL/SQL: CALL DBMS_DEBUG_JDWP.CONNECT_TCP( '127.0.0.1', '3717' )
    ORA-30683: failure establishing connection to debugger
    ORA-12541: TNS:no listener
    ORA-06512: at "SYS.DBMS_DEBUG_JDWP", line 68
    ORA-06512: at line 1
    Process exited.
    Disconnecting from the database eai.
    Listener is OK.
    tnsnames.ora file works and the list of databases comes up in the "new connection".
    I'd be grateful for any assistance you could provide.

    The database needs to connect back to your PC for debugging. Sometimes sqldeveloper can't determine the address to pass to the database.
    Go to Tools -> Preference -> Debugger and select Prompt for Debugger Host for Database Debugger.
    You may still have problems if there is a firewall between you and the server.

  • DB Link , ORA - 02083: illegal database name character '-'

    Hi,
    I work for an integration company and right now we are putting together an application that is moving a small subset of data from one db to another. I have created a db link to move the data. However, when I try to compile the procedure, that moves the data, into the database, the compile fails and I am given the following error:
    ORA-02083: database name has illegal character ‘-‘.
    The instances I’m developing/testing to are on the same machine, which is a Solaris X86 machine and the Oracle version is 8.1.7.
    Now 2 things. If I do a simple query like the one below using SQL*PLUS, the link works fine.
    Select sysdate
    From dual@<dblink_name>;
    The other thing is the domain name does in fact have a ‘-‘ in it, but I have removed the domain name from everyplace I can thing of from Oracle; i.e. tnsnames, init.ora file, etc.
    Does anyone have any ideas?
    Thanks,
    Roger Christophel

    and set this parameter with its correct value.
    DB_DOMAIN
    Parameter type
    String
    Syntax
    DB_DOMAIN = domain_name
    Default value
    There is no default value.
    Parameter class
    Static
    Range of values
    Any legal string of name components, separated by periods and up to 128 characters long (including the periods). This value cannot be NULL.
    Real Application Clusters
    You must set this parameter for every instance, and multiple instances must have the same value.
    In a distributed database system, DB_DOMAIN specifies the logical location of the database within the network structure. You should set this parameter if this database is or ever will be part of a distributed system. The value consists of the extension components of a global database name, consisting of valid identifiers, separated by periods. Oracle Corporation recommends that you specify DB_DOMAIN as a unique string for all databases in a domain.
    This parameter allows one department to create a database without worrying that it might have the same name as a database created by another department. If one sales department's DB_DOMAIN is JAPAN.ACME.COM, then their SALES database (SALES.JAPAN.ACME.COM) is uniquely distinguished from another database with DB_NAME = SALES but with DB_DOMAIN = US.ACME.COM.
    If you omit the domains from the name of a database link, Oracle expands the name by qualifying the database with the domain of your local database as it currently exists in the data dictionary, and then stores the link name in the data dictionary. The characters valid in a database domain name are: alphanumeric characters, underscore (_), and number sign (#).
    See Also:
    Oracle9i Database Performance Tuning Guide and Reference for more information on setting this parameter
    The data dictionary view "GLOBAL_NAME"
    http://download-west.oracle.com/docs/cd/B10501_01/server.920/a96536/ch142.htm#REFRN10036
    Joel Pérez

Maybe you are looking for

  • When will SIRI be on the iPad 2

    Will Siri ever be on the iPad 2, I'm really disappointed that Siri is not on the ipad 2 with the lastest iOS 6. Consumers spend a lot of money on these devices and then find out a fantastic feature will not be available on the iPad 2 but it will be a

  • SAXException while parsing a well formed XML

    Hi all, I am getting SAXException while parsing even though my XML is well formed. It is written in the API that SAXException can be thrown for both error and warning. Is there any way to ignore the warnings coming while parsing and hence no SAXExcep

  • Premiere pro CC doesn't launch !

    Hey, i was very exited this morning because of the CC release ! I started to install After Effects CC (work perfectly), photoshop CC (work perfectly) but Premiere CC doesn't lauch at all ! Windows force close the program at the very begining of the l

  • Purchased Apps not on Purchased List

    I purchased an app on my work computer and figured I'd just download it once I got home. However, the app I purchased is only on my work computer, and I can't sync there or else I'll lose everything (except that one app). I checked my Purchased list

  • 2.1 update  reduces sound quality and volume on Lexus Bluetooth system

    I have a Lexus IS250 with a built-in Bluetooth system. Ever since I upgraded to 2.1, I've had to always switch to speakerphone whenever talking in the car, because people are always saying I'm either breaking up, or extremely faint. I know there's pr