ORA-12839: cannot modify an object in parallel after modifying it

Hi,
I am facing a Problem when I am trying to Update a Table:
ORA-12839: cannot modify an object in parallel after modifying it
How to rectify it?
Any help will be highly needful
Thanks and Regards

Or if it needs to be the same transaction leave away any parallelization part as e.g. an append hint:
SQL> create table emp2 as select * from emp where 1=2
Table created.
SQL> insert /*+ append */ into emp2 select * from emp
14 rows created.
SQL> update emp2 set sal=200 where empno=7788
Error at line 11
ORA-12838: cannot read/modify an object after modifying it in parallel

Similar Messages

  • ORA-22990 ( Cannot span lob... ) while using connection pooling...

    Hi all, I am maintaining a web site that has lots of requests ( about 10 requests a second ) to an Oracle table that has a BLOB field. Those requests create new blobs, updates them and reads them... My program worked fine until I started using connection pooling ( Before that, I used a single connection that was initialized at startup ). Although I had to synchronized the methods that interact with blob field, everything worked great. So now, to optimize my site, I want to use connection pooling so that even if my methods are synchonized on the connection object, there will be more than one connection available so it will not affect performance.
    So once I introduced my connection pooling system with the oracle.jdbc.pool.OracleConnectionCacheImpl class, I started getting ORA-22990 ( Cannot span lob objects... ). I get the error on the flush() method when I try to write the blob to the database. Here is my function that writes a row in the databse.
      private synchronized void writeSession(CapSession pSession) throws Exception
            javax.sql.PooledConnection pc = pool.getPooledConnection();
            Connection conn = pc.getConnection();
            CallableStatement stmt=conn.prepareCall(writeObjSQL);
            stmt.setString(1,pSession.getSessionId()+pSession.getPassword());
            stmt.setLong(2,pSession.getLastAccess());
            stmt.setLong(3,pSession.getTimeout());
            stmt.registerOutParameter(4,java.sql.Types.BLOB);
            stmt.executeUpdate();
            oracle.sql.BLOB blob=(BLOB)stmt.getBlob(4);
            OutputStream os=blob.getBinaryOutputStream();
            ObjectOutputStream oop=new ObjectOutputStream(os);
            oop.writeObject(pSession);
            oop.flush();
            oop.close();
            os.close();
            stmt.close();
            conn.commit();
            conn.close();
            pc.close();
      } If anyone could help me, I would deeply appreciate it!
    Thank you for your time.

    kalle
    Thank you very much for your advice!!!
    Like you said, I started to check whether the connections are fine before giving them from the pool.I am executing a simple "select 'anil' from dual" and if its fine only then I return the connection. So far it seems to be fine. Also I am reopening the connections(closing the old ones and opening new connections) after every 12 hours.
    As far as the JDBC driver is concerned, I already tried with Oracle 8i driver, it gave the same problems. I read that 9i driver might solve this problem, so I changed to the latest 9i driver (classes12_g.zip).
    Sometimes before(before I started checking whether the connection is good )the application used to hang up at the point where I am issuing setAutoCommit(false).It never comes out from that statement.Is this something to do with theconnections being closed?
    What I am afraid is, will the appilation get hung up even after I check the connection with select query and then issue autocommit(false)??
    Or will it hang up while I check with a select query??
    As long as it doesn't hung up, I am fine. Because i am cathching the exceptions.
    Thanks In ADVANCE
    Anil

  • Preceeding msg modified, Media objects were removed

    I was texting with a friend and i keep getting additional error texts saying "preceeding msg modified, Media objects were removed" after everyone i send. It only has happened with this one person who is also a verizon customer. Can anyone tell me why?
    Also how can i delete the saved text history even after i delete the thread. It still shows under the contact, swipe to the right and there is the whole conversation.

    head2077 wrote:
    I was texting with a friend and i keep getting additional error texts saying "preceeding msg modified, Media objects were removed" after everyone i send. It only has happened with this one person who is also a verizon customer. Can anyone tell me why?
    Also how can i delete the saved text history even after i delete the thread. It still shows under the contact, swipe to the right and there is the whole conversation.
    Hi.  I understand that you have questions regarding the error messages you are receiving when you send text messages.  I will be happy to look into it.  What type of media objects are you attaching to the text message?   Is this a picture message? 
    Please let me know if you have any other questions
    Thanks!

  • ORA-12838: cannot read/modify an object after modifying it in parallel

    I am getting the above error when i hit this part in my load ....
    can somebody suggest me why it could be in this case ?
    MERGE INTO PART1 H
    USING (SELECT PA1,                              PART1,                                   CON1,                                   GEO1,                                   COUN1,                                   KIT1                          FROM W1 ) WH ON
                                       (H.PART1=WH.PART1)                                   --on PK darshan 01-03-2006
         WHEN MATCHED THEN
    UPDATE SET                                   H.CON1     =WH.CON1,                         H.GEO1     = FN_GETGEOCODE ( WH.GEO1 ),               H.COUN1     =WH.COUN1,                         H.KIT1     =WH.KIT1,                    H.DT1     =TO_NUMBER(TO_CHAR(FN_GETGMTDATE(SYSDATE),'YYYYMMDD')),                              H.DT_LAST1          = FN_GETGMTDATE(SYSDATE)
              WHEN NOT MATCHED THEN
         INSERT     (H.PART1,                                   H.PART2,                                   H.CON1,                                   H.GEO1,                                   H.COUN1,                                   H.KITD1,                                   H.DT1,                                   H.DT_1,                                   H.DT_LAST_1)
              VALUES(CASE FN_MERGE_COUNTER(gpi_inserting)
                   WHEN 0 THEN     WH.PART1 END,                         WH.PARTN1,                              WH.CON1,                              FN_GETGEOCODE ( WH.GEO1),                    WH.COUNT1,                              WH.KIT1,
              TO_NUMBER(TO_CHAR(FN_GETGMTDATE(SYSDATE),'YYYYMMDD')),                                   PKG_COMMONACTIVITIES.FN_GETGMTDATE(SYSDATE),                                        PKG_COMMONACTIVITIES.FN_GETGMTDATE(SYSDATE)
                                            );

    does this give you a clue?
    SQL> CREATE TABLE t AS
      2  SELECT owner, object_name FROM all_objects
      3  WHERE 1=0;
    Table created.
    SQL> INSERT /*+ APPEND */ INTO t
      2  SELECT owner, object_name
      3  FROM all_objects;
    8982 rows created.
    SQL> SELECT * FROM t;
    SELECT * FROM t
    ERROR at line 1:
    ORA-12838: cannot read/modify an object after modifying it in parallelI bet that you need a commit after loading w1.
    John

  • OWB Issue|| ORA-12838: cannot read/modify an object after modifying it in

    Hi
    I am not able to enter the data into the staging table .
    it is also not throwing any error ,only giving warnings.
    so as a next step i just took the intermediate result generation and try to run it
    but it is giving me an error in that
    ORA-12838: cannot read/modify an object after modifying it in parallel
    Can you please help me in tthis case.
    Thanks

    Hello,
    The error ORA-12838 occurs if you try to issue SELECT/DML immediately after completing parallel DML, within one transaction - it's not permitted.
    Start another transaction - issue Commit or Rollback first.

  • ORA-01776: cannot modify more than one base table through a join view

    I have created EO based on a database view than consists of two tables, and only one is updateable.
    When I try to update a row using EO, I got a following message: "ORA-01776-cannot modify more than one base table through a join view"
    In Forms, this issue is resolved by setting "Query Only" property of non-updateable items to "True".
    Is it possible to do something like that in ADF BC?
    Thanks

    Thanks for answer.
    When I set "updateable" property to "Never", that attribute is protected from any change.
    I'm sorry for incomplete usecase.
    I have set up a list of value on that attribute, because it is a lookup field for another table and I need to get an ID from that table.
    Basically, I need that attribute to be updateble for BC, but not for database.
    Edited by: MarioK on Oct 13, 2011 9:28 AM

  • ORA-00604 & ORA-30512 CANNOT MODIFY TABLE MORE THAN ONCE IN A TRANSACTION

    We have a requirement where two tables should be in sync at any given point
    in time with respect to the structure of the tables.
    Any change on table/column via ALTER (MODIFY, ADD, RENAME COLUMN, DROP
    COLUMN) on the parent table should be replicated to the replica table.
    I created a DDL_TRIGGER on the schema and the desired result is achieved but
    for the following one scenario for which its failing.
    The issue is, if we try to reduce the width of the column (via ALTER ..
    MODIFY) it fails with the following error
    ORA-00604: error occurred at recursive SQL level 1
    ORA-30512: cannot modify DEVTESTF_OIM.REPLICA_ABC more than once in a
    transaction
    Please follow the steps to reproduce the issue (the issue is across the DB
    version checked on 10.2, 11.1 and 11.2 DB version)
    -- Step1 Create Parent Table
    CREATE TABLE abc (col1 VARCHAR2(10))
    -- Step2 Create Replica Table
    CREATE TABLE replica_abc (col1 VARCHAR2(10))
    -- Step3 Create DDL Trigger
    CREATE OR REPLACE TRIGGER ddl_trigger
    AFTER ALTER ON SCHEMA
    DECLARE
    operation VARCHAR2(30);
    object_name VARCHAR2(30);
    l_sqltext VARCHAR2(100);
    i PLS_INTEGER;
    l_count NUMBER:=0;
    sql_text dbms_standard.ora_name_list_t;
    BEGIN
    i := dbms_standard.sql_txt(sql_text);
    SELECT ora_sysevent, ora_dict_obj_name, UPPER(sql_text(i))
    INTO operation, object_name, l_sqltext
    FROM dual;
    IF ora_dict_obj_name = 'ABC' THEN
    l_count := INSTR(l_sqltext,'ADD CONSTRAINT',1,1);
    l_count := l_count + INSTR(l_sqltext,'DISABLE',1,1);
    l_count := l_count + INSTR(l_sqltext,'DROP CONSTRAINT',1,1);
    l_count := l_count + INSTR(l_sqltext,'PRIMARY KEY',1,1);
    l_count := l_count + INSTR(l_sqltext,'ADD CHECK',1,1);
    IF (l_count = 0) THEN
    l_count := INSTR(l_sqltext,'ADD',1,1);
    l_count := l_count + INSTR(l_sqltext,'MODIFY',1,1);
    l_count := l_count + INSTR(l_sqltext,'DROP COLUMN',1,1);
    l_count := l_count + INSTR(l_sqltext,'RENAME
    COLUMN',1,1);
    IF (l_count >0) THEN
    l_sqltext := REPLACE(l_sqltext,'TABLE ABC','TABLE REPLICA_ABC');
    execute immediate l_sqltext;
    END IF;
    END IF;
    END IF;
    EXCEPTION
    WHEN OTHERS THEN
    RAISE ;
    END;
    -- Step 4 Issue the following ALTER command on the Parent table 'ABC'
    ALTER TABLE ABC MODIFY COL1 VARCHAR2(9);
    will show the following
    ERROR at line 1:
    ORA-00604: error occurred at recursive SQL level 1
    ORA-30512: cannot modify DEVTESTF_OIM.REPLICA_ABC more than once in a
    transaction
    ORA-06512: at line 34
    whereas the following commands works fine
    ALTER TABLE ABC MODIFY COL1 VARCHAR2(11);
    and also the rest of the operations
    ALTER TABLE ABC ADD COL2 VARCHAR2(20);
    ALTER TABLE ABC RENAME COLUMN COL2 TO COL3;
    ALTER TABLE ABC DROP COLUMN COL3;
    The issue is while reducing the size of VARCHAR2 columns, while the rest of
    option works fine.
    Any suggestion or workaround please.

    It looks like a bug to me. The failing statement from the SQL trace is
    PARSE ERROR #12:len=77 dep=3 uid=0 oct=3 lid=0 tim=1263332549608656 err=30512
    select /*+ first_rows */ 1 from "TIM"."REPLICA_ABC" where LENGTHB("COL1") > 9and exception cannot explain it.

  • ODI-1228: ORA-22950: cannot ORDER objects without MAP or ORDER method

    Simple interface between two schemas in the same oracle database (10g)
    I am trying to copy one table and do one simple lookup (in a table located in 3rd schema on the same database)
    Integration task fails on
    ODI-1228: Task messagexml_document (Integration) fails on the target ORACLE connection S2_P1.
    Caused By: java.sql.SQLException: ORA-22950: cannot ORDER objects without MAP or ORDER method
    Can anybody tell me, what I am doing wrong? Code that generate this error is just a simple INSERT with SELECT and sub SELECT with JOIN?
    I just can't find anything about this error.
    I'm stuck :-(

    I discovered that one of my fields is an XMLType field and is a part of comparison ODI do when it tries to do incremental update. The error message here is just a message from db that it can't compare XMLType fields to each other.
    Is there any way to learn ODI to not to compare by XMLType field?

  • Problem in updating fa_additions SQL Error: ORA-01779: cannot modify a column which maps to a non key-preserved table

    Hi,
    After using sql loader to import informations in the table fa_mass_additions and after the functionnal uses a treatment to imputate this assets, it asks me to do an update on the table fa_additions to change the value of attribute1 but i get an error
    Error report:
    ORA-01779: cannot modify a column which maps to a non key-preserved table
    ORA-06512: at line 11
    01779. 00000 -  "cannot modify a column which maps to a non key-preserved table"
    *Cause:    An attempt was made to insert or update columns of a join view which
               map to a non-key-preserved table.
    *Action:   Modify the underlying base tables directly.
    please how can i do this update?

    Hi,
    The "fa_additions" is a view, not a table.
    You should update the base table "fa_additions_b".
    Regards,
    Bashar

  • Unable to Insert record In forms: error -ORA-01779 :cannot modify a column

    Hi,
    I have created one form with two block.
    Block-1 : Based on View
    Block-2 : Based on table
    There is is relationship between Block-1 and Block-2.
    Block-1 is populating from LOV.
    I just need to insert /update record Block-2 based on data from Block-1
    So Block-1 I have made read only at runtime (Inser/update all properties are false).
    Now when I insert record in Block-2 based on record from block-1, and getting below error.
    "ORA-01779: cannot modify a column which maps to a non key-preserved table"
    It is not allowing to insert record.
    Please help me.
    Subir

    The error states that there is some operation on a view, not an a table.
    Now when I insert record in Block-2 based on record from block-1What does that mean? How do you insert records in block 2?
    When exactly occurs the error?

  • ORA-01779: cannot modify a column which maps to a non key-preserved table

    define cusname='GEORGE';
    INSERT INTO (select s.prd_id, s.cus_id, s.qty_sold, s.price from sales s, customers c where s.cus_id=c.cus_id)
    VALUES (102,(select cus_id from customers where upper(c_name) like '%GEORGE%'),14,(select price from product where prd_id = 102)*14)
    I am getting the following error when I am trying to run the above query.
    SQL Error: ORA-01779: cannot modify a column which maps to a non key-preserved table
    01779. 00000 -  "cannot modify a column which maps to a non key-preserved table"
    *Cause:    An attempt was made to insert or update columns of a join view which map to a non-key-preserved table.
    *Action:   Modify the underlying base tables directly.
    CUSTOMERS TABLE
    Name   
    Null   
    Type        
    CUS_ID 
    NOT NULL
    NUMBER      
    C_NAME         
    VARCHAR2(50)
    C_LIMIT         
    NUMBER      
    CITY           
    VARCHAR2(20)
    PRODUCT TABLE
    Name 
    Null   
    Type        
    PRD_ID
    NOT NULL
    NUMBER      
    PRICE         
    NUMBER      
    COST           
    NUMBER      
    SALES TABLE
    Name   
    Null   
    Type  
    PRD_ID 
    NOT NULL
    NUMBER
    CUS_ID 
    NOT NULL
    NUMBER
    QTY_SOLD         
    NUMBER
    PRICE             
    NUMBER

    Hi,
    As the error message sugggested, INSERT directly into the sales table.  You can get the values from a sub-query that joins whatever tables are needed, including sales itself.  MERGE might be simpler and more efficient than INSERT.
    I hope this answers your question.
    If not, post  a little sample data (CREATE TABLE and INSERT statements, relevant columns only) for all tables involved, and also post the results you want from that data.
    If you're asking about a DML statement, such as INSERT, the sample data will be the contents of the table(s) before the DML, and the results will be state of the changed table(s) when everything is finished.
    Explain, using specific examples, how you get those results from that data.
    Always say which version of Oracle you're using (e.g., 11.2.0.2.0).
    See the forum FAQ: https://forums.oracle.com/message/9362002

  • ORA-22856: cannot add columns to object tables

    Oracle 9i
    ==========
    I tried to alter a table using a simple script.
    ALTER TABLE tablename ADD col VARCHAR(50);
    And it gave me the error: -
    ORA-22856: cannot add columns to object tables
    Can someone give me some direction on how to resolve this? The script executes fine on a test env.
    Thanks in advance

    Thanks for replying...
    exit     Null? Type
    BUS     NUMBER
    REP     VARCHAR2(60)
    COS     NUMBER
    REP     VARCHAR2(50)
    ACC     NUMBER
    ADJ     VARCHAR2(2000)
    BAS     NUMBER
    BIL     VARCHAR2(360)
    BIL     VARCHAR2(50)
    BIL     VARCHAR2(3)
    BIL     VARCHAR2(50)
    BLP     VARCHAR2(240)
    BLP     NUMBER
    BOO     DATE
    COM     NUMBER
    COM     NUMBER
    COM     NUMBER(15)
    COM     NUMBER(15)
    COM     VARCHAR2(4000)
    COM     VARCHAR2(30)
    CUR     NUMBER
    CUS     VARCHAR2(240)
    DEA     VARCHAR2(240)
    EVE     VARCHAR2(240)
    HEA     VARCHAR2(240)
    HEA     VARCHAR2(240)
    HEA     VARCHAR2(240)
    HEA     VARCHAR2(240)
    INC     VARCHAR2(30)
    INV     DATE
    MAN     VARCHAR2(360)
    ORD     NUMBER
    ORD     VARCHAR2(240)
    PAY     VARCHAR2(240)
    PAY     NUMBER
    HEL     NUMBER
    PEO     VARCHAR2(150)
    PER     NUMBER
    PER     VARCHAR2(30)
    PER     NUMBER(15)
    PRO     VARCHAR2(240)
    PRO     VARCHAR2(240)
    QUA     NUMBER(15)
    QUO     NUMBER
    QUO     DATE
    QUO     DATE
    QUO     VARCHAR2(80)
    RED     VARCHAR2(240)
    REP     VARCHAR2(360)
    REP     VARCHAR2(30)
    REP     VARCHAR2(30)
    REP     VARCHAR2(150)
    REP     VARCHAR2(3)
    REP     VARCHAR2(150)
    REP     VARCHAR2(50)
    ROL     VARCHAR2(60)
    SHI     VARCHAR2(360)
    SPL     VARCHAR2(240)
    STA     DATE
    TER     DATE
    TOT     VARCHAR2(240)
    TRX     NUMBER
    TRX     VARCHAR2(240)
    TRX     VARCHAR2(20)
    TRX     VARCHAR2(30)
    WAI     VARCHAR2(240)
    YEA     NUMBER
    MAN     VARCHAR2(30)
    BUF     NUMBER
    BUF     VARCHAR2(60)
    EMC     NUMBER
    EMC     VARCHAR2(60)
    INT     NUMBER
    INT     VARCHAR2(60)
    SUP     NUMBER
    SUP     VARCHAR2(60)
    BRM     NUMBER
    BRM     VARCHAR2(60)
    SUP     NUMBER
    SUP     VARCHAR2(60)
    REP     NUMBER
    REP     VARCHAR2(60)
    DIV     NUMBER
    DIV     VARCHAR2(60)
    SUP     NUMBER
    SUP     VARCHAR2(60)
    REG     NUMBER
    REG     VARCHAR2(60)
    SUP     NUMBER
    SUP     VARCHAR2(60)
    ARE     NUMBER
    ARE     VARCHAR2(60)
    DIS     NUMBER
    DIS     VARCHAR2(60)
    ROL     VARCHAR2(240)
    ACC     NUMBER
    BON     NUMBER
    COM     VARCHAR2(240)
    COM     VARCHAR2(240)
    REP     NUMBER
    BIL     NUMBER
    BAS     NUMBER
    TOT     NUMBER
    TOT     NUMBER
    OVE     NUMBER
    BLP     NUMBER
    QUO     VARCHAR2(30)
    FN_     NUMBER
    FN_     VARCHAR2(10)
    SAL     NUMBER
    RES     NUMBER
    CRE     NUMBER
    MAN     VARCHAR2(100)
    PER     NUMBER
    PLA     NUMBER
    PLA     NUMBER
    REV     VARCHAR2(30)
    REP     VARCHAR2(150)
    OU_     NUMBER
    OU_     NUMBER
    EXC     VARCHAR2(1)
    MAN     NUMBER
    INV     NUMBER
    REP     NUMBER
    UPL     VARCHAR2(1)
    COM     NUMBER
    SEQ     NUMBER
    QUO     NUMBER
    PRO     VARCHAR2(10)
    PRO     NUMBER
    PRO     NUMBER
    BI_     NUMBER
    CUR     NUMBER
    YTD     NUMBER
    PAY     NUMBER
    PAY     DATE
    PAY     VARCHAR2(1000)
    PAY     VARCHAR2(80)
    PAI     VARCHAR2(1)
    HOL     VARCHAR2(1)
    SRP     NUMBER
    WAI     VARCHAR2(1)
    WAI     VARCHAR2(1)
    GBK     VARCHAR2(10)
    TRX     DATE
    PAY     NUMBER(15)
    FIX     NUMBER
    TER     DATE
    ADJ     VARCHAR2(240)
    PAY     NUMBER
    PRO     DATE
    OIC     DATE
    OIC     NUMBER
    OIC     VARCHAR2(30)
    OIC     NUMBER
    HEL     NUMBER
    COM     NUMBER
    TRA     NUMBER
    HDR     VARCHAR2(30)
    LIN     VARCHAR2(30)
    LIN     DATE
    SRC     DATE
    EM_     DATE
    EM_     DATE
    ORD     VARCHAR2(30)
    REP     VARCHAR2(150)
    BIL     VARCHAR2(300)
    PER     VARCHAR2(240)
    Excuse the incomplete column names. All datatypes are basic ones and there are no constraints defined on any of the columns (dw env). The table is partitioned.

  • ORA-28336: cannot encrypt SYS owned objects

    Hi ,I am getting the following error during impdp.
    Processing object type SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
    ORA-31693: Table data object "IDCFAPP"."ROBJECTOFSERVICE" failed to load/unload and is being skipped due to error:
    ORA-28336: cannot encrypt SYS owned objects
    any suggestions?

    ORA-31693: Table data object string failed to load/unload and is being skipped due to error: string
    Cause: Table failed to load or unload due to some error.
    Action: Check load/unload error, correct problem and retry command.
    This error is most likely because the SQL statements were run from the SYS user account
    ~ Madrid

  • ORA-22979: cannot INSERT object view REF or user-defined REF

    I'm getting this error when trying to insert a parent_type object into an object table. The parent object contains a nested table of parent object references.
    CREATE TYPE cl_ArgList AS TABLE OF REF cl_Expression
    CREATE TYPE cl_Expression AS OBJECT (
    args cl_ArgList;
    Somehow the system-generated parent object REF that is returned from one STATIC function (using MAKE_REF) turns into a incompatible REF by the time it is passed to aother STATIC function and used in the constructor of the nested table for a new args instance.
    Does anybody know how this might be happening?
    Is there any way to test if a REF is a valid system-generated REF vs. a user-defined REF?
    I don't even know what a user-defined REF is, how I might be getting one, and what's wrong with it anyway. Shouldn't strong-typing ensure that the REF is okay if it is of the appropriate type?
    Glenn.

    Okay, solved that.
    FYI the problem is that the nested table arguments (REF cl_Expression) have to be SCOPED REFs, ie. constrained to refer only to objects in a particular table (although I don't really understand why).
    Then of course the trick is how to constrain the arguments in the nested table, because you can't do it in the CREATE TYPE statement. You also can't do it when you create the containing table, when you define how the nested table is stored:
    CREATE TABLE <containing table> OF cl_Expression (
    NESTED TABLE args STORE AS t_args
    Instead you have to modify the nested table properties after it has been created:
    ALTER TABLE t_args ADD (SCOPE FOR (column_value) IS t_Induhvidual);
    'column_value' is the actual syntax, not your own column name.
    But you probably knew that ;-)

  • Impdp errors with ORA-01400: cannot insert NULL into

    Hi Experts,
    I have very intresting situation when I use impdp to import table back to DB.
    Environment:
    Database Server: 10.2.0.4 Enterprise
    OS: RHEL 5.5 64-bit
    We have a table and it's size is 350+ GB and so to reclaim space I want to perform expdp/impdp operation. When I following below steps:
    1) expdp table
    2) drop table
    3) impdp full table
    It works like a charm and I am able to reclaim 83% space and table size shows about 20GB.
    But when I follow below method:
    1) expdp table
    2) truncate table (To save some time not to import indexes, stats, constraints , etc)
    3) impdp table
    I get following error:
    Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
    With the Partitioning, OLAP, Data Mining and Real Application Testing options
    Master table "SYS"."SYS_IMPORT_TABLE_01" successfully loaded/unloaded
    Starting "SYS"."SYS_IMPORT_TABLE_01": sys/******** tables=<schema>.<table_name> directory=test_dir dumpfile=<table_name>_%u.dmp logfile=impdp_<table_name>.log parallel=16 CONTENT=DATA_ONLY
    Processing object type TABLE_EXPORT/TABLE/TABLE_DATA
    ORA-31693: Table data object "<schema"."table_name" failed to load/unload and is being skipped due to error:
    ORA-01400: cannot insert NULL into ("schema"."table_name"."ID")
    Job "SYS"."SYS_IMPORT_TABLE_01" completed with 1 error(s) at 16:12:28
    Please advise how to proceed further, it seems like I am hitting some sort of Bug but metalink does not show any.
    Regards,
    MS
    Edited by: user10651321 on Nov 9, 2012 4:38 PM

    expdp and impdp operations should not be executed as SYS - try SYSTEM account instead. See first Note section here - http://docs.oracle.com/cd/B19306_01/server.102/b14215/dp_import.htm#sthref243
    Pl post the complete expdp and impdp commands used, along with a description of the table for which you encounter this error.
    HTH
    Srini

Maybe you are looking for