Fnd_web_sec.validate_login returns ORA-29540

Hi guys,
when i'am executing
select fnd_web_sec.validate_login('user123', 'pass123')
from dual;
with 'apps' DB user every thing works well and i get 'Y' as a result for the query.
now i have new DB user 'XX'
when i login using user 'XX and executing
select fnd_web_sec.validate_login('user123', 'pass123')
from dual;
i get 'N' as a result for the query.
so i run the following query
select fnd_message.get from dual;
and the message i got is :
Oracle error -29540: ORA-29540: class oracle/apps/fnd/security/WebSessionManagerProc does not exist has been detected in FND_WEB_SEC.VALIDATE_LOGIN(u,p).
obviously there is no problem with the class since it works with 'apps' user so i suspect
it's a privileges issue.
thx in advance for anyone who helps.

Issue was solved by creating the following synonyms under the Required User :
create synonym fnd_languages for apps.fnd_languages;
create synonym fnd_user for apps.fnd_user;
create synonym fnd_application for apps.fnd_application;
create synonym fnd_lookup_types for apps.fnd_lookup_types;
create synonym fnd_product_groups for apps.fnd_product_groups;
create synonym fnd_web_sec for apps.fnd_web_sec;
CREATE SYNONYM FND_USER_PREFERENCES FOR APPS.FND_USER_PREFERENCES;
CREATE SYNONYM FND_USER_PREFERENCE FOR "APPLSYS"."FND_USER_PREFERENCES";
Best regards,
Ahmed Shokry

Similar Messages

  • FND_WEB_SEC.Validate_Login not working

    Hi,
    I need to grant the privilege on FND_WEB_SEC package of APPS schema to ITRACKER on one of my Apps11i instance dev1.ads.ad.
    Basically, I need to invoke the Validate_Login function which uses fnd_user table. Hence I had granted execute on APPS.FND_WEB_SEC to a user ITRACKER. Since this did not work, catching a look at the function made me realize that it weas intrinsically invoking FND_GLOBAL, FND_MESSAGE, FND_USER packages, and so i granted execute privilege on these packages too. Traversing through the functions called from within, I also granted execute privilege on FND_SESSION and FND_PROFILE packages. I also tried granting execute privs on sys.dbms_rls, but it does not help.
    Anyway, Im able to run this Validate_Login function from the Apps user in SQL Plus and it returns me the correct result. But trying to invoke the same from ITRACKER worker is not yielding me the desired result, its always returning N
    In contrast, we have a QUOTE user in another Apps11i instance dev01 and there its working fine, the custom application is able to invoke this Validate_Login function of FND_WEB_SEC, whereas this same is not working for ITRACKER in dev1. By the way, Ive granted all the sys privs accessible with QUOTE to the ITRACKER user and Ive ensured this by matching the privileges listed from user_role_privs as well as user_sys_privs.
    Will highly appreciate if You can let me know wot am I missing out exactly, or wot do i need to make FND_WEB_SEC.VALIDATE_LOGIN return me Y for any valid Applications user.
    Thanks,
    Manoj

    Hi
    The important thing to work out is why it is returning N - having a quick look at the function, there are at least half a dozen different reasons why it might return N. Before each "return 'N';" the function is setting a message (FND_Message.Set_Encoded...). As you have already granted execute on FND_Message, the following code will provide you with the reason why the answer is N (assuming you are running in SQL*Plus when logged on as the ITRACKER user):
    set serveroutput on
    declare
    v varchar2(1);
    begin
    v := apps.fnd_web_sec.validate_login('username', 'pwd');
    dbms_output.put_line('Valid? ' || v);
    dbms_output.put_line('Message : ' || apps.fnd_message.get);
    end;
    Given that this gave me:
    Valid? N
    Message : ORA-00942: table or view does not exist
    You will need to look at the tables and views that the QUOTE user has been granted access to (USER_TAB_PRIVS) that ITRACKER has not. If ITRACKER has all of the objects available, check what private synonyms QUOTE has that refer to Apps tables.

  • ORA-29540: class oracle/jpub/runtime/dbws/DbwsProxy does not exist

    Hi ,
    We are getting below error while executing webservice from PL/SQL block. Please help what would be wrong in below code. Thanks in advance.
    ORA-29540: class oracle/jpub/runtime/dbws/DbwsProxy does not exist
    ORA-06512: at "SYS.UTL_DBWS", line 318
    ORA-06512: at "FUSION.ADD_NUMBERS", line 21
    29540. 00000 - "class %s does not exist"
    *Cause:    Java method execution failed to find a class with the indicated name.
    *Action:   Correct the name or add the missing Java class.
    PL/SQL Code
    CREATE OR REPLACE FUNCTION add_numbers (username IN VARCHAR, password IN VARCHAR)
    RETURN NUMBER
    AS
    l_service SYS.UTL_DBWS.service;
    l_call SYS.UTL_DBWS.call;
    l_wsdl_url VARCHAR2(32767);
    l_namespace VARCHAR2(32767);
    l_service_qname SYS.UTL_DBWS.qname;
    l_port_qname SYS.UTL_DBWS.qname;
    l_operation_qname SYS.UTL_DBWS.qname;
    l_xmltype_in SYS.XMLTYPE;
    l_xmltype_out SYS.XMLTYPE;
    l_return NUMBER;
    returnVal BOOLEAN;
    boolean_type_qname sys.utl_dbws.QNAME;
    string_type_qname sys.utl_dbws.QNAME;
    BEGIN
    sys.UTL_DBWS.SET_PROPERTY(l_call,'USERNAME','fusion');
    sys.UTL_DBWS.SET_PROPERTY(l_call,'PASSWORD','fusion');
    l_wsdl_url := 'http://adcdab06.us.oracle.com:10217/xmlpserver/services/PublicReportWSSService?wsdl';
    l_namespace := 'http://xmlns.oracle.com/oxp/service/PublicReportService/';
    l_service_qname := SYS.UTL_DBWS.to_qname(l_namespace, 'PublicReportWSSServiceService');
    l_port_qname := SYS.UTL_DBWS.to_qname(l_namespace, 'PublicReportWSSService');
    l_operation_qname := SYS.UTL_DBWS.to_qname(l_namespace, 'validateLogin');
    l_service := SYS.UTL_DBWS.create_service (URIFACTORY.getURI(l_wsdl_url),l_service_qname);
    l_call := SYS.UTL_DBWS.create_call (l_service,l_port_qname,l_operation_qname);
    sys.utl_dbws.set_target_endpoint_address(l_call, 'http://adcdab06.us.oracle.com:10217/xmlpserver/services/PublicReportWSSService');
    boolean_type_qname :=sys.utl_dbws.to_qname ('http://www.w3.org/2001/XMLSchema', 'boolean');
    string_type_qname :=sys.utl_dbws.to_qname ('http://www.w3.org/2001/XMLSchema', 'string');
    sys.utl_dbws.add_parameter(l_call, 'BI_Admin', string_type_qname, 'ParameterMode.IN');
    sys.utl_dbws.add_parameter(l_call, 'Welcome1', string_type_qname, 'ParameterMode.IN');
    -- sys.utl_dbws.add_parameter (l_call,returnVal,boolean_type_qname,'ParameterMode.OUT');
    sys.utl_dbws.set_return_type (l_call, string_type_qname);
    -- utl_dbws.add_parameter(l_call_, 'ubiNum', string_type_qname, 'ParameterMode.IN');
    --sys.utl_dbws.add_parameter(l_call, 'TEST', string_type_qname, 'ParameterMode.IN');
    --l_xmltype_in := SYS.XMLTYPE('<?xml version="1.0" encoding="utf-8"?>
    --<validateLogin xmlns="' || l_namespace || '">
    --<validateLoginInput>' || p_int_1 || '</validateLoginInput>
    --</validateLogin>');
    l_xmltype_out := SYS.UTL_DBWS.invoke(call_Handle => l_call, request => l_xmltype_in);
    SYS.UTL_DBWS.release_call (call_handle => l_call);
    SYS.UTL_DBWS.release_service (service_handle => l_service);
    dbms_output.put_line('WS Executed successfully...');
    -- l_return := l_xmltype_out.extract('//return/text()').getNumberVal();
    RETURN 11;
    END;
    /

    Check if this helps:
    ORA-29540: class oracle/jpub/runtime/dbws/DbwsProxy does not exist

  • ORA-29540:class oracle/pub/runtime/dbws/DbwsProxy does not exist

    Hi we are getting below error while calling UTl_DBWS package.
    Database version 11.2.0.2
    package definition
    create or replace function xxpvn_ws_test
    return varchar2
    is
      service_           sys.utl_dbws.SERVICE;
      call_              sys.utl_dbws.CALL;
      service_qname      sys.utl_dbws.QNAME;
      port_qname         sys.utl_dbws.QNAME;
      xoperation_qname   sys.utl_dbws.QNAME;
      xstring_type_qname sys.utl_dbws.QNAME;
      response           sys.xmltype;
      request            sys.xmltype;
    begin
      service_qname := sys.utl_dbws.to_qname(null, 'getJoke');
      service_ := sys.utl_dbws.create_service(service_qname);
      call_ := sys.utl_dbws.create_call(service_);
      sys.utl_dbws.set_target_endpoint_address(call_, 'http://interpressfact.net/webservices/getjoke.asmx');
      sys.utl_dbws.set_property( call_, 'SOAPACTION_USE', 'TRUE');
      sys.utl_dbws.set_property( call_, 'SOAPACTION_URI', 'http://interpressfact.net/webservices/getJoke');
      sys.utl_dbws.set_property( call_, 'OPERATION_STYLE', 'document');
      request := sys.xmltype(
           '<getJoke xmlns="http://interpressfact.net/webservices/">'
        || '<Category>Excuses-10</Category>'
        || '</getJoke>');
      response :=sys. utl_dbws.invoke(call_, request);
      return response.extract('//getJokeResult/child::text()',
        'xmlns="http://interpressfact.net/webservices/"').getstringval();
    end ;error message
    SQL> select xxpvn_ws_test from dual;
    select xxpvn_ws_test from dual
    ERROR at line 1:
    ORA-29540: class oracle/jpub/runtime/dbws/DbwsProxy does not exist
    ORA-06512: at "SYS.UTL_DBWS", line 144
    ORA-06512: at "SYS.XXPVN_WS_TEST", line 14
    Thanks
    Jitendra

    This error related to jave since its not installed in database user schema
    Logout of sqlplus and run:
    loadjava -u / -r -v -f -s -grant public -genmissing dbwsclientws.jar dbwsclientdb102.jar
    Check this
    https://kr.forums.oracle.com/forums/thread.jspa?threadID=2264325

  • FND_WEB_SEC.Validate_Login

    I have modified the fnd_web_sec.validate_login to integrate with Novell Active Directory. I have created a new function and validating the Active Directory using DBMS_LDAP call. I am calling this function in the fnd_web_sec.validate_login. It works fine when I run from TOAD or SQL Plus. But when I enter from Oracle Apps loging, it doesn't work. Do I have register or Insert this Custom Function in any table? Thanks in Advance!!

    Thanks, Hussain!!
    I didn't get any errors. Here is the code
    FUNCTION validate_login(
    p_user IN VARCHAR2,
    p_pwd IN VARCHAR2) return VARCHAR2 is
    L_UserId Number;
    L_Retval Number;
    L_Session dbms_ldap.session;
    L_Attrs dbms_ldap.string_collection;
    L_Message dbms_ldap.message;
    L_Entry dbms_ldap.message;
    L_Dn Varchar2(256);
    L_Return Number;
    L_UserType Number;
    L_LdapUser varchar2(256);
    L_LdapPwd varchar2(256);
    G_Host CONSTANT Varchar2(255) := 'My COmpany';
    G_Port CONSTANT Number := 6501;
    begin
    BEGIN
    SELECT user_id
    INTO L_UserId
    FROM fnd_user
    WHERE upper(user_name) =upper(p_user)
    AND (start_date <= sysdate)
    AND (end_date is null or end_date > sysdate);
    EXCEPTION
    WHEN NO_DATA_FOUND THEN
    /* If the user doesn't exists in Oracle E-Business Suite */
    fnd_message.set_encoded('FND'||fnd_global.local_chr(0)||'SECURITY_APPL_USERID_INVALID'||fnd_global.local_chr(0));
    L_Retval:=-1;
    RETURN 'N';
    END;
    /* If the user exists in Oracle E-Business */
    IF L_UserId IS NOT NULL
    THEN
    dbms_ldap.use_exception :=TRUE;
    L_LdapUser:=p_user;
    L_LdapUser:='CN='||L_LdapUser||',.....the company info goes here;
    L_LdapPwd:=p_pwd;
    L_Session := dbms_ldap.init(G_Host,G_Port);
    L_Retval := DBMS_LDAP.simple_bind_s(L_Session, L_LdapUser, L_LdapPwd);
    L_Retval := DBMS_LDAP.unbind_s(L_Session);
    END IF;
    IF L_Retval=0
    THEN
    RETURN 'Y';
    ElSE
    RETURN 'N';
    END IF;
    EXCEPTION
    WHEN OTHERS
    THEN
    L_Retval:=-1;
    fnd_message.set_encoded('FND'||fnd_global.local_chr(0)||'SECURITY_APPL_USERID_INVALID'||fnd_global.local_chr(0));
    RETURN 'N';
    END;
    when I run this from back end..it returns Y for corret password..and 'N' for incorrect password. But when I try login using Oracle Apps login page this code deosn't work. Do you have any work around for this? Thanks in Advance!!
    Kalyan

  • Send mail with pl/sql error ORA -29540

    Hi everybody
    I try to use a procedure to send emails. I've got the procedure here in this forum from Kiron Rao (thanks). When I execute this procedure I get this error message :
    [1]: (Error): ORA-29540: class oracle/plsql/net/TCPConnection does not exist ORA-06512: at line 8
    any idea ?
    here is the script :
    CREATE PROCEDURE MAILTEST
    IS
    conn UTL_SMTP.CONNECTION;
    mailhost VARCHAR2(64) := 'mailhost.server.com';
    abcd VARCHAR2( 2 ):= CHR( 13 ) || CHR( 10 );
    mesg VARCHAR2(4000);
    usrname VARCHAR2(30);
    usraddr VARCHAR2(100);
    subj VARCHAR2(100);
    body_of_msg VARCHAR2(100);
    recaddr VARCHAR2(100);
    BEGIN
    usrname:= 'Alain Smaili';
    usraddr:= '[email protected]';
    recaddr:= '[email protected]';
    subj:= 'This is a PL/SQL Email Test';
    body_of_msg := '<HTML><BODY><B><I>This is a PL/SQL Email Test from oradb1p</I></B></BODY></HTML>';
    mesg:= 'Date: ' || TO_CHAR(SYSDATE, 'dd Mon yy hh24:mi:ss') || utl_tcp.crlf ||
    'From: ' || usrname || ' <' || usraddr || '>' || utl_tcp.crlf ||
    'Subject: ' || subj || utl_tcp.crlf ||
    'Content-Type: text/html' || utl_tcp.crlf ||
    'X-Priority: 1' || utl_tcp.crlf ||
    'Return-Receipt-To: [email protected]' || utl_tcp.crlf;
    mesg:= mesg || utl_tcp.crlf || body_of_msg;
    conn:= utl_smtp.open_connection(mailhost, 25);
    utl_smtp.helo(conn,mailhost);
    utl_smtp.mail(conn, usraddr);
    utl_smtp.rcpt(conn,recaddr);
    utl_smtp.data(conn, mesg);
    utl_smtp.quit(conn);
    EXCEPTION
    WHEN others THEN
    RAISE;
    END;

    Some of the class files are missing ? did U load plssql.jar files succesfully?
    Cehck the asktom.oracle.com site for more detailed information regarding this error
    Ashok

  • Validate_login returning N instead of Y

    Hi,
    In Oracle Time and Labor, we are using employee number and password(employee no: 201456 password: 201456_password). If I go to e business suite in web browser it works fine but if I try select fnd_web_sec.validate_login('201456 , '201456_password') from dual it is returning N.
    Please guide me
    thanks in advance

    fnd_web_sec is an internal encrypted API, so better to use public APIs. Please try using the below and see if it works.
    fnd_user_pkg.validatelogin (username varchar2,
    password varchar2) return boolean
    Thanks
    Shree

  • Oracle query on dblinked SQL Server tables returns ORA-00904 error

    Hi,
    I have created a dblink to a SQL Server database from Oracle using Generic Connectivity.
    The following query returns ORA-00904 Invalid Identifier error in the WHERE clause (tblEmp.Empno)
    SELECT "EmpNo","EmpName", "DeptName"
    FROM tblEmp@sqlserver,
    tblDept@sqlserver
    WHERE tblDept.DeptNo = tblEmp.Empno
    I had to enclose the column names in double quotes due to case sensitivitiy of the columns, but I can't do the
    same for the WHERE clause.
    1) So, how do I fix this error ?
    2) Also how do I include Deptno column with table alias in the columns list?
    (Deptno is ambiguous in Emp and Dept tables)
    Regards,
    Sam

    Alex
    Because using the aliases all the time can become annoying and lead to disparate standards when used by multiple developers. For a one-off query I would go with aliases in the query but if the linked tables are going to be interrogated extensively I would prefer to create vanilla views of the underlying tables so that the aliases aren't necessary.
    Just my opinion, it feels a bit cleaner to do it this way - you only do the work once in creating the view and then you don't need to worry about the case sensitivity of the linked database. You can also refer to the source in the name of the view so you don't have to think about different source databases with the same table names.
    Cheers
    Ben

  • A In-line view query works with 8.1.6 but returns ORA-1008 with 8.1.7

    Hello Gurus,
    The following query works fine with 8.1.6 but returns
    ORA-1008: not all variables bound
    with 8.1.7.
    Here is the query:
    SELECT y.node_id , y.parent_node_id
    FROM ( SELECT x.node_id
    ,x.parent_node_id
    FROM ( SELECT a.node_id
    ,a.parent_node_id
    FROM xor_hs_base_details a
    WHERE a.node_id <>
    a.parent_node_id
    AND a.base_id=1
    ) x
    CONNECT BY PRIOR x.node_id =
    x.parent_node_id
    START WITH x.parent_node_id = 1
    ) y
    WHERE y.node_id IN ( SELECT node_id
    FROM xor_hs_transactions
    WHERE hierarchy_id = 1
    AND created_by
    = 'system'
    AND committed_on IS NULL
    Any ideas??
    TIA.
    ...Atul

    After having a closer look at metalink it seems to be obvious, that Forms 6i (8.0.6.) only supports user exits generated with the 8.0.6. precompiler.
    If this is the case new questions follow:
    Is there a way to get a 8.0.6. precompiler?
    Is it possible to connect to a 8.1.5. database with such a user exit? Does anybody have corresponding experiences?
    Our customer uses a 8.1.7. database. What about connecting to that database with the user exit?
    /Ralph

  • Convert DD to DMS using sdo_coord_ops = 101 returns ORA-13199

    Hi,
    I need to convert lat/long DD to DMS.
    There is an operation in sdo_coord_ops (coord_op_id = 101) to do that but returns ORA-13199 when i try sdo_cs.add_preference_for_op
    I know that i can do that conversion with a function (Re: SDO_UTIL.BEARING_TILT_FOR_POINTS in a Select statement - thanks Simon!).
    How i know which operation that exists in sdo_coord_ops are actually implemented or not?
    Thanks!

    Well, if you check the documentation it's quite clear: Coordinate Systems (Spatial Reference Systems)
    Of course you could also run something like this:
    select co.coord_op_id,
           co.coord_op_name,
           com.coord_op_method_name,
           com.is_implemented_forward,
           com.is_implemented_reverse
    from sdo_coord_ops co,
         sdo_coord_op_methods com
    where co.coord_op_id = 101 and
          com.coord_op_method_id = co.coord_op_method_id;
    0 = not implemented, 1 = implemented.

  • OCITransCommit() returns ORA-01013 for correctly committed transaction

    I had the following issue which seems to me a critial bug in Oracle 11g:
    Breaking an oracle transaction asynchronously with OCIBreak() while transaction is being committed with OCITransCommit() did result in a correctly committed transaction on the database server. However OCITransCommit() returned ORA-01013 (user requested cancel of current operation) which is inconsistent. It should never happen that the transaction is correctly committed and OCITransCommit() returns anything other than OCI_SUCCESS.
    My assumption is that the transaction is only committed on the database server if the OCITransCommit() returns OCI_SUCCESS. Or is this assumption not always correct?
    Oracle version 11.2.0.3.0 64bit (Linux)

    As Karthick says, perhaps the Call Interface forum is a better place to ask.
    However, as a guess on my part (I've rarely had a need to go directly into OCI calls) from what I know of the internal workings of transactions on Oracle, the COMMIT operation is an atomic (if that's the right word to use here) operation. When you issue a COMMIT from your code, it doesn't go off to the database, do loads of work committing your data and writing it to the disks etc. before execution is returned to your code, it is a very basic instruction to the database to commit the data, which then goes off and does that in the background, whilst execution is returned immediately to the calling code, and Oracle in the background can take it's time getting the data written, and can present the data to your session and others, as if it is actually on the tables. This is all handled using the SCN and the logs internally and users don't have to worry about it (usually) because it all appears on the front end as though the data exists and is written on the tables.
    So, I'm curious as to how you (or the OCI calls) are managing to issue a "break" to try and break a commit from happening. Without seeing code it's hard to see how you are testing this.
    I've just looked up the documentation for TransCommit...
    http://docs.oracle.com/cd/E11882_01/appdev.112/e10646/oci17msc006.htm#LNOCI13112
    and I see you have the option of "Waiting" for the LGWR to write the transaction to the online redo logs, so that's a possible scenario for breaking, though I imagine you'd have to get in quickly with the break from another thread if the one thread is waiting for the commit.
    Intersting part of the docs...
    >
    Under normal circumstances, OCITransCommit() returns with a status indicating that the transaction has either been committed or rolled back. With global transactions, it is possible that the transaction is now in doubt, meaning that it is neither committed nor terminated. In this case, OCITransCommit() attempts to retrieve the status of the transaction from the server. The status is returned.
    >
    Still, it would be interesting to see the test code to reproduce this.... just my morbid curiosity for low level coding.... ;)

  • ORA-29540: class oracle/xml/sql/query/OracleXMLStaticQuery does not exist

    I am getting below error when trying to generate xml. Browsing on google did not help me. I would appreciate if someone can provide the solution.
    SQL> select dbms_xmlquery.getxml('select * from dual', 2) from dual;
    ERROR:
    ORA-29540: class oracle/xml/sql/query/OracleXMLStaticQuery does not exist
    ORA-06512: at "SYS.DBMS_XMLQUERY", line 19
    ORA-06512: at "SYS.DBMS_XMLQUERY", line 271
    ORA-06512: at line 1

    Then it is probably not the case that you are affected by the issue described in Metalink document 185857.1, but if I were you I would check it anyway, since it might be the problem.

  • ORA-29540: class oracle/xquery/OXQServer does not exist

    I'm running 10g and initially had a problem when running XMTABLE that the error :-
    "identifier 'SYS.DBMS_XQUERYINT' must be declared"
    came up when I tried to execute anything relating to XQUERY
    One of our DBAs very kindly looked into this and found the script :-
    "$ORACLE_HOME/rdbms/admin/initxqry.sql"
    This was executed, but now I get the error :-
    ORA-29540: class oracle/xquery/OXQServer does not exist
    Does anyone know what I am still missing out?
    Thanks in anticipation of any advice anyone can offer

    Thanks mdrake, we seem to gradually be getting there.
    One thing I've now come across is :-
    oracle.jdbc.driver.OracleSQLException: ORA-06550: line 1, column 7:
    PLS-00201: identifier 'DBMS_LOB' must be declared
    O
    This is a "demo" trigger that caused this problem :-
    CREATE OR REPLACE TRIGGER xml_inbox_trigger AFTER INSERT ON xmlinbox
    FOR EACH ROW
    DECLARE
    XMLRECORD XMLType;
    BEGIN
    XMLRECORD := :new.XMLDATA;
    INSERT INTO all_children
    (childname) VALUES
    (extractvalue (XMLRECORD, '*/child/name'));
    IF :new.xmlfilename like 'boys%' THEN
    INSERT INTO boys
    (childname) VALUES
    (extractvalue (XMLRECORD, '*/child/name'));
    END IF;
    IF :new.xmlfilename like 'boys%' THEN
    INSERT INTO boys_wishlist SELECT
    childname , artno , description ,price FROM
    XMLTABLE (
    '*/child' passing XMLRECORD
    columns
    childname varchar2(25) path '/name'
    , artno number path '/wishlist/artno'
    , description varchar2(25) path '/wishlist/description'
    , price varchar2(10) path '/wishlist/price'
    END IF;
    IF :new.xmlfilename like 'girls%' THEN
    INSERT INTO girls
    (childname) VALUES
    (extractvalue (XMLRECORD, '*/child/name'));
    END IF;
    END;
    Do you think the above error is caused by something wrong with the above code, or something else wrong with our installation??
    Thank you so much for your continued assistance

  • Bulk table update returning ORA-00001: unique constraint

    I'm trying to update every record in a PROPERTY table that has a CLASS of either 1 or 9 and a STATUS of 'LHLD'. CLASS and STATUS descriptor records are in different tables to the PROPERTY table but reference the PROPERTY records by the PROPERTY tables unid.
    I have wrote the following update command,
    UPDATE RNT_PROPERTY_DESCRIPTOR SET DESCRIPTOR = 'PROP', DESCRIPTOR_VALUE = '1', EFFECT_DATE = '01-APR-04', USER_ID = 'USER'
    WHERE RNT_PROPERTY_DESCRIPTOR.UNID IN (SELECT PROPERTY.UNID FROM PROPERTY, PROPERTY_CLASS_STATUS
    WHERE PROPERTY_CLASS_STATUS.PROP_CLASS = '1'
    OR PROPERTY_CLASS_STATUS .PROP_CLASS = '9'
    AND PROPERTY.UNID IN (SELECT PROPERTY.UNID FROM PROPERTY, PROP_STATUS_HIST
    WHERE PROP_STATUS_HIST.code = 'LHLD'));
    However, after executing for around 10 mins the process update fails and the following error is returned:
    ORA-00001: unique constraint (RNT_PROPERTY_DESCRIPTOR_IDX) violated
    I know that the IDX suffix refers to the table INDEX but I'm not sure why I'm getting a key constraint, none of the colums that I'm trying to update must be unique.
    For info the PROPERTY table has around 250,000 rows.
    Any ideas? Is there an error in my update statement?
    Thanks in advance.

    Gintsp,
    can you explain a little more? I'm not sure what you are suggesting that I try.
    Here is the output of what I have tried
    SQL> UPDATE RNT_PROPERTY_DESCRIPTOR SET DESCRIPTOR = 'PROP', DESCRIPTOR_VALUE = '1', EFFECT_DATE = '01-APR-04', USER_ID = 'USER'
    2 WHERE RNT_PROPERTY_DESCRIPTOR.UNID IN (SELECT PROPERTY.UNID FROM PROPERTY, PROPERTY_CLASS_STATUS
    3 WHERE PROPERTY_CLASS_STATUS.PROP_CLASS = '1'
    4 OR PROPERTY_CLASS_STATUS.PROP_CLASS = '9'
    5 AND PROPERTY.UNID IN (SELECT PROPERTY.UNID FROM PROPERTY, PROP_STATUS_HIST
    6 WHERE PROP_STATUS_HIST.CODE = 'LHLD'));
    UPDATE RNT_PROPERTY_DESCRIPTOR SET DESCRIPTOR = 'PROP', DESCRIPTOR_VALUE = '1', EFFECT_DATE = '
    ERROR at line 1:
    ORA-00001: unique constraint (RNT_PROPERTY_DESCRIPTOR_IDX) violated
    SQL> select owner, constraint_type, table_name, search_condition from user_constraints where constraint_name = 'RNT_PROPERTY_DESCRIPTOR_IDX';
    no rows selected
    The RNT_PROPERTY_DESCRIPTOR table structure is as follows:
    Name Null? Type
    UPRN NOT NULL NUMBER(7)
    DESCRIPTOR NOT NULL VARCHAR2(4)
    DESCRIPTOR_VALUE VARCHAR2(11)
    EFFECT_DATE NOT NULL DATE
    VALUE_DESCRIPTION VARCHAR2(35)
    POINTS NUMBER(2)
    POUNDS NUMBER(5,2)
    SUPERSEDED VARCHAR2(1)
    CURRENT_FLAG VARCHAR2(1)
    FUTURE VARCHAR2(1)
    END_EFFECT_DATE DATE
    USER_ID NOT NULL VARCHAR2(10)
    CREATE_DATE DATE
    -------------------------------------------------------------

  • ORA-29540 during full database export

    Hi,
    Anyone encounter this error ORA-29540 during full database export. Have check out the web site for solution. Have check that the init file compatible is set to 8.1.0, the public synonym dba_java is been removed. However after the above remedies, the problem still occured. My database version is 8.1.5. Please let me know if there is other solution to this problem.
    Thank You ...
    regards,
    lbs

    Hi,
    Thanks...Any idea how to check whether the installation for the initjvm.sql is successful. cos I just took over from the previous DBA and he too have no idea...
    Thank You..

Maybe you are looking for