Error ORA-01779: table preserved key not on update

Hello.

I'm doing this update:
 UPDATE (
  SELECT aux.o_customer AS a1, 
    REGEXP_REPLACE(kna.kunnr,'^0*','') AS a2
  FROM payer_catalog cli, 
    customer_master_cat kna, 
    aux_customer aux
  WHERE aux.o_customer = cli.cte_num
    AND cli.cte_num = kna.cte_num
) SET a1 = a2; 
What I get is:
ERROR at line 1:
ORA-01779: cannot modify a column that is mapped to a table not preserved key >

I have read on the key preserved table, but I'm going through a difficult time. Given that I did not understand the concept. Your help is greatly appreciated, so I can understand the question.

It's the table create:
CREATE TABLE AUX_CUSTOMER
   (     KEY_GUIDE VARCHAR2(30 CHAR), 
     O_CUSTOMER VARCHAR2(10 CHAR), 
     O_NAME VARCHAR2(80 CHAR)
   );

CREATE TABLE CUSTOMER_MASTER_CAT
   (     KUNNR VARCHAR2(10 BYTE), 
     NAME1 VARCHAR2(100 BYTE), 
     NAME2 VARCHAR2(100 BYTE), 
     CTE_NUM VARCHAR2(10 BYTE)
   ) ;

CREATE TABLE PAYER_CATALOG
   (     CTE_NUM VARCHAR2(10 BYTE), 
     PAYER VARCHAR2(100 BYTE)
   );
And some inserts:
Insert into AUX_CUSTOMER (KEY_GUIDE,O_CUSTOMER,O_NAME) values ('171109366944  23/01/12','N001210514',null);
Insert into AUX_CUSTOMER (KEY_GUIDE,O_CUSTOMER,O_NAME) values ('005107145536  23/01/12','N001210600',null);
Insert into AUX_CUSTOMER (KEY_GUIDE,O_CUSTOMER,O_NAME) values ('666318008569  23/01/12','0000104574',null);
Insert into AUX_CUSTOMER (KEY_GUIDE,O_CUSTOMER,O_NAME) values ('043188136629  23/01/12','N001210514',null);

INSERT INTO CUSTOMER_MASTER_CAT (KUNNR,NAME1,NAME2,CTE_NUM) VALUES ('0000008147','HONDA MOTOR','COMPANY LTD','N001210514');
Insert into CUSTOMER_MASTER_CAT (KUNNR,NAME1,NAME2,CTE_NUM) values ('0000009559','APPLE','INC','N001210515');
Insert into CUSTOMER_MASTER_CAT (KUNNR,NAME1,NAME2,CTE_NUM) values ('0000104574','SAMSUNG ELECTRONICS ','INC',null);

Insert into PAYER_CATALOG (CTE_NUM,PAYER) values ('N001210514','HONDA');
Insert into PAYER_CATALOG (CTE_NUM,PAYER) values ('N001210515','EXTERNAL CUSTOMER');
Insert into PAYER_CATALOG (CTE_NUM,PAYER) values ('N001210516','CELLULAR COMPANY');
This are not the tables I have created, I just checked the information.
Kind regards.

Hello

If it is not clear how to do an UPDATE, there is a good chance that the UPDATE is not the right tool for the job.
Try instead MERGER.

MERGE INTO     aux_customer     dst
USING (
     SELECT    aux.key_guide
     ,       MIN ( REGEXP_REPLACE ( kna.kunnr
                                        , '^0*'
                                  )
                   )                     AS a2
     FROM      payer_catalog             cli
     ,       customer_master_cat       kna
     ,           aux_customer                  aux
     WHERE        aux.o_customer            = cli.cte_num
     AND       cli.cte_num                 = kna.cte_num
     GROUP BY  aux.key_guide
      )                    src
ON    (dst.key_guide     = src.key_guide)
WHEN MATCHED THEN UPDATE
SET   dst.o_customer     = src.a2
;

What are the results you want from the given sample data?
The MERGE statement above let aux_customer that looks like this:

KEY_GUIDE                      O_CUSTOMER O_NAME
------------------------------ ---------- ----------
005107145536  23/01/12         N001210600
043188136629  23/01/12         8147
171109366944  23/01/12         8147
666318008569  23/01/12         0000104574

Whether you use the FUSION or the UPDATE, if you update the actual table or view online, please make sure that the query that produces the new product (at most) one value of 1 line for each line in the table updated.

Tags: Database

Similar Questions

  • SQL error: ORA-01779: cannot modify a column that matches a key examine

    Hi all

    The requirement is that I have two tables s_party_d and S_CONTACT_d. the need to update the column name with FST_NAME | ',' | Last_name when column rowid in both tables are equal. I used the query previously below: -.

    Update
    (select
    E1. Name,
    e.FST_NAME,
    Select
    Of
    s_party_d e1,
    E S_CONTACT_d
    where
    E1. Game of ROW_ID = e.ROW_ID)
    name = FST_NAME | ',' | LAST_NAME;

    But I get the error message when executing the query

    Error in the command line: 31 column: 3
    Error report:
    SQL error: ORA-01779: cannot modify a column that is mapped to a table not preserved key
    01779 00000 - 'impossible to change a column that is mapped to a non-preserved table at key'
    * Cause: An attempt was made to insert or update columns in a join finds out who
    map to a table not kept the key.
    * Action: Change the directly underlying base tables.

    Can U please tell me why this error and how to solve?

    Thank you
    Mathon

    Mathon wrote:

    So, I have to look into some other method... I can't achieve this using a single update statement...

    Well, no matter what you do you need to decide what FST_NAME | ',' | Name to use. As I already pointed out for each line of the line of the s_party_d table there are several rows in table S_CONTACT_d. Again, you must yo decide what S_CONTACT_d table row you want to use. For example:

    update s_party_d e1
       set e1.name = (
                      select  max(e.FST_NAME) ||', '|| max(e.LAST_NAME)
                        from  S_CONTACT_d e
                        where e1.ROW_ID=e.ROW_ID
                     )
     where e1.ROW_ID in (
                         select  e.ROW_ID
                           from  S_CONTACT_d e
                        )
    /
    

    SY.

  • Changing table - SQL error: ORA-04091: table XYZ is changing, function of triggering/can not see

    Hi all

    I am a newbie to Oracle and I am faced with the above error. Please see the below code snippets. Can someone please tell what I am doing wrong? Thank you in advance.

    Thank you

    CREATE TABLE ABC

    (

    ID VARCHAR2 ENABLE NUMBER NOT NULL,

    FIELD1 ACTIVATE THE NUMBER NOT NULL,

    FIELD2 ACTIVATE THE VARCHAR2 (8 BYTE) NOT NULL,

    CONSTRAINT JOB_PK PRIMARY KEY (ID)

    )

    ;

    CREATE TABLE XYZ

    (

    ACTIVATE THE NUMBER 4 R_ID NOT NULL,.

    ID VARCHAR2 ENABLE NUMBER NOT NULL,

    Column1 NUMBER (2.0) default 0.00,.

    Column2 NUMBER (2.0) default 0.00,.

    COLUMN3 NUMBER (2.0).

    NUMBER (2.0) TOTAL 0.00 default.

    CONSTRAINT TRIP_PAYMENT_PK PRIMARY KEY (ID)

    )

    ;

    create or replace trigger trigger1

    After Insert on XYZ

    for each line

    Declare

    number of newTotal;

    Start

    newTOTAL: =: new. Column1 +: new. Column2 +: new. COLUMN3;

    setting a day of XYZ together Total = newTotal;

    end;

    Insert into ABC (1, 45, ' Demo');

    insertion in XYZ (1, 1, 12.50, 10.20 33,50, ");

    Error report:

    SQL error: ORA-04091: table XYZ is changing, function of triggering/can not see

    Try one before line

    create or replace trigger trigger1

    before inserting on XYZ

    for each line

    Start
    : new. TOTAL: =: new. Column1 +: new. Column2 +: new. COLUMN3;
    end;

  • error ORA-00942 table or view does not gv$ session s, v$ sql

    Hello

    I used it after request for package gives error ORA-00942 table or view does not exist but I run same query in sql plsql developer command run successfully.

    SELECT sid, serial #.
    in V_SID, V_SERIAL
    GV $ session s, v$ sql v
    WHERE username = "USER1".
    and s.SQL_ID = v.SQL_ID


    Kind regards
    Vaibhav
    grant select on gv_$session to ;
    grant select on v_$sql to ;
    

    Note If you are using GV$ SESSION then you must also use GV$ SQL and join with INST_ID column select.

  • Table preserved key questions

    I have a question, that was triggered from this thread:

    {: identifier of the thread = 2331412}

    Version
    BANNER
    --------------------------------------------------------------------------------
    Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production
    PL/SQL Release 11.2.0.2.0 - Production
    CORE    11.2.0.2.0      Production
    TNS for Solaris: Version 11.2.0.2.0 - Production
    NLSRTL Version 11.2.0.2.0 - Production
    Setup
    DROP TABLE t1 PURGE;
    DROP TABLE t2 PURGE;
    
    CREATE TABLE t1
    ( t1_pk  NUMBER PRIMARY KEY
    , t1_dat NUMBER UNIQUE
    );
    
    CREATE TABLE t2
    ( t2_pk     NUMBER
    , t2_dat_pk NUMBER
    , CONSTRAINT t2_pk PRIMARY KEY (t2_pk, t2_dat_pk)
    );
    
    INSERT INTO t1(t1_pk, t1_dat) VALUES (1,5);
    INSERT INTO t1(t1_pk, t1_dat) VALUES (2,4);
    INSERT INTO t1(t1_pk, t1_dat) VALUES (3,3);
    INSERT INTO t1(t1_pk, t1_dat) VALUES (4,2);
    INSERT INTO t1(t1_pk, t1_dat) VALUES (5,1);
    
    INSERT INTO t2(t2_pk, t2_dat_pk) VALUES (1,5);
    INSERT INTO t2(t2_pk, t2_dat_pk) VALUES (2,3);
    INSERT INTO t2(t2_pk, t2_dat_pk) VALUES (3,1);
    
    COMMIT;
    Problem

    The Oracle documentation States the following on the preservation of the keys:
    A table is preserved in key if all keys in the table can also be a key to the result of the join. Thus, a key preserved table has its keys preserved thanks to a join. For example, a table preserved key with its preserved thanks to a join keys.
    If I try the next update:
    UPDATE ( SELECT t1.t1_dat
                  , t2.t2_dat_pk
             FROM   t1
             JOIN   t2 ON t2.t2_dat_pk = t1.t1_dat
             WHERE  t2.t2_pk = 1
           )
    SET    t1_dat = NULL
    ;
    It fails with the:
    ORA-01779: cannot modify a column which maps to a non key-preserved table
    The following questions come to mind:

    1. with the following queries of this type of installation could it every being a situation where T2 lines are not identified? If yes - that someone can provide an example?

    2. If it is not possible, how is it Oracle doesn't realize that T2 lines are particularly well identified (for example, a key to the join)?

    I also tried the following variations:
    UPDATE ( SELECT t1.t1_dat
                  , t2.t2_dat_pk
             FROM   t1
             JOIN   t2 ON  t2.t2_dat_pk = t1.t1_dat
                       AND t2.t2_pk     = 1
           )
    SET    t1_dat = NULL
    ;
    UPDATE ( SELECT t1.t1_dat
                  , t2.t2_dat_pk
             FROM   t1
             ,      t2 
             WHERE  t2.t2_dat_pk = t1.t1_dat
             AND    t2.t2_pk     = 1
           )
    SET    t1_dat = NULL
    ;
    Most probably I'm probably just not understand something minute here. If yes I appreciate be educated. :)

    Good timing :)

    http://jonathanlewis.WordPress.com/2012/01/06/i-wish-5/

    Appears to be relatively the same question. I guess the short answer is that there are just a few things that the optimizer cannot do at the moment... maybe in the next version?

  • "ORA-28374: typical skeleton key not found in the portfolio ' with FUSION

    Hello

    I create two tables (table1, table2) both are encrypted with the transparent data encryption in the column 'name '.

    When I think to use the merger to load the data, an error message occurs ORA-28374: typical skeleton key not found in portfolio!

    Fusion in table1 a

    using table2 b

    on (a.code1 = b.code1)

    When not 7.fit then

    Insert...

    values...

    But when I insert the user, no problem

    I need to use the merger see data befor insert. Someone know why with the merger of this error occurred? and who can I fix?

    My version of oracle is 11.2.0.1.0 - 64 bit

    Thanks in advance

    I have the problem, it's very strange!

    I use TDE in the name column when I create table1, but I change table2 to encrypt the column.

    I have the error ORA-28374 when I use the merger.

    I dropped table2 and I recreated with TDE in colum.

    So no problem when I use the FUSION!

  • RMAN-04006: auxiliary database error: ORA-12504: TNS:listener has not been

    HIII...

    I was doing my dataguard configuration, my primary side is a 2 node RAC and my stand by is a single node.
    IM using the database and 11 GR 2 grid infrastructure.

    When I try to connect to the rating system standy priamry using RMAN im getting the following error.

    [*[*Oracle@Rac2 ~] rman target $ / auxiliary sys / sys@to_std *.

    Recovery Manager: release 11.2.0.1.0 - Production on Thu Sep 29 20:39:04 2011

    Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.

    connected to target database: RAC (DBID = 2346715690)
    RMAN-00571: ===========================================================
    RMAN-00569: = ERROR MESSAGE STACK FOLLOWS =.
    RMAN-00571: ===========================================================
    RMAN-00554: initialization of the package manager internal collection failed
    RMAN-04006: auxiliary database error: ORA-12504: TNS:listener did not have the SERVICE_NAME in CONNECT_DATA


    My tnsnames.ora file is as follows

    to_std =
    (DESCRIPTION_LIST =
    (DESCRIPTION =
    (ADDRESS = (PROTOCOL = tcp (PORT = 9999))(HOST=datagrd))
    )
    (CONNECT_DATA =
    (SERVICE_NAME = STB.msftpnq.com)
    )
    )


    and my listsner.ora file is as follows

    list_std =
    (DESCRIPTION_LIST =
    (DESCRIPTION =
    (ADDRESS = (PROTOCOL = tcp (PORT = 9999))(HOST=datagrd))
    )
    )
    SID_LIST_list_std =
    (SID_LIST =
    (SID_DESC =
    (GLOBAL_DBNAME = STB.msftpnq.com)
    (SID_NAME = STB)
    (ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1)
    )
    )


    Please can someone help me to solve the issue.


    Thanks in advance.

    change the string Service_name in the tnsnames.ora file in the following and try again

    (SERVICE_NAME = STB) will be replaced by (SERVICE_NAME = STB.msftpnq.com)

  • ERROR: ORA-12514: TNS:listener is not currently of service required

    My database in GNU / Linux, I by default SID like ORCL, and I created 3 other occurrences of DB (TST1, FS2 and TST3). As long as my system has not been retired, I'm Basel connect to instances. Once straightened out my system I'm unable to connect to the new DB instances... Adivice pl... Thank you...

    In sqlplus: name of username/password @ ORCL - works fine...

    name of user/password @TST1 or of other services... .i am getting... error... ERROR: ORA-12514: TNS:listener is not currently of service required

    I created all the DB instances using below command:

    DBCA-silent - createDatabase-templateName - General_Purpose.dbc - gdbname TST1-sid TST1 responsefile - NO_VALUE - characterSet AL32UTF8 - memoryPercentage 40 - emConfiguration LOCAL

    Published by: user10980939 on July 20, 2011 14:16

    Salvation;

    Post your TNSNAMES.ora entery please

    Respect of
    HELIOS

  • ERROR - ORA-12514: TNS:listener does not know now of immediate service

    Hi all
    Is the problem that I do face when I access oracle 10g database.it was wrking fine a few days back then I installed the developer 10g suite.after I am facing the problem (ERROR - ORA-12514: TNS:listener does not know currently of service requested in connect descriptor) every time I try and access my database.any 10 g help will be very appreciated.
    Thanks in advance
    Mourad

    Hello

    Make sure that you use right tnsnames.ora as you have it installled oracle developer suite after installation of the database so it could change your ORACLE_HOME as a result of developer. You have 2 choices

    1. replace oracle_home installation of oracle database in the variables env control panel system
    or
    1 copy the tnsnames.ora, listener.ora under Developer suite... location/networ/admin.

    If you are using on your local computer, you do not have this and you should be able to connect but if you use it is not bad either.

    Output from the following command post

    lsnrctl status
    

    Concerning

  • Error ORA-39165 chain of schema not found.

    Hello
    When importing by impdp since an export dumpfile I error ORA-39165 scheme string is not found.
    1. How can I check that in the export dump file, there is no schema of the view? In imp utility we display option. Is there something for impdp?

    Thank you.

    See Note: 260225.1 Import DataPump parameter REMAP_SCHEMA - how to move objects from one schema to another database

    $ impdp system/****@mybase DUMPFILE=mydump.dmp remap_schema=schema1:schema2
    

    Of Note: 464558.1, it should also work:

    $ impdp schema2/****@mybase DUMPFILE=mydump.dmp remap_schema=schema1:schema2
    

    HTH

    Enrique

    PS, let us know how it went

    Published by: Enrique Orbegozo on October 22, 2008 08:00

  • I get an error code 643, and it will not install updates due to these errors, why?

    I get an error code 643, and it will not install updates due to these errors, why?

    Hello

    error code 643:

    http://support.Microsoft.com/kb/KB976982

  • Impdp table parent key not found error

    I can't import a table into a database of 10.2.0.5 for 11.2.0.3 another. When I imported the first I get 1 error on creating a 1 constraint:

    Impdp tables of lego/password = estact directory = datapump dumpfile = estact.dmp

    Import: Version 11.2.0.3.0 - Production on Wed Apr 2 13:25:22 2014 Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved. Connected to: Oracle Database 11 g Enterprise Edition Release 11.2.0.3.0 - 64 bit Production

    With partitioning, Automatic Storage Management, OLAP, Data Mining

    and Real Application Testing options

    Table main "LEGO". "' SYS_IMPORT_TABLE_01 ' properly load/unloaded

    Departure "LEGO". ' SYS_IMPORT_TABLE_01 ': lego / * tables = directory = datapump dumpfile = estact.dmp estact.

    Object type TABLE_EXPORT/TABLE/TABLE processing object TABLE_EXPORT/TABLE/TABLE_DATA of treatment type

    . . imported "LEGO". "' ESTACT ' 56.01 MB 612972 lines

    Processing object type TABLE_EXPORT/TABLE/SCHOLARSHIP/OWNER_GRANT/OBJECT_GRANT

    Processing object type TABLE_EXPORT/TABLE/INDEX/INDEX

    Object type TABLE_EXPORT/TABLE/CONSTRAINT/treatment

    Object type TABLE_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS of treatment

    Object type TABLE_EXPORT/TABLE/COMMENT of treatment

    Object type TABLE_EXPORT/TABLE/CONSTRAINT/REF_CONSTRAINT of treatment

    ORA-39083: Type as ref_constraint cannot be created with the object error:

    ORA-02298: cannot validate (LEGO. EstOp_EstAct) - parent key not found

    Because sql is:

    ALTER TABLE 'LEGO '. "' ESTACT ' ADD 'EstOp_EstAct' of CONSTRAINT FOREIGN KEY ('ESTOP_ID')

    REFERENCES "LEGO". "" ESTOP "ENABLE ("ESTOP_ID")

    Object type TABLE_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS treatment

    Working "LEGO". "" SYS_IMPORT_TABLE_01 "completed with error (s 1) at 13:25:28

    Load data however this foreign key is not there then try to create manually after I get this error:

    "ORA-02298: unable to validate (LEGO." EstOp_EstAct) - parent key not found ".

    This source table has 3 foreign key constraints. The one that I'm having a problem setting (above) is a constraint against himself.

    I tried another approach. I exported and imported the metadata only and successfully completed. However when I then exported and imported DATA only, the data will not now with the same error:

    ORA-31693: Table object 'LEGO' data "' ESTACT ' failed to load/unload and being ignored because of the error:

    ORA-29913: error in executing ODCIEXTTABLEFETCH legend

    ORA-02291: integrity constraint (LEGO. EstOp_EstAct) violated - key parent not found

    My question is what I have to do something different when you work with a table with a foreign key against himself constraint?

    Here's the DOF of the source table and 3 foreign keys:

    CREATE THE LEGO TABLE. ESTACT

    (

    ESTOP_ID NUMBER (10,0) NOT NULL,

    OPCLASS_CODE VARCHAR2 (10) NOT NULL,

    ESTACT_FLAG NUMBER (5.0) NOT NULL,

    COSTR_NO_EST NUMBER (5.0) NULL,

    ESTACT_TIME NUMBER (10,0) NULL,

    ESTACT_FIX_COST NUMBER (20.4) NOT NULL,

    ESTACT_VAR_COST NUMBER (20.4) NOT NULL,

    ESTACT_LAB_COST NUMBER (20.4) NOT NULL,

    ESTACT_OEX_COST NUMBER (20.4) NOT NULL,

    ESTACT_TOT_COST NUMBER (20.4) NOT NULL,

    ESTACT_PRI_COST NUMBER (20.4) NOT NULL,

    ESTACT_CM_PRICE NUMBER (20.4) NOT NULL,

    ESTACT_PRI_RATE NUMBER (20.4) NOT NULL,

    ESTACT_IS_PRICE NUMBER (5.0) NOT NULL,

    NUMBER OF ESTACT_BASE_QTY NULL,

    RULE_CODE_BASE_QTY VARCHAR2 (10) NULL,

    ESTACT_NUM_FORMS NUMBER (5.0) NULL,

    ESTACT_FIXMIN NUMBER (10,0) NULL,

    UNIT_CODE_BASE VARCHAR2 (10) NULL,

    UNIT_CODE_INPUT VARCHAR2 (10) NULL,

    ESTACT_AFLAG NUMBER (5.0) NOT NULL,

    NUMBER OF ESTACT_AOPRATE NULL,

    RULE_AOPRATE VARCHAR2 (10) NULL,

    NUMBER OF ESTACT_AWARATE NULL,

    RULE_AWARATE VARCHAR2 (10) NULL,

    NUMBER OF ESTACT_OPRATE NULL,

    NUMBER OF ESTACT_WARATE NULL,

    RULE_CODE_COSTR VARCHAR2 (10) NULL,

    RULE_VAL_COSTR NUMBER (5.0) NULL,

    RULE_CODE_FIXMIN VARCHAR2 (10) NULL,

    CONSTRAINT ESTACT_IDX0

    PRIMARY KEY (ESTOP_ID, OPCLASS_CODE)

    USING INDEX TABLESPACE INDEX

    PCTFREE 10

    INITRANS 2

    MAXTRANS 255

    STORAGE INITIAL (128K

    DEFAULT USER_TABLES)

    ENABLE

    VALIDATE

    )

    BUNCH OF ORGANIZATION

    TABLESPACE USERS

    LOGGING

    PCTFREE 10

    PCTUSED 0

    INITRANS 1

    MAXTRANS 255

    STORAGE (DEFAULT USER_TABLES)

    NOPARALLEL

    NOCACHE

    NOROWDEPENDENCIES

    This is the foreign key DDL. Note the 1 that refers to the same table (the one I'm having a problem with)

    ALTER TABLE LEGO. ESTACT

    ADD CONSTRAINT 'EstOp_EstAct '.

    FOREIGN KEY (ESTOP_ID)

    REFERENCES TO LEGO. ESTOP (ESTOP_ID)

    ENABLE

    VALIDATE

    /

    ALTER TABLE LEGO. ESTACT

    ADD CONSTRAINT 'RuleCodeCost_URULE '.

    FOREIGN KEY (RULE_CODE_COSTR)

    REFERENCES TO LEGO. URULE (URULE_CODE)

    ENABLE

    VALIDATE

    /

    ALTER TABLE LEGO. ESTACT

    ADD CONSTRAINT 'EstActURule_FixMin '.

    FOREIGN KEY (RULE_CODE_FIXMIN)

    REFERENCES TO LEGO. URULE (URULE_CODE)

    ENABLE

    VALIDATE

    /

    Post edited by: karine

    As Galo indicated Balda, your child table (LEGO. ESTACT) has a folder that does not exist in your table parent (LEGO. ESTOP) and this effect is impossible to create the foreign key.

    You can find the recordings by running:

    select estop_id from LEGO.ESTACT -- CHILD TABLE
    minus
    select estop_id from LEGO.ESTOP -- PARENT TABLE
    

    AFTER BACK YOU UP YOUR DATA, you need to create the new record in the parent table or remove the child table record in order to comply with the foreign key constraint.

  • DBUM target Recon - java.sql.SQLSyntaxErrorException error: ORA-00942: table or view does not exist

    Hello

    When I run DBUM Targer user reconciliation (recon Filtered) I get the error in the log below.

    We have created an account with privileges below target. y at - it all permisssions more necessary for execution of the reconciliation of the target.

    [2015-10 - 09T 10: 47:45.717 - 07:00] [oimext_server1] [NOTIFICATION] [] [oracle.iam.scheduler.vo] [tid: OIMQuartzScheduler_Worker-4] [username: oiminternal] [ecid: 77744a889dde03de:-265ee4b8:15049ac7206: - 8000-0000000000000004, 1:18393] [APP: IOM #11.1.2.0.0] details executeJob DBUM Oracle user target reconciliation method

    [2015-10 - 09T 10: 47:45.842 - 07:00] [oimext_server1] [WARNING] [] [ORG. IDENTITYCONNECTORS. DBUM. DBUMCONNECTOR] [tid: Thread-276] [username: oiminternal] [ecid: 77744a889dde03de:-265ee4b8:15049ac7206: - 8000 - 1:18558 0000000000000004,] [APP: IOM #11.1.2.0.0] org.identityconnectors.dbum.DBUMConnector: parseConnectionProperties: no connection properties

    [2015-10 - 09T 10: 47:45.878 - 07:00] [oimext_server1] [WARNING] [] [ORG. IDENTITYCONNECTORS. DBUM. DBUMCONNECTOR] [tid: Thread-276] [username: oiminternal] [ecid: 77744a889dde03de:-265ee4b8:15049ac7206: - 8000-0000000000000004, 1:18558] [APP: IOM #11.1.2.0.0] org.identityconnectors.dbum.DBUMConnector: dropUnusedSearchAttributes: fall tmpQuota

    [2015-10 - 09T 10: 47:45.879 - 07:00] [oimext_server1] [WARNING] [] [ORG. IDENTITYCONNECTORS. DBUM. DBUMCONNECTOR] [tid: Thread-276] [username: oiminternal] [ecid: 77744a889dde03de:-265ee4b8:15049ac7206: - 8000-0000000000000004, 1:18558] [APP: IOM #11.1.2.0.0] org.identityconnectors.dbum.DBUMConnector: dropUnusedSearchAttributes: fall tmpQuota

    [2015-10 - 09T 10: 47:45.881 - 07:00] [oimext_server1] [ERROR] [] [ORG. IDENTITYCONNECTORS. DBUM. SQLEXECUTIONHANDLER] [tid: Thread-276] [username: oiminternal] [ecid: 77744a889dde03de:-265ee4b8:15049ac7206: - 8000-0000000000000004, 1:18558] [APP: IOM #11.1.2.0.0] org.identityconnectors.dbum.SQLExecutionHandler: executeAccountSearch: error when searching for user records [[ ]]

    java.sql.SQLSyntaxErrorException: ORA-00942: table or view does not exist

    at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:462)

    at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:405)

    at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:931)

    at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:481)

    at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:205)

    at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:548)

    at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:217)

    at oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:947)

    at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1283)

    at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1441)

    at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3769)

    at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3823)

    at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeQuery(OraclePreparedStatementWrapper.java:1671)

    at org.identityconnectors.dbum.SQLExecutionHandler.searchAccounts(SQLExecutionHandler.java:287)

    at org.identityconnectors.dbum.SQLExecutionHandler.executeAccountSearch(SQLExecutionHandler.java:95)

    at org.identityconnectors.dbum.DBUMConnector.executeQuery(DBUMConnector.java:199)

    at org.identityconnectors.dbum.DBUMConnector.executeQuery(DBUMConnector.java:74)

    at org.identityconnectors.framework.impl.api.local.operations.SearchImpl.rawSearch(SearchImpl.java:118)

    at org.identityconnectors.framework.impl.api.local.operations.SearchImpl.search(SearchImpl.java:82)

    at sun.reflect.GeneratedMethodAccessor5776.invoke (unknown Source)

    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

    at java.lang.reflect.Method.invoke(Method.java:597)

    at org.identityconnectors.framework.impl.api.local.operations.ConnectorAPIOperationRunnerProxy.invoke(ConnectorAPIOperationRunnerProxy.java:93)

    to com.sun.proxy. $Proxy575.search (unknown Source)

    at sun.reflect.GeneratedMethodAccessor5776.invoke (unknown Source)

    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

    at java.lang.reflect.Method.invoke(Method.java:597)

    at org.identityconnectors.framework.impl.api.local.operations.ThreadClassLoaderManagerProxy.invoke(ThreadClassLoaderManagerProxy.java:107)

    to com.sun.proxy. $Proxy575.search (unknown Source)

    at sun.reflect.GeneratedMethodAccessor5776.invoke (unknown Source)

    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

    at java.lang.reflect.Method.invoke(Method.java:597)

    to org.identityconnectors.framework.impl.api.BufferedResultsProxy$ BufferedResultsHandler.run (BufferedResultsProxy.java:162)

    ]]

    [2015-10 - 09T 10: 47:45.892 - 07:00] [oimext_server1] [NOTIFICATION] [] [oracle.iam.scheduler.impl.quartz] [tid: OIMQuartzScheduler_Worker-4] [userId: oiminternal] [ecid: 77744a889dde03de:-265ee4b8:15049ac7206: - 8000-0000000000000004, 1:18393] [APP: #11.1.2.0.0 IOM] Job listener, Job was performed QuartzJobListener.jobWasExecuted Description DEFAULT null FullName. DBUM Oracle DBUM Oracle target reconciliation user name reconciliation target user

    [2015-10 - 09T 10: 47:46.116 - 07:00] [oimext_server1] [ERROR] [] [] [tid: [ASSETS].] [ExecuteThread: '6' for queue: "(self-adjusting) weblogic.kernel.Default"] [username: xelsysadm] [ecid: 77744a889dde03de:-265ee4b8:15049ac7206 :-8000-0000000000010 c 79, 0] [APP: IOM #11.1.2.0.0] [IDDM: 0000L1Dd4upEoIs6wjyWMG1M5jJP00000S] could not communicate with one of the server access set up, make sure it is running.

    [2015-10 - 09T 10: 47:46.517 - 07:00] [oimext_server1] [ERROR] [] [] [tid: Watcher] [username: < anonymous >] [ecid: 0000L19f77uEoIs6wjyWMG1M5jJP000000, 1:18404] error receive challenge server hacked

    [2015-10 - 09T 10: 47:49.271 - 07:00] [oimext_server1] [ERROR] [] [] [tid: [ASSETS].] [ExecuteThread: '12' to the queue: "(self-adjusting) weblogic.kernel.Default"] [username: xelsysadm] [ecid: 77744a889dde03de:-265ee4b8:15049ac7206:-8000-0000000000010c7c, 0] [APP: IOM #11.1.2.0.0] [IDDM: 0000L1Dd4upEoIs6wjyWMG1M5jJP00000S] could not communicate with one of the server access set up, make sure it is running.

    [2015-10 - 09T 10: 47:49.718 - 07:00] [oimext_server1] [ERROR] [] [] [tid: [ASSETS].] [ExecuteThread: '21' for queue: "(self-adjusting) weblogic.kernel.Default"] [username: xelsysadm] [ecid: 77744a889dde03de:-265ee4b8:15049ac7206:-8000-0000000000010c7e, 0] [APP: IOM #11.1.2.0.0] [IDDM: 0000L1Dd4upEoIs6wjyWMG1M5jJP00000S] could not communicate with one of the server access set up, make sure it is running.

    Thank you

    After changing the logging level for 32 track, filled with the SQL log file.

    The application consisted of a JOIN with two or three tables table (dba_users and dba_quota_tablespaces).

    After providing privileges select on the quota table, I was able to learn from the user.

    Thank you

  • 30002 error/ORA-00942 table or view does not exist

    Hello

    We are running on a Windows 2008 R2 machine RoboServer 9 with Tomcat 7. The database, that we strive to connect is an Oracle 11 g on a Linux x86_64 host server. I connect using the Oracle through ODBC drivers. When I click "test connection" of the ODBC Administrator or application configuration, I get the message 'successful connection '. That is the problem.

    When you try to run our reports, especially "Frequently consulted CSH" or "Frequently viewed Topics", we get the following error.

    Error..JPG

    Check the localhost.log in Tomcat, we get this:

    Journal of the org.apache.catalina.core.ApplicationContext 10:37:41 28 March 2013

    SEVERE: java.sql.SQLException: [Oracle] [ODBC] [Ora] ORA-00942: table or view does not exist

    java.sql.SQLException: [Oracle] [ODBC] [Ora] ORA-00942: table or view does not exist

    at sun.jdbc.odbc.JdbcOdbc.createSQLException (unknown Source)

    at sun.jdbc.odbc.JdbcOdbc.standardError (unknown Source)

    at sun.jdbc.odbc.JdbcOdbc.SQLExecDirect (unknown Source)

    at sun.jdbc.odbc.JdbcOdbcStatement.execute (unknown Source)

    at sun.jdbc.odbc.JdbcOdbcStatement.executeQuery (unknown Source)

    at adobe.robohelp.server.FlexReports.AreasReqHelpReport.SetData(AreasReqHelpReport.java:84)

    at adobe.robohelp.server.FlexReports.Report.ProcessReport(Report.java:295)

    at adobe.robohelp.server.ReportManager.doCommand(ReportManager.java:395)

    at adobe.robohelp.server.RoboHelpServer.doGet(RoboHelpServer.java:144)

    at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)

    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.j ava: 290)

    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)

    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)

    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:470)

    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)

    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)

    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)

    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)

    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)

    at org.apache.coyote.http11.Http11Protocol$ Http11ConnectionHandler.process (Http11Protocol.ja goes: 602)

    to org.apache.tomcat.util.net.JIoEndpoint$ Worker.run (JIoEndpoint.java:489)

    at java.lang.Thread.run (unknown Source)

    Looks like all tables exist in the database - this is what we have:

    TEST:

    ROBOTST4 > select object_name from dba_objects where type_objet = 'TABLE' and owner = 'MCVICKER;

    OBJECT_NAME

    --------------------------------------------------------------------------------

    TACTIONTYPE

    TERRORTYPE

    THELPPROJECT

    THELPSPACEERROR

    TUSER

    TPROBLEM

    TSOLUTIONACTION

    THELPTOPICS

    TUSERPREFS

    TSETTING

    TSESSION

    TACCESSTYPE

    TROBOGROUPS

    TROBOUSER

    TROBOUSERGROUPS

    TLDAPUSERGROUPS

    TGROUPPERMISSIONS

    TLDAPGROUPS

    TCOMMENTS

    TDELETEDCOMMENTS

    TUSERTOPICRATING

    TAVGTOPICRATING

    22 selected lines.


    I think that we have set. Here's the deal.

    For some reason, the database put in place all the tables but not views initially. My DBA views manually created using definitions of the included database. In Access, if you go in queries, then right-click on the table, select "design mode".  Right-click on the design mode, select "SQL Mode" and you can view the SQL statements used to define the view.  You should see something like this:

    She has slightly modified the - here's what she created:

    Created to MCVICKER's point of view in ROBOTST.

    create or replace view mcvicker. VSolutionAction

    SELECT

    TSolutionAction.sa_SolutionActionID,

    TSolutionAction.sa_Time,

    TSolutionAction.se_SessionID,

    TSolutionAction.pb_ProblemID,

    TSolutionAction.sq_SequenceID,

    TSolutionAction.hp_HelpProjectID,

    TSolutionAction.at_ActionTypeID,

    TSolutionAction.sa_SortData,

    LTRIM(sa_DisplayName,255) AS sa_GroupDisplayName,

    -Left $([sa_DisplayName],255) AS sa_GroupDisplayName,

    TSolutionAction.sa_DisplayName,

    TSolutionAction.sa_NumericData,

    LTRIM(sa_StringData,255) AS sa_GroupStringData,

    -Left $([sa_StringData],255) AS sa_GroupStringData,

    TSolutionAction.sa_StringData,

    TSolutionAction.sa_ExtraData,

    TSolutionAction.sa_ProblemSolved,

    TSolutionAction.ha_AreaName

    OF TSolutionAction;

    create or replace view mcvicker. VHelpProject

    as

    SELECT

    THelpProject.hp_HelpProjectID,

    LTRIM(hp_Name,255) AS hp_GroupName,

    -Left $([hp_Name],255) AS hp_GroupName,

    THelpProject.hp_Name,

    THelpProject.ha_AreaName

    OF mcvicker. THelpProject;

    create or replace view mcvicker. VProblem

    as

    SELECT

    TProblem.pb_ProblemID,

    TProblem.se_SessionID,

    TProblem.pb_InitiationTime,

    LTRIM(pb_ReferringURL,255) AS pb_GroupReferringURL,

    -Left $([pb_ReferringURL],255) AS pb_GroupReferringURL,

    TProblem.pb_ReferringURL,

    LTRIM(pb_ReferringParams,255) AS pb_GroupReferringParams,

    -Left $([pb_ReferringParams],255) AS pb_GroupReferringParams,

    TProblem.pb_ReferringParams,

    LTRIM(pb_RequestedTopic,255) AS pb_GroupRequestedTopic,

    -Left $([pb_RequestedTopic],255) AS pb_GroupRequestedTopic,

    TProblem.pb_RequestedTopic,

    TProblem.pb_ExternTransactionID,

    TProblem.pb_ExternUserID,

    TProblem.pb_AppData,

    TProblem.pb_ProblemSolved,

    TProblem.ha_AreaName

    OF mcvicker. TProblem;

    I hope this helps someone.

    My questions are pending: what the app actually creates tables and views? This work to restart tomcat? According to a timetable? It seems that when I set up the connection and leave the things the next day they work. Is there some sort of scheduled task that the database maintenance? Can we make it a little more transparent in future versions?

    Thank you.

  • Gets the error ORA-01779 after I added the column

    Hi, I'm a total newbie in APEX but collaborated with ordinary development Oracle (tables, views, packages, triggers, etc) for a number of years.

    I ve been assigned in order to respect an existing application to APEX. One task is to add a column to a single character named 'ACTIVE' to a database table and also present on a current project list page. The value can be 'Y' or 'n'. In the view which is the source of data for the project page ad 'Y' turned into 'Yes' and 'n' turned into 'no '. So far so good, everything works well.

    There is another page on which it is possible to create new or modify existing projects. This page uses a view as a source of data. On this page, I added a group of radiobutton that contains two options: 'Yes' and 'no '. When I select to edit a project in the project list page the second page is loaded and the correct option, 'yes' or 'No', is marked on the page. This group of radiobutton works exactly like a couple of other groups of radiobutton also represented with a single character column in the database. So far so good!

    However, when I try to save the project file by clicking on "Apply Changes" I get this error:

    ORA-20001: DML error: p_rowid = 50, ID = p_alt_rowid, p_rowid2 =, p_alt_rowid2 is. ORA-01779: cannot modify a column that is mapped to a table not preserved key

    What is the problem here? The new 'ACTIVE' column is added to the view, when I run the view I Don t get all records in duplicate, the underlying table has a column id as the primary key.

    Since I Don t know that APEX is under the hood it s hard tp what's wrong. Anyone knows the solution to this problem?

    / Magnus

    Hello Magnus,

    Is there an INSTEAD OF trigger defined on the view? Have you added the new column ACTIVE there too?

    Greetings,
    Roel
    http://roelhartman.blogspot.com/
    You can reward this response in marking it as useful or Correct ;-)

Maybe you are looking for