ORA-14402: updating partition key column would cause a partition change

Hi,
When I am trying to execute an update statement where i am tring to update date values emp_det from 11-oct-2010 to 12-nov-2010.
Oracle throws an error :
ORA-14402
updating partition key column would cause a partition change
I think that this is because emp_det is a partitioning key of a partitioned table.
Oracle documentation says that
"UPDATE will fail if you change a value in the column that would move the
row to a different partition or subpartition, unless you enable row
movement" .
alter table t enable row movement;
I did not understand what is meant by "enable row movement".
I cannot drop the partitions and recreate it after updating the table and also i don't have proper priviliges for enale row movement syntax
because of the lack of privileges. How to solve this is issues with out row movement and recreate partition.
Can this be done by a developer or is there any other way to execute update in this case? its urgent.. pls help..
thanks in advance..
By
Sivaraman
Edited by: kn_sivaraman on Nov 1, 2010 2:32 AM

kn_sivaraman wrote:
I did not understand what is meant by "enable row movement". Each partition in partitioned table is physically separate segment. Assume you have a row that belongs to partition A stored in segment A and you change row's partitioning column to value that belongs to partition B - you have an issue since updated row can't be now stored in segment A anymore. By default such update is not allowed and you get an error. You can enable row movement and Oracle will move row to target partition:
SQL> CREATE TABLE SALES_LIST(
  2                          SALESMAN_ID NUMBER(5,0),
  3                          SALESMAN_NAME VARCHAR2(30),
  4                          SALES_STATE VARCHAR2(20),
  5                          SALES_AMOUNT NUMBER(10,0),
  6                          SALES_DATE DATE
  7                         )
  8    PARTITION BY LIST(SALES_STATE)
  9    (
10     PARTITION SALES_WEST     VALUES('California', 'Hawaii'),
11     PARTITION SALES_EAST     VALUES('New York', 'Virginia', 'Florida'),
12     PARTITION SALES_CENTRAL  VALUES('Texas', 'Illinois'),
13     PARTITION SALES_OTHER    VALUES(DEFAULT)
14    )
15  /
Table created.
SQL> insert
  2    into sales_list
  3    values(
  4           1,
  5           'Sam',
  6           'Texas',
  7           1000,
  8           sysdate
  9          )
10  /
1 row created.
SQL> update sales_list
  2    set  sales_state = 'New York'
  3    where sales_state = 'Texas'
  4  /
update sales_list
ERROR at line 1:
ORA-14402: updating partition key column would cause a partition change
SQL> alter table sales_list enable row movement
  2  /
Table altered.
SQL> update sales_list
  2    set  sales_state = 'New York'
  3    where sales_state = 'Texas'
  4  /
1 row updated.
SQL> SY.

Similar Messages

  • Updating partition key column would cause a partition change

    while i am executing this query in sql i am getting an error message saying
    that
    updating partition key column would cause a partition change
    SQL> update questionbnkmaster set sectionid=23 where qno=19;
    update questionbnkmaster set sectionid=23 where qno=19
    ERROR at line 1:
    ORA-14402: updating partition key column would cause a partition change
    what can do to update the table without changing to the other fields
    tyhanx in advance
    cinux

    try this
    ALTER TABLE questionbnkmaster ENABLE ROW MOVEMENT
    /Cheers, APC

  • Vld 004 error - partition key has less than 2 partitions defined

    HI All,
    i have created a new table with a partition on one colunm. when i am trying to validate the table in owb, i am getting the vld-904 - partition key has less than two partitions defined error.
    please help.
    thank you.

    Hi,
    Oracle DB requires that a partitioned table has at least 2 partitions. That is why you get an error from owb, the table creation would fail anyway.
    Regards,
    Carsten.

  • How to update primary key column

    Hi,
    Can you suggest me best workaround/algorithm for below task:
    (Oracle 10g, Solaris OS.)
    Situation:
    Table P has primary key column "Code", child tables F1, F2, ..., F15 reference with foreign key column "P_Code" column "P.Code", and we don't know which of the child tables has data for particular "P.Code" value.
    Task:
    Change "P.Code" value from 100 to 200. So that result would be that record P[Code = 100] should be updated as:
    update P set
    Code = 200
    where Code = 100;And child tables column "P_Code" should be updated as:
    update F1, F2, .., F15 set
    P_code = 200
    where P_code = 100;The best solution would be that one very easily can repeat that task.
    Edited by: CharlesRoos on 28.12.2010 12:10

    If you are looking for reusable and repetitive solution, then may be...
    SQL> CREATE TABLE p (p_code NUMBER PRIMARY KEY);
    Table created.
    SQL> INSERT INTO p VALUES(100);
    1 row created.
    SQL> INSERT INTO p VALUES(300);
    1 row created.
    SQL> INSERT INTO p VALUES(500);
    1 row created.
    SQL> commit;
    Commit complete.
    SQL> CREATE TABLE F1 (p_code NUMBER REFERENCES p(p_code));
    Table created.
    SQL> CREATE TABLE F2 (p_code NUMBER REFERENCES p(p_code));
    Table created.
    SQL> CREATE TABLE F3 (p_code NUMBER REFERENCES p(p_code));
    Table created.
    SQL> INSERT INTO F1 VALUES(100);
    1 row created.
    SQL> INSERT INTO F3 VALUES(100);
    1 row created.
    SQL> INSERT INTO F2 VALUES(500);
    1 row created.
    SQL> commit;
    Commit complete.
    SQL> CREATE OR REPLACE PROCEDURE update_child_parent(pi_p_code_old NUMBER,
      2                                                  pi_p_code_new NUMBER) IS
      3    CURSOR table_to_update IS
      4      SELECT table_name,
      5             to_number(extractvalue(xmltype(DBMS_XMLGEN.getxml('SELECT count(*) c FROM ' ||
      6                                                               table_name ||
      7                                                               ' WHERE p_code=' ||
      8                                                               pi_p_code_old)),
      9                                    '/ROWSET/ROW/C')) cnt
    10        FROM user_tables
    11       WHERE table_name IN ('F1', 'F2', 'F3');
    12 
    13  BEGIN
    14    EXECUTE IMMEDIATE 'ALTER TABLE p DISABLE PRIMARY KEY CASCADE';
    15    UPDATE p SET p_code = pi_p_code_new WHERE p_code = pi_p_code_old;
    16    FOR i IN table_to_update LOOP
    17      IF i.cnt > 0 THEN
    18        EXECUTE IMMEDIATE 'UPDATE ' || i.table_name || ' SET p_code=' ||
    19                          pi_p_code_new || ' WHERE p_code=' || pi_p_code_old;
    20      END IF;
    21    END LOOP;
    22    EXECUTE IMMEDIATE 'ALTER TABLE p ENABLE VALIDATE PRIMARY KEY';
    23  END update_child_parent;
    24  /
    Procedure created.
    SQL> EXECUTE update_child_parent(100,200);
    PL/SQL procedure successfully completed.
    SQL> SELECT * FROM p;
        P_CODE
           200
           300
           500
    SQL> SELECT * FROM F1;
        P_CODE
           200
    SQL> SELECT * FROM F2;
        P_CODE
           500
    SQL> SELECT * FROM F3;
        P_CODE
           200
    SQL> INSERT INTO p VALUES(300);
    INSERT INTO p VALUES(300)
    ERROR at line 1:
    ORA-00001: unique constraint (HR.SYS_C005931) violated
    SQL> EXECUTE update_child_parent(500,900);
    PL/SQL procedure successfully completed.
    SQL> SELECT * FROM p;
        P_CODE
           200
           300
           900
    SQL>  SELECT * FROM F2;
        P_CODE
           900
    SQL>

  • Partitioning key columns

    Hi,
    I have created range partitioning on T_SEP
    STEP 1: Create temporary table t_SEP_TMP
    CREATE TABLE  "T_SEP"
       (     "SEP_SID" NUMBER(20,0)  ,
         "SEP_CURR_SID" NUMBER(20,0)  ,
         "BUS_CYC_D" DATE ,
            "FUND_BUS_D"  DATE)
          PARTITION BY RANGE (BUS_CYC_D)
    ( PARTITION STG_1 VALUES LESS THAN ( TO_DATE('19/12/08','DD/MM/YYYY'))
       TABLESPACE STG_1, 
      PARTITION STG_3 VALUES LESS THAN ( TO_DATE('22/12/08','DD/MM/YYYY'))
       TABLESPACE STG_2,
      PARTITION STG_4 VALUES LESS THAN (TO_DATE('23/12/08','DD/MM/YYYY'))
       TABLESPACE STG_3,
      PARTITION STG_5 VALUES LESS THAN (TO_DATE('24/12/08','DD/MM/YYYY'))
       TABLESPACE STG_4,
      PARTITION STG_6 VALUES LESS THAN (MAXVALUE)
       TABLESPACE STG_5
    currently, I have partitioning on only "BUS_CY_D" column, now I need to add one more column to the partitioning key. How can we do this?

    Anurag Tibrewal wrote:
    Hi,
    You can achieve this in following ways.
    1) Using DBMS_REDEFINITION
    2) a) Taking export backup of existing table.
    b) Rename existing table, constraints indexes
    c) Create new table with required paritition key
    d) Import the data to new table.
    Regards
    Anurag3) rename existing table, create table as select to create new table, add index constraints etc
    4) create table as select to create new table, drop existing table, rename new table, add index constraints etc
    5) create new table, for each partition of old table (insert data into new table, truncate old table partition) ... etc.
    I would try not to use the export method unless space was really tight. If space was an issue then I'd prefer 5.

  • ORA-02266: unique/primary keys - error while using Exchange Partition

    Hi All,
    While using EXCHANGE PARTITION statement as given below,
    ALTER TABLE SOURCE_TABLE EXCHANGE PARTITION PRT_EXCG_PRTN WITH TABLE TARGET_TABLE
    we are getting this error,
    ORA-02266: unique/primary keys in table referenced by enabled foreign keys
    However, there are no tables have foreign keys referring this TARGET_TABLE, we checked this by referring
    USER_CONSTRAINTS table, it has only primary key and NOT NULL constraints.
    SELECT * FROM USER_CONSTRAINTS WHERE TABLE_NAME like 'TARGET_TABLE';
    We are using the following version,
    Oracle9i Enterprise Edition Release 9.2.0.6.0 - 64bit Production
    PL/SQL Release 9.2.0.6.0 - Production
    CORE     9.2.0.6.0     Production
    TNS for IBM/AIX RISC System/6000: Version 9.2.0.6.0 - Production
    NLSRTL Version 9.2.0.6.0 - Production
    Is it due to any error in our end or it could be a bug in Oracle and should we go for any patch updation ?
    Please guide us to resolve this error as soon as possible, thank you.
    Regards,
    Deva

    *** Duplicate Post ***
    Please Ignore.

  • Oracle 11gR2: partition key column, need to be modified

    Hi folks,
    Have a situation, need to increase a column width, which is also a partition key and table is pretty huge, can any one assist, what is the best possible way to achieve this task.
    Thanks in advance.

    No need to build multiple temp tables, do multiple swaps, and do multiple redefines of the temp table columns when you can just build the one table that you need.OK. Could you show us a script for your approach.
    Meantime I show mine.
    Preparation
    create table PART_TEST (part_key number(1), val varchar2(100))
    partition by range(part_key)(
      partition P0 values less than (1),
      partition P1 values less than (2),
      partition P2 values less than (3),
      partition P3 values less than (4)
    insert into PART_TEST values (0,'zero');
    insert into PART_TEST values (1,'one');
    insert into PART_TEST values (2,'two');
    insert into PART_TEST values (3,'three');
    commit;The modification
    set timing on
    create table PART_TEST_P0 as select * from PART_TEST where 1=0;
    create table PART_TEST_P1 as select * from PART_TEST where 1=0;
    create table PART_TEST_P2 as select * from PART_TEST where 1=0;
    create table PART_TEST_P3 as select * from PART_TEST where 1=0;
    alter table PART_TEST exchange partition P0 with table PART_TEST_P0;
    alter table PART_TEST exchange partition P1 with table PART_TEST_P1;
    alter table PART_TEST exchange partition P2 with table PART_TEST_P2;
    alter table PART_TEST exchange partition P3 with table PART_TEST_P3;
    alter table PART_TEST_P0 modify part_key number(6);
    alter table PART_TEST_P1 modify part_key number(6);
    alter table PART_TEST_P2 modify part_key number(6);
    alter table PART_TEST_P3 modify part_key number(6);
    drop table PART_TEST;
    create table PART_TEST (part_key number(6), val varchar2(100))
    partition by range(part_key)(
      partition P0 values less than (1),
      partition P1 values less than (2),
      partition P2 values less than (3),
      partition P3 values less than (4)
    alter table PART_TEST exchange partition P0 with table PART_TEST_P0;
    alter table PART_TEST exchange partition P1 with table PART_TEST_P1;
    alter table PART_TEST exchange partition P2 with table PART_TEST_P2;
    alter table PART_TEST exchange partition P3 with table PART_TEST_P3;Whole modification of the column takes a fraction of second because there is no need to physically move data. Only metadata is changed.

  • Stored procedure to update particular key column with increment of +1

    Hi,
    This is my table
    EMPID,NAME
    1 SSS
    2 AAA
    I NEED STORED PROCEDURE TO UPDATE EMPID WITH INCREMENT OF +1.BASED ON
    MAX(EMPID).fOr example if i execute stored procedure once it will update empid 2 as 3,
    if i run same procedure again it will take increment +1 then emp id should be 4 like that i want output.
    Any one please help me on this scenario...

    937506 wrote:
    Hi All,
    I have two tables,one is date dimension table,one is fact table.
    when we load data through informatica (source as csv file),then key will be populated in fact table based on lookup on
    date dimension table.it will create corresponding date key in fact table.
    My scenario:we load data in to fact table with etl with "n" number of records only once at a time.
    But next time onwords we will update that datekey in fact table through stored procedure.stored procedure
    will take only max(date_key) from fact table then update that key as like +1(logic n+1)
    If i run stored procedure nextday it will update that record with increment +1.
    we wil schedule this storedprocedure to run daily once.For this i need stored procedure..
    I think you will clear now................
    thxSo, are you saying you want to keep the same data you loaded "yesterday" but update the date_key so it appears as if it was from today?
    Still seems strange: why aren't you loading today's data?
    Also, you are assuming that the date_key in the date dimension table increments with no gaps: if it was sequence generated, that might not be true.

  • Regarding :Modifying the partition key column

    Hi,
    I have Create one table.At that time i did range partition on one column(callend).these table has 1000 millions records.Now I want to chage that partiion on another column (callstart) .How can i do this.
    Kindly provide me suggestion
    Regards.

    Much nicer type of reply:
    My best advice would be to just create a new table.
    Since your data is already partitioned, it is unreasonable at that time to try to "change" that partitioning column.
    Yes, you obviously have to, otherwise you wouldn't be asking I'm sure. Go ahead and just create a new partitioned table based on callstart and relax for a few hours :)
    You might want to even use two separate boxes within the same network to perform this task. So that one box is focused on selecting and sending and the other box is worried about partitioning the data to a new table. Access via DB link.

  • Cost to change hash partition key column in a history table

    Hi All,
    I have the following scenario.
    We have a history table in production which has 16 hash partitions on the basis of key_column.
    But the nature of data that we have in history table that has 878 distinct values of the key_column and about 1000 million data and all partitons are in same tablespace.
    Now we have a Pro*C module which purges data from this history table in the following way..
    > DELETE FROM hsitory_tab
    > WHERE p_date < (TO_DATE(sysdate+1, 'YYYYMMDD') - 210)
    > AND t_date < (TO_DATE(sysdate+1, 'YYYYMMDD') - 210)
    > AND ROWNUM <= 210;
    Now (p_date,t_data are one of the two columns in history table) data is deleted using thiese two date column conditions but key_column for partition is different.
    So as per aboove statement this history table containd 6 months data.
    DBA is asking to change this query and use partiton date wise.Now will it be proper to change the partition key_column (the existing hash partiton key_column >have 810 distinct values) and what things we need to cosider to calculate cost behind this hash partition key_column cahange(if it is appropriate to change >partition )key_column)Hope i explained my problem clearly and waiting for your suggestions .
    Thanks in advance.

    Hi Sir
    Many thanks for the reply.
    For first point -
    we are in plan to move the database to 10g after a lot of hastle between client.For second point -
    If we do partition by date or week we will have 30 or 7 partitions .As suggested by you as we have 16 partitions in the table best approach would be to have >partition by week then we will have 7 partitions and then each query will heat 7 partitions .For third point -
    Our main aim to reduce the timings of a job(a Pro*C program) which contains the following delete query to delete data from a history table .So accroding to the >query it is deleting data every day for 7 months and while deleting it it queries this hug etable by date.So in this case hash partition or range partiton or >hash/range partition which will be more suitable.
    DELETE FROM hsitory_tab
    WHERE p_date < (TO_DATE(sysdate+1, 'YYYYMMDD') - 210)
    AND t_date < (TO_DATE(sysdate+1, 'YYYYMMDD') - 210)
    AND ROWNUM <= 210;I have read in hash partition is used so that data will be evenly distributed in all partitions (though it depends on nature of data).In my case i want some suggestion from you to take the best approach .

  • Update on primary key column

    Is it possible to update primary key column data by using MRU, i tried using the same but i encountered "mru internal routine error: ORA 20001" everytime i update.
    Or is there any workaround/suggestion

    Is it possible to update primary key column data by
    using MRU, i tried using the same but i encountered
    "mru internal routine error: ORA 20001" everytime i
    update.
    Or is there any workaround/suggestionTwo things.. One, what is your name, we are friendly group of folks here and would prefer to call you by name.
    Secondly, it is a preferred idea NOT to touch the generated primary key. Why would you need to update that value?
    Can you explain further what it is you are trying to do?
    Thanks!
    Tony Miller
    UTMB/EHN

  • Mapping a value to a key column

    Hi,
    I need some information in understanding the 2nd point from below
    "2. UPDATE statement changes City from SF to LA on the source. This does not succeed on the
    target. The SQLEXEC query looks up the City column in TCUSTMER1 and returns a value of
    LA. Based on the COLMAP clause, the before and after versions of City both are now LA.
    This leads to SQL error 1403 when executing the target WHERE clause, because a value
    of LA does not exist for the City column in the target table."
    I am unable to follow what exactly it states.
    Can some one explain with a good example?
    Reference:
    Mapping a value to a key column
    If using COLMAP to map a value to a key column (which causes the operation to become a
    primary key update), the WHERE clause that Oracle GoldenGate uses to locate the target row
    will not use the correct before image of the key column. Instead, it will use the after image.
    This will cause errors if you are using any functions based on that key column, such as a
    SQLEXEC statement.
    The following illustrates what happens:
    This is the SQLEXEC statement in the MAP statement:
    SQLEXEC (id mytest, query "select city from TCUSTMER1 WHERE state = 'CA'",
    noparams, ERROR RAISE),
    This is the COLMAP statement in the MAP statement:
    COLMAP ( usedefaults, city = mytest.city );
    This is the sequence of events:
    1. INSERT statement inserts the following:
    INSERT into TCUSTMER1 values (Cust = ‘1234’, Name = ‘Ace’, City = ‘SF’,
    State = ‘CA);
    Commit;
    This succeeds, because the SQLEXEC query will return mytest.city = ‘SF, so the target table
    also will have a value of SF for City and CA for State.
    2. UPDATE statement changes City from SF to LA on the source. This does not succeed on the
    target. The SQLEXEC query looks up the City column in TCUSTMER1 and returns a value of
    LA. Based on the COLMAP clause, the before and after versions of City both are now LA.
    This leads to SQL error 1403 when executing the target WHERE clause, because a value
    of LA does not exist for the City column in the target table.

    user582604 wrote:
    I am unable to follow what exactly it states.Join the club. The description is admittedly a bit complicated to follow, but it's unlikely that you're actually experiencing a problem related to this.
    It's just saying (as far as i can tell) either don't do a pk (primary key) update.... or (presumably) if you must do a pk update, do not also try at the same time to map the pk column to the result of some GG function (e.g., a sqlexec). When you have a replicat map "colmap(usedefaults, pk=sqlexec.result)", then the "where" clause constructed to perform the pk update on the target DB will use the new, updated ("after") value of the pk, and not the old, original ("before") value. Therefore the row won't be found on the target, since the pk has not actually been updated yet.
    (To paraphrase, the docs could have just said: "See this? Don't do that.")

  • Find range partition key information

    Hello, I try to insert a row in a table and I get this msg: "inserted partition key is beyond highest legal partition key". This table has a range partitioning key but I don't know on which colmn(s) this partioning is working.
    Is there a way to find this information?
    - which column
    - which are the values
    Thx in advance,
    Pascal

    Look at the following views, you should be able to find the information
    USER_IND_PARTITIONS
    USER_IND_SUBPARTITIONS
    USER_LOB_PARTITIONS
    USER_LOB_SUBPARTITIONS
    USER_TAB_PARTITIONS
    USER_TAB_SUBPARTITIONS

  • Inserted partition key does not map to any partition

    getting error while importing data from non-partition table to partition table
    structure of non-partition table
    CREATE TABLE APP_HOLD
    RCN_ID VARCHAR2(18 BYTE),
    CRD_NUM VARCHAR2(23 BYTE),
    TRN_TYP VARCHAR2(30 BYTE),
    TRN_DTE DATE,
    REF_NUM VARCHAR2(23 BYTE),
    TRN_CRR VARCHAR2(3 BYTE),
    TRN_AMT NUMBER(24,2),
    BLL_CRR VARCHAR2(3 BYTE),
    BLL_AMT NUMBER(16,2),
    BSN_DTE DATE,
    BRN_S VARCHAR2(10 BYTE),
    ACC_NUM_S VARCHAR2(24 BYTE),
    BRN_D VARCHAR2(10 BYTE),
    ACC_NUM_D VARCHAR2(24 BYTE),
    SRL_NUM VARCHAR2(23 BYTE),
    DVI_TYP VARCHAR2(8 BYTE),
    ORG_MSG_TYP VARCHAR2(6 BYTE),
    ACQ_CDE VARCHAR2(15 BYTE),
    ACQ_BIN VARCHAR2(11 BYTE),
    REV VARCHAR2(1 BYTE),
    DBCR_FLG VARCHAR2(1 BYTE),
    ATM_FEE NUMBER(16,2),
    ATM_ID VARCHAR2(16 BYTE),
    INT_FEE NUMBER(16,2),
    TRM_ID VARCHAR2(10 BYTE),
    MCN_CDE VARCHAR2(15 BYTE),
    MCN_INF VARCHAR2(40 BYTE),
    PNT_RCN_ID NUMBER(12),
    FGN_KEY VARCHAR2(18 BYTE),
    ERR_CDE VARCHAR2(200 BYTE),
    JNK VARCHAR2(50 BYTE),
    CRD_USED VARCHAR2(10 BYTE),
    RES_CDE VARCHAR2(3 BYTE),
    REA_CDE VARCHAR2(4 BYTE),
    PRC_CDE VARCHAR2(10 BYTE),
    MCC VARCHAR2(4 BYTE),
    APP_CDE VARCHAR2(8 BYTE),
    ISS_INS_ID VARCHAR2(11 BYTE),
    ACQ_INS_ID VARCHAR2(11 BYTE),
    ACQ_NET_CDE VARCHAR2(20 BYTE),
    ISS_NET_CDE VARCHAR2(20 BYTE),
    INST_ID VARCHAR2(60 BYTE),
    FIID1 VARCHAR2(20 BYTE),
    FIID2 VARCHAR2(20 BYTE),
    SWT_FLE VARCHAR2(50 BYTE),
    VIS_FLE VARCHAR2(50 BYTE),
    VIS_FLE_MCHDTE DATE,
    VIS_FLE_EODDTE DATE,
    VIS_FLE_RCNTYP NUMBER(2),
    VIS_FLE_ACNTID VARCHAR2(35 BYTE),
    MAS_FLE VARCHAR2(50 BYTE),
    MAS_FLE_MCHDTE DATE,
    MAS_FLE_EODDTE DATE,
    MAS_FLE_RCNTYP NUMBER(2),
    MAS_FLE_ACNTID VARCHAR2(35 BYTE),
    TIE1_FLE VARCHAR2(50 BYTE),
    TIE1_FLE_SRC VARCHAR2(50 BYTE),
    TIE1_FLE_MCHDTE DATE,
    TIE1_FLE_EODDTE DATE,
    TIE1_FLE_RCNTYP NUMBER(2),
    TIE1_FLE_ACNTID VARCHAR2(35 BYTE),
    TIE2_FLE VARCHAR2(50 BYTE),
    TIE2_FLE_SRC VARCHAR2(50 BYTE),
    TIE2_FLE_MCHDTE DATE,
    TIE2_FLE_EODDTE DATE,
    TIE2_FLE_RCNTYP NUMBER(2),
    TIE2_FLE_ACNTID VARCHAR2(35 BYTE),
    TIE3_FLE VARCHAR2(50 BYTE),
    TIE3_FLE_SRC VARCHAR2(50 BYTE),
    TIE3_FLE_MCHDTE DATE,
    TIE3_FLE_EODDTE DATE,
    TIE3_FLE_RCNTYP NUMBER(2),
    TIE3_FLE_ACNTID VARCHAR2(35 BYTE),
    TIE4_FLE VARCHAR2(50 BYTE),
    TIE4_FLE_SRC VARCHAR2(50 BYTE),
    TIE4_FLE_MCHDTE DATE,
    TIE4_FLE_EODDTE DATE,
    TIE4_FLE_RCNTYP NUMBER(2),
    TIE4_FLE_ACNTID VARCHAR2(35 BYTE),
    TIE5_FLE VARCHAR2(50 BYTE),
    TIE5_FLE_SRC VARCHAR2(50 BYTE),
    TIE5_FLE_MCHDTE DATE,
    TIE5_FLE_EODDTE DATE,
    TIE5_FLE_RCNTYP NUMBER(2),
    TIE5_FLE_ACNTID VARCHAR2(35 BYTE),
    TIE6_FLE VARCHAR2(50 BYTE),
    TIE6_FLE_SRC VARCHAR2(50 BYTE),
    TIE6_FLE_MCHDTE DATE,
    TIE6_FLE_EODDTE DATE,
    TIE6_FLE_RCNTYP NUMBER(2),
    TIE6_FLE_ACNTID VARCHAR2(35 BYTE),
    EJ_FLE VARCHAR2(50 BYTE),
    EJ_FLE_MCHDTE DATE,
    EJ_FLE_EODDTE DATE,
    EJ_FLE_RCNTYP NUMBER(2),
    EJ_FLE_ACNTID VARCHAR2(35 BYTE),
    BTH_FLE VARCHAR2(50 BYTE),
    BTH_FLE_MCHDTE DATE,
    BTH_FLE_EODDTE DATE,
    BTH_FLE_RCNTYP NUMBER(2),
    BTH_FLE_ACNTID VARCHAR2(35 BYTE),
    BRN_ISS_FLE VARCHAR2(50 BYTE),
    BRN_ISS_FLE_MCHDTE DATE,
    BRN_ISS_FLE_EODDTE DATE,
    BRN_ISS_FLE_RCNTYP NUMBER(2),
    BRN_ISS_FLE_ACNTID VARCHAR2(35 BYTE),
    BRN_ACQ_FLE VARCHAR2(50 BYTE),
    BRN_ACQ_FLE_MCHDTE DATE,
    BRN_ACQ_FLE_EODDTE DATE,
    BRN_ACQ_FLE_RCNTYP NUMBER(2),
    BRN_ACQ_FLE_ACNTID VARCHAR2(35 BYTE),
    TRNACC_ID VARCHAR2(21 BYTE),
    PRT_TRNACC_ID VARCHAR2(35 BYTE),
    PROCESS_ID VARCHAR2(20 BYTE),
    SWT_VCH1_NUM VARCHAR2(100 BYTE),
    SWT_VCH2_NUM VARCHAR2(100 BYTE),
    SWT_VCH3_NUM VARCHAR2(100 BYTE),
    SWT_VCH4_NUM VARCHAR2(100 BYTE),
    SWT_VCH5_NUM VARCHAR2(100 BYTE),
    SWT_VCH1A_NUM VARCHAR2(100 BYTE),
    SWT_VCH2A_NUM VARCHAR2(100 BYTE),
    SWT_VCH3A_NUM VARCHAR2(100 BYTE),
    SWT_VCH4A_NUM VARCHAR2(100 BYTE),
    SWT_VCH5A_NUM VARCHAR2(100 BYTE),
    SWT_VCH1B_NUM VARCHAR2(100 BYTE),
    SWT_VCH2B_NUM VARCHAR2(100 BYTE),
    SWT_VCH3B_NUM VARCHAR2(100 BYTE),
    SWT_VCH4B_NUM VARCHAR2(100 BYTE),
    SWT_VCH5B_NUM VARCHAR2(100 BYTE),
    SWT_VCH1C_NUM VARCHAR2(100 BYTE),
    SWT_VCH2C_NUM VARCHAR2(100 BYTE),
    SWT_VCH3C_NUM VARCHAR2(100 BYTE),
    SWT_VCH4C_NUM VARCHAR2(100 BYTE),
    SWT_VCH5C_NUM VARCHAR2(100 BYTE),
    SWT_VCH1D_NUM VARCHAR2(100 BYTE),
    SWT_VCH2D_NUM VARCHAR2(100 BYTE),
    SWT_VCH3D_NUM VARCHAR2(100 BYTE),
    SWT_VCH4D_NUM VARCHAR2(100 BYTE),
    SWT_VCH5D_NUM VARCHAR2(100 BYTE),
    SWT_VCH1E_NUM VARCHAR2(100 BYTE),
    SWT_VCH2E_NUM VARCHAR2(100 BYTE),
    SWT_VCH3E_NUM VARCHAR2(100 BYTE),
    SWT_VCH4E_NUM VARCHAR2(100 BYTE),
    SWT_VCH5E_NUM VARCHAR2(100 BYTE),
    SWT_VCH1F_NUM VARCHAR2(100 BYTE),
    SWT_VCH2F_NUM VARCHAR2(100 BYTE),
    SWT_VCH3F_NUM VARCHAR2(100 BYTE),
    SWT_VCH4F_NUM VARCHAR2(100 BYTE),
    SWT_VCH5F_NUM VARCHAR2(100 BYTE),
    SWT_VCH1G_NUM VARCHAR2(100 BYTE),
    SWT_VCH2G_NUM VARCHAR2(100 BYTE),
    SWT_VCH3G_NUM VARCHAR2(100 BYTE),
    SWT_VCH4G_NUM VARCHAR2(100 BYTE),
    SWT_VCH5G_NUM VARCHAR2(100 BYTE),
    SWT_VCH1H_NUM VARCHAR2(100 BYTE),
    SWT_VCH2H_NUM VARCHAR2(100 BYTE),
    SWT_VCH3H_NUM VARCHAR2(100 BYTE),
    SWT_VCH4H_NUM VARCHAR2(100 BYTE),
    SWT_VCH5H_NUM VARCHAR2(100 BYTE),
    SWT_VCH1I_NUM VARCHAR2(100 BYTE),
    SWT_VCH2I_NUM VARCHAR2(100 BYTE),
    SWT_VCH3I_NUM VARCHAR2(100 BYTE),
    SWT_VCH4I_NUM VARCHAR2(100 BYTE),
    SWT_VCH5I_NUM VARCHAR2(100 BYTE),
    VIS_VCH_NUM VARCHAR2(100 BYTE),
    MAS_VCH_NUM VARCHAR2(100 BYTE),
    TIE1_VCH_NUM VARCHAR2(100 BYTE),
    TIE2_VCH_NUM VARCHAR2(100 BYTE),
    TIE3_VCH_NUM VARCHAR2(100 BYTE),
    TIE4_VCH_NUM VARCHAR2(100 BYTE),
    TIE5_VCH_NUM VARCHAR2(100 BYTE),
    TIE6_VCH_NUM VARCHAR2(100 BYTE),
    EJ_VCH_NUM VARCHAR2(100 BYTE),
    BTH_VCH_NUM VARCHAR2(100 BYTE),
    BRN_ISS_VCH_NUM VARCHAR2(100 BYTE),
    BRN_ACQ_VCH_NUM VARCHAR2(100 BYTE),
    PAR_DTE DATE,
    EOD_DTE1 DATE,
    EOD_DTE2 DATE,
    FILLER1 VARCHAR2(4000 BYTE),
    FILLER2 VARCHAR2(4000 BYTE),
    FILLER3 VARCHAR2(4000 BYTE),
    TRN_MM VARCHAR2(2 BYTE),
    TRN_YY VARCHAR2(4 BYTE),
    PURGE_FLAG NUMBER DEFAULT 0
    );

    The error message is self explanatory. One or more of the rows being attempted to be inserted has a value for a partition key column that does NOT map into the defined partition keys on the target table.
    Since you have not shown the definition of the Partitioned table, we cannot help with any advice to you.
    Hemant K Chitale

  • What Oracle Table contains Partition Key Field Name?

    What Oracle table/view maintains the partition key field name?
    All_Tab_Partitions does not appear to maintain such information.
    When I use Toad -> Schema -> Tables -> Partitions, it lists the partition key field name that the partition is based.
    Thank You

    all_part_key_columns
    or
    USER_part_key_columns
    Edited by: OrionNet on Dec 5, 2008 3:56 PM

Maybe you are looking for