ALTER table a enable row movement cause problem

Hello

I did allow the movement of the row in the table and then shrink the space. which causes the performance issue? If so, how? How to allow the movement of the line and shrink the work of space internally?

can deposit in full table scan, then the idexes on this table is not used more?

947721 wrote:

can shrink space available internally to what extent?

Use the following syntax in a google search: alter table shrink space site: docs.oracle.com

Note, by the way: "allow the movement of the line" allows you to take advantage of the features of line-movement, but he made no movement.

Concerning
Jonathan Lewis

Tags: Database

Similar Questions

  • Update of movement causing problems

    I developed a Machine Vision system that has worked more than 10 years without any problem of movement. I recently upgraded to Windows XP to Win7 computer; LabVIEW 7.1 to 2013; TestStand 4.2 to 2013; OR-Motion of 7.7 to 8.5.1.

    Initially, the system seems to work without major modifications of the software well. But soon, he began to have problems with movement and motion control card (NI PCI-7334):

    1. When you move the XY Table; the vi ' check move full status "generates an error and does not expect the XY table arrive at its destination. The table always moves properly in the desired position. (do not have an account of the error right now)

    2. I have a LabVIEW program that constantly monitors the digital input ports on the PCI-7334 card that stops playback of the entries correctly (they are high; low readings). He also uses one of the ports as a control output turns on and he continues to work.

    When one or both of these problems occur, if I check the card Max there is a! point to the icon and it says that the firmware is up to date. If I initialize the card the exclimation mark disappears and the firmware is "up-to-date". Removed it from the issues above; for awhile, then the problems will repeat.

    I know it's a long shot, but any idea what could happen? I have watched closely on the screw and can't seem to find a memory leak or race condition. Is it possible that my VI which constantly monitors digital ports is to interfere with the operation of the query? As I said, it worked for 10 years without this problem before the upgrade.

    I finally found the problem a few weeks ago. The error disappeared.

    The problem was that the LabVIEW program that was constantly monitoring the digital input ports on the PCI-7334 map seems to conflict with VI which ensured control of the movement. Since they were operating asynchronously at any time that the two might try to access the card at the same time and cause the error. The difficulty was to eliminate the continually followed VI and replace it with digital input/outport screw the work of movement between the two calls.

    I lost a bit of features making this but the system as a whole works fine.

  • ALTER TABLE RETRACTABLE is possible online?

    RDBMS Version: 11.2.0.4

    Platform: Oracle Linux 6.4

    We have a database of CARS of Production 2 nodes very critical. To recover the space, we want to cut some large tables. The first table we'll shrink is a 300 GB, which is not partitioned with no LOB table.

    Here are the steps that we'll run.

    Step1.alter mytable table allow the movement of the line;

    Step2.alter mytable table shrink space compact;

    Step3.alter mytable table shrink space;

    Step4.alter table mytable disable the movement of the line;

    STEP 5. COLLECT STATISTICS of the table (because the RETRACTABLE table will cancel all the sliders in the shared pool)

    The steps above will take at least 10 hours to complete a 300 GB table. We would like to know if all of these steps can be done online. That is to say. We do not want the SHRINK command to lock the table and prevents the table to be modified (any DML) by the application

    Doc below said this can be done online. But, MOS DOC 1357878.1 said that it is not and you must use the DBMS_REDEFINITION package if you want to do it online.

    https://docs.Oracle.com/CD/E18283_01/server.112/e17120/schema003.htm

    The MOS article you are talking about is not correct. Outside the DOF at the end of a SHRINK lock when the high tide is shifted, SHRINK the SPACE is an online operation. DBMS_REDEFNITION is actually worse because you have DDL locks at both the beginning and the end. However, in both cases, it is the DDL that is blocked by other operations DML (and not the other way around) so that your users will have no problem. If the narrowing or the redefinition is blocked, you can suspend the database for a few seconds. I described how to do here,

    Database Quiesce

    --

    John Watson

    Oracle Certified Master s/n

  • ALTER table move lob segment of a partition

    How I could move a LOB from a table segment partitioned (11.1 DB)?

    I have after the table script:
    CREATE TABLE COMMON.TEST_AAA2_ARH
    (
      ID           INTEGER,
      TEKST        VARCHAR2(200 CHAR),
      UPDATESTAMP  DATE,
      OBJEKAT      CLOB
    )
    LOB (OBJEKAT) STORE AS (
      TABLESPACE COMMON_ARCHIVE
      ENABLE       STORAGE IN ROW
      CHUNK       8192
      RETENTION
      NOCACHE
      LOGGING)
    TABLESPACE COMMON_ARCHIVE
    LOGGING
    PARTITION BY RANGE (UPDATESTAMP)
    (  
      PARTITION P_201012 VALUES LESS THAN (TO_DATE(' 2011-01-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
        LOGGING
        NOCOMPRESS 
        TABLESPACE COMMON_DATA
        LOB (OBJEKAT) STORE AS (
          TABLESPACE USERS
          ENABLE       STORAGE IN ROW
          CHUNK       8192
          PCTVERSION  10
          NOCACHE
          LOGGING),  
      PARTITION P_201101 VALUES LESS THAN (TO_DATE(' 2011-02-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
        LOGGING
        NOCOMPRESS 
        TABLESPACE COMMON_DATA
        LOB (OBJEKAT) STORE AS (
          TABLESPACE USERS
          ENABLE       STORAGE IN ROW
          CHUNK       8192
          PCTVERSION  10
          NOCACHE
          LOGGING),  
      PARTITION P_MAXVALUE VALUES LESS THAN (MAXVALUE)
        LOGGING
        NOCOMPRESS 
        TABLESPACE COMMON_ARCHIVE
        LOB (OBJEKAT) STORE AS (
          TABLESPACE COMMON_ARCHIVE
          ENABLE       STORAGE IN ROW
          CHUNK       8192
          PCTVERSION  10
          NOCACHE
          LOGGING)
    )
    NOCOMPRESS 
    NOCACHE
    NOPARALLEL
    MONITORING;
    and I would switch USERS tablespace lob segment to the other...

    TNX

    ALTER table move partition lob () store as (tablespace )

    SQL> CREATE TABLE WISSEM.TEST_AAA2_ARH
    (
      ID           INTEGER,
      TEKST        VARCHAR2(200 CHAR),
      UPDATESTAMP  DATE,
      OBJEKAT      CLOB
    )
    LOB (OBJEKAT) STORE AS (
      TABLESPACE EXAMPLE
      ENABLE       STORAGE IN ROW
      CHUNK       8192
      RETENTION
      NOCACHE
      LOGGING)
    TABLESPACE EXAMPLE
    LOGGING
    PARTITION BY RANGE (UPDATESTAMP)
    (
      PARTITION P_201012 VALUES LESS THAN (TO_DATE(' 2011-01-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
        LOGGING
        NOCOMPRESS
        TABLESPACE EXAMPLE
        LOB (OBJEKAT) STORE AS (
          TABLESPACE USERS
          ENABLE       STORAGE IN ROW
          CHUNK       8192
          PCTVERSION  10
          NOCACHE
          LOGGING),
      PARTITION P_201101 VALUES LESS THAN (TO_DATE(' 2011-02-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
        LOGGING
        NOCOMPRESS
        TABLESPACE EXAMPLE
        LOB (OBJEKAT) STORE AS (
          TABLESPACE USERS
          ENABLE       STORAGE IN ROW
          CHUNK       8192
          PCTVERSION  10
          NOCACHE
          LOGGING),
      PARTITION P_MAXVALUE VALUES LESS THAN (MAXVALUE)
        LOGGING
        NOCOMPRESS
        TABLESPACE EXAMPLE
        LOB (OBJEKAT) STORE AS (
          TABLESPACE EXAMPLE
          ENABLE       STORAGE IN ROW
          CHUNK       8192
          PCTVERSION  10
          NOCACHE
          LOGGING)
    )
    NOCOMPRESS
    NOCACHE
    NOPARALLEL
    MONITORING;
      2    3    4    5    6    7    8    9   10   11   12   13   14   15   16   17   18   19   20   21   22   23   24   25   26   27   28   29   30   31   32   33   34   35   36   37   38   39   40   41   42   43   44   45   46   47   48   49   50   51   52   53   54   55   56
    Table created.
    
    SQL> ALTER TABLE WISSEM.TEST_AAA2_ARH MOVE LOB (OBJEKAT) STORE AS (TABLESPACE USERS);
    ALTER TABLE WISSEM.TEST_AAA2_ARH MOVE LOB (OBJEKAT) STORE AS (TABLESPACE USERS)
                       *
    ERROR at line 1:
    ORA-14511: cannot perform operation on a partitioned object
    
    SQL> ALTER TABLE WISSEM.TEST_AAA2_ARH MOVE PARTITION P_201101 LOB (OBJEKAT) STORE AS (TABLESPACE USERS);
    
    Table altered.
    
    SQL> 
    

    Published by: orawiss on May 5, 2011 14:03

  • in what version of oracle alter table move tablespace introduce

    Hello

    Can you please provide me with information to present including oracle realease oracle alter table move tablespace nom_tablespace; ...

    Thank you

    Actully had this... that first of all we create a table using DEC and then delete the old table and then re-create the table with the original name, this way we'll finally have table > with the same name and data.

    But he has disadvantanges that
    (1) there is no index, we recreate.
    (2) no constraint, we need to redefine tht.

    Please confirm to me... I am right or wrong here...

    Thanks a lot for your answers anantha all the... It's my last request... Please respond

    To avoid TELL-benefits mentioned above,

    -Export the table or the diagram.
    (create two discharges of export.
    1. with the owner or table with index = n lines = n - This will export all the objects without indexes, and lines. In other words, the metadata will be exported with regard to a table or schema.
    2. with the owner, or a table with index = lines y = y - this will export all the objects from a table or schema.

    -Remove the table
    -Recreate the Table (using export generated from option 1 above)
    -Import the data without indexes and constraints are imported. (use of export generated from option 2 mentioned above. use ignore = y,)
    constraints and indexes = n = n here.)
    -Import(re-Create) indexes and enable constraints (using export produced option 2 rows = n ignore = y)

    See the Oracle 7 here documentation

    -André

  • Can software update on iphone cause problems when my computer can only move to Mountain Lion?

    Can software update on iphone cause problems when my computer can only move to Mountain Lion?

    When my computer can only be upgraded to Mountain Lion?

    Any Mac that can run Mountain Lion can run El Capitan, as long as the conditions are identical.

    Too little information: you must identify the model of your iPhone and explain exactly your problems. There is no way that anyone would be able to help otherwise.

  • Problem: Build a VI to display a string in the table of the lights. Each letter must be posted in a separate table and letters must move from one table to the other in the direction from left to right.

    Hi all

    Problem: Build a VI to display a string in the table of the lights. Each letter must be posted in a separate table and letters must move from one table to the other in the direction from left to right.

    I did program mentioned above but it does not work. Can you tell me what is the problem?

    There is no error is indicated in the program. If someone knows about it please try to find solutions and help me out of this problem.

    I have attached my program with this message.

    Thank you in advance!

    (1) FOR loops are your friend here.  You can make a slight restructuring using loops, and then you will have less mess to deal with, the inner loop through tunnels of autoindexing to make it even simpler.

    (2) I would only treat the numeric values of the characters.  So go terminal of control of the chain, the capital letters and byte array to before the outer loop.  You can use a size of Board over there to tell how many times the outer loop to iterate.

    (3) the Index table is extensible.  So you only need over the index of the first, and it will increment itself, as it develops.

    (4) you need to finish the lookup table (table 3D)

  • ALTER table move online in an encrypted tablespace

    Hello

    Our DBA want to put all our data in encrypted storage.

    Once they create encrypted tablespaces, we will have to do «alter table move online...» "orders for encrypted storage space around the tables.

    Has anyone here done already?   Keeps the table moved really 'on-line' (available at query/insert/update) during the move?  Or will we have to wait some time stop/downtime while the tables are moved?
    What about the tables with long or CRAFT?

    Thank you!

    KSandberg and to add to the recall of John that only ITO tables can be moved online, if the table needs to be moved offline the indexes would be invalid until rebuilt.  If the table is an IOT I suggest you rebuild the index online after the move because even if the indexes are always used the logical ROWID is more pointing to the correct location and access of the index will be less effective that will you rebuild the index.

    - -

    The dbms_redefinition package could be an alternative solution if you need to move the tables no - ITO online.

    - -

    HTH - Mark D Powell.

  • ALTER table table_name move tablespace

    Hello

    IM using oracle 11.1.0.7.0 on aix 5.3, most of the users in my database is assigned to the SYSTEM tablespace, and their objects are also created in the SYSTEM tablespace.

    IM planning to run Alter table table_name move tablespace nom_tablespace;

    y at - it no need to run index rebuilding or the above command will automatically index rebulid.

    Thank you
    SQL> alter table table_name move tablespace users;
    Table altered.
    
    SQL> alter index index_name rebuild tablespace users;
    Index altered.
    
    SQL> select status from user_objects where object_name = 'INDEX_NAME';
    STATUS
    -------
    VALID
    

    Source: -.
    http://www.orafaq.com/Forum/t/21672/2/

  • ALTER table move & shrink space

    Hello
    What is the difference between alter table move and alter table shrink space orders
    Two free blocks not used in the table so that the free space will be given to the tablespace. Can you explain mw in detail or provide some links

    Sekar_BLUE4EVER wrote:
    Hello
    What is the difference between alter table move and alter table shrink space orders
    Two free blocks not used in the table so that the free space will be given to the tablespace. Can you explain mw in detail or provide some links

    ALTER table move would make invalid indexes and would require so rebuild you the index. In addition to him, it requires extra space in the tablespace, even that would be used for the creation of the object in double. So if you have a table of 10 GB, you need additional 10 GB free todo table alter move. Whereas in the narrowing is a place, the online operation, does not make you go and rebuild the index because it doesn't make them not disabled, requires no additional space to have.

    HTH
    Aman...

  • ALTER table move partition in parallel

    Hello

    I wish that this command must be run in parallel. is this possible?

    ALTER TABLE xyz PARTITION MOVE xyz_p0608 TABLESPACE q208_ts

    Thank you
    parallel_clause
    
    Purpose
    
    The parallel_clause lets you parallelize the creation of a database object and set the default degree of parallelism for subsequent queries of and DML operations on the object.
    
    You can specify the parallel_clause in the following statements:
    
        * CREATE TABLE: to set parallelism for the table (see CREATE TABLE).
        * ALTER TABLE (see ALTER TABLE):
              o To change parallelism for the table
              o To parallelize the operations of adding, coalescing, exchanging, merging, splitting, truncating, dropping, or moving a table partition
    

    To parallelize append operations, coalescence, Exchange, merger, splitting, truncate, delete or move a partition table

  • foreign key ALTER TABLE QUERY PROBLEM

    HAI ALL,

    ANY SUGGESTION PLEASE?

    UNDER: foreign key ALTER TABLE QUERY PROBLEM

    I want TO CREATE AND ALTER TABLE foreign key:

    1.TABLE:HAEMATOLOGY1
    COLUMN: HMTLY_PATIENT_NUM
    WITH
    TABLE: PATIENTS_MASTER1
    COLUMN: PATIENT_NUM (THIS IS THE KEY PRIMARY AND UNIQUE)

    1.TABLE:HAEMATOLOGY1
    COLUMN: HMTLY_TEST_NAME
    WITH
    TABLE: TESTS_MASTER1
    COLUMN: TEST_NAME ((C'EST LA CLÉ UNIQUE))
    ---------------


    SQL + QUERY DATA:
    -----------
    ALTER TABLE HAEMATOLOGY1
    Key constraint SYS_C002742_1 foreign (HMTLY_PATIENT_NUM)
    references PATIENTS_MASTER1 (PATIENT_NUM);

    ERROR on line 2:
    ORA-01735: invalid option of ALTER TABLE

    NOTE: THE NAME OF THE CONSTRAINTS: SYS_C002742_1 TAKEN FROM ORACLE ENTP TABLE DETAILS. MGR.
    ---------
    ALTER TABLE HAEMATOLOGY1
    Key constraint SYS_C002735_1 foreign (HMTLY_TEST_NAME)
    references TESTS_MASTER1 (TEST_NAME);

    ERROR on line 2:
    ORA-01735: invalid option of ALTER TABLE

    NOTE: THE NAME OF THE CONSTRAINTS: SYS_C002735_1 TAKEN FROM ORACLE ENTP TABLE DETAILS. MGR.

    ==============

    4 TABLES OF LABORATORY CLINIC FOR DATA ENTRY AND GET REPORT ONLY FOR THE TESTS CARRIED OUT FOR PARTICULAR

    PATIENT.

    TABLE1:PATIENTS_MASTER1
    COLUMNS: PATIENT_NUM, PATIENT_NAME,

    VALUES:
    PATIENT_NUM
    1
    2
    3
    4
    PATIENT_NAME
    BENAMER
    GIROT
    KKKK
    PPPP
    ---------------
    TABLE2:TESTS_MASTER1
    COLUMNS: TEST_NUM, TEST_NAME

    VALUES:
    TEST_NUM
    1
    2
    TEST_NAME
    HEMATOLOGY
    DIFFERENTIAL LEUKOCYTE COUNT
    -------------

    TABLE3:HAEMATOLOGY1
    COLUMNS:
    HMTLY_NUM, HMTLY_PATIENT_NUM, HMTLY_TEST_NAME, HMTLY_RBC_VALUE, HMTLY_RBC_NORMAL_VALUE

    VALUES:
    HMTLY_NUM
    1
    2
    HMTLY_PATIENT_NUM
    1
    3
    MTLY_TEST_NAME
    HEMATOLOGY
    HEMATOLOGY
    HMTLY_RBC_VALUE
    5
    4
    HMTLY_RBC_NORMAL_VALUE
    4.6 - 6.0
    4.6 - 6.0
    ------------

    TABLE4:DIFFERENTIAL_LEUCOCYTE_COUNT1
    COLUMNS: DLC_NUM, DLC_PATIENT_NUM, DLC_TEST_NAME, DLC_POLYMORPHS_VALUE, DLC_POLYMORPHS_

    NORMAL_VALUE,

    VALUES:
    DLC_NUM
    1
    2
    DLC_PATIENT_NUM
    2
    3
    DLC_TEST_NAME
    DIFFERENTIAL LEUKOCYTE COUNT
    DIFFERENTIAL LEUKOCYTE COUNT
    DLC_POLYMORPHS_VALUE
    42
    60
    DLC_POLYMORPHS_NORMAL_VALUE
    40-65
    40-65
    -----------------


    Thank you
    RCS
    E-mail:[email protected]
    --------

    ALTER TABLE HAEMATOLOGY1
    ADD Key constraint SYS_C002742_1 foreign (HMTLY_PATIENT_NUM)
    references PATIENTS_MASTER1 (PATIENT_NUM);

  • enable intel XD, it will cause problems?

    I have ESXI4.1 hosts, hostsvc/hosthardware-vim - cmd command shows that xD is disabled. I want to activate XD, so that I can use EVC on the cluster. I'm having a failure on the site shut down all virtual machines, reboot the host and activate XD in the BIOS. Activating XD on host & VMs already build will cause problems. The guests are windows 2003 and 2008 R2.

    No it shouldn't cause any problems-

  • Drag N Drop table lines do not move a table to another Table

    Hello

    I use 11.1.7 to develop the drag N drop rows in one table to another

    1. I create a table in the schema hr as a student (sName, brands, sId, grade) & inserting values.

    2. I create EO & three your based on Student table... only three your from wise rank as (GroupAVO, GroupBVO, GroupCVO)

    3. I create page & panelgridLayout (3 columns, 1 row), I drop these three instances of VO tabular...

    4 drag the component Source and Drop target in these 3 tables...

    Run the page... page contains perfectly with the wise group of 3 tables...

    but when I drag a line a table to another table, lines do not move...

    I check my DB too... changes there too...

    No error and exceptions in my journal...

    What is the problem? Can someone help me?

    See also - Ashish Awasthi (Jdev/ADF) Blog: adding Drag and Drop functionality for collections in the fragments of the page to create insert

    Thank you

  • Primary key cause problem in the meantime Partition Exchange

    DB: 11.2.0.2
    OPERATING SYSTEM: AIX 6.1

    I get the problem when exchanging data with range partitioned table. I have a partitioned table of interval and a regular intermediate table with data to be uploaded.
    Here are the steps that I did.
    SQL> CREATE TABLE DEMO_INTERVAL_DATA_LOAD (
                    ROLL_NUM        NUMBER(10),
                    CLASS_ID        NUMBER(2),
                    ADMISSION_DATE  DATE,
                    TOTAL_FEE       NUMBER(4),
                    COURSE_ID       NUMBER(4))
                    PARTITION BY RANGE (ADMISSION_DATE)
                    INTERVAL (NUMTOYMINTERVAL(3,'MONTH'))
                    ( PARTITION QUAT_1_2012 VALUES LESS THAN (TO_DATE('01-APR-2012','DD-MON-YYYY')),
                     PARTITION QUAT_2_2012 VALUES LESS THAN (TO_DATE('01-JUL-2012','DD-MON-YYYY')),
                     PARTITION QUAT_3_2012 VALUES LESS THAN (TO_DATE('01-OCT-2012','DD-MON-YYYY')),
                     PARTITION QUAT_4_2012 VALUES LESS THAN (TO_DATE('01-JAN-2013','DD-MON-YYYY')));
    
    Table created.
    
    SQL> ALTER TABLE DEMO_INTERVAL_DATA_LOAD ADD CONSTRAINT IDX_DEMO_ROLL PRIMARY KEY (ROLL_NUM);
    
    Table altered.
    
    SQL> SELECT TABLE_OWNER,
               TABLE_NAME,
               COMPOSITE,
               PARTITION_NAME,
           PARTITION_POSITION,
              TABLESPACE_NAME,
           LAST_ANALYZED
    FROM DBA_TAB_PARTITIONS
        WHERE TABLE_OWNER='SCOTT'
       AND TABLE_NAME='DEMO_INTERVAL_DATA_LOAD'
       ORDER BY PARTITION_POSITION;
    
    TABLE_OWNER                    TABLE_NAME                     COM PARTITION_NAME                 PARTITION_POSITION TABLESPACE_NAME                LAST_ANAL
    ------------------------------ ------------------------------ --- ------------------------------ ------------------ ------------------------------ ---------
    SCOTT                          DEMO_INTERVAL_DATA_LOAD        NO  QUAT_1_2012                                     1 USERS
    SCOTT                          DEMO_INTERVAL_DATA_LOAD        NO  QUAT_2_2012                                     2 USERS
    SCOTT                          DEMO_INTERVAL_DATA_LOAD        NO  QUAT_3_2012                                     3 USERS
    SCOTT                          DEMO_INTERVAL_DATA_LOAD        NO  QUAT_4_2012                                     4 USERS
    
    SQL> INSERT INTO DEMO_INTERVAL_DATA_LOAD VALUES (10,1,'12-MAR-2012',1000,90);
    
    1 row created.
    
    SQL> INSERT INTO DEMO_INTERVAL_DATA_LOAD VALUES (11,5,'01-JUN-2012',5000,80);
    
    1 row created.
    
    SQL> INSERT INTO DEMO_INTERVAL_DATA_LOAD VALUES (12,9,'12-SEP-2012',4000,20);
    
    1 row created.
    
    SQL> INSERT INTO DEMO_INTERVAL_DATA_LOAD VALUES (13,7,'29-DEC-2012',7000,10);
    
    1 row created.
    
    SQL> INSERT INTO DEMO_INTERVAL_DATA_LOAD VALUES (14,8,'21-JAN-2013',2000,50); ---- This row will create a new interval partition in table.
    
    1 row created.
    
    SQL> commit;
    
    SQL> SELECT TABLE_OWNER,
            TABLE_NAME,
            COMPOSITE,
            PARTITION_NAME,
            PARTITION_POSITION,
            TABLESPACE_NAME,
            LAST_ANALYZED
      FROM DBA_TAB_PARTITIONS
         WHERE TABLE_OWNER='SCOTT'
       AND TABLE_NAME='DEMO_INTERVAL_DATA_LOAD'
       ORDER BY PARTITION_POSITION;
    
    TABLE_OWNER                    TABLE_NAME                     COM PARTITION_NAME                 PARTITION_POSITION TABLESPACE_NAME                LAST_ANAL
    ------------------------------ ------------------------------ --- ------------------------------ ------------------ ------------------------------ ---------
    SCOTT                          DEMO_INTERVAL_DATA_LOAD        NO  QUAT_1_2012                                     1 USERS
    SCOTT                          DEMO_INTERVAL_DATA_LOAD        NO  QUAT_2_2012                                     2 USERS
    SCOTT                          DEMO_INTERVAL_DATA_LOAD        NO  QUAT_3_2012                                     3 USERS
    SCOTT                          DEMO_INTERVAL_DATA_LOAD        NO  QUAT_4_2012                                     4 USERS
    SCOTT                          DEMO_INTERVAL_DATA_LOAD        NO  SYS_P98                                         5 USERS   
    
    SYS_P98 partition is added to table automatically.
    
    SQL> CREATE TABLE DEMO_INTERVAL_DATA_LOAD_Y (
                    ROLL_NUM        NUMBER(10),
                    CLASS_ID        NUMBER(2),
                    ADMISSION_DATE  DATE,
                    TOTAL_FEE       NUMBER(4),
                    COURSE_ID       NUMBER(4)); 
    
    Table created.
    
    SQL> INSERT INTO DEMO_INTERVAL_DATA_LOAD_Y VALUES (30,3,'21-MAY-2013',2000,12);
    
    1 row created.
    
    SQL> commit;
    
    Commit complete.
    
    
    Since, i need a partition in DEMO_INTERVAL_DATA_LOAD table, which can be used in partition exchange, so i create a new partition as below:
    
    
    SQL> LOCK TABLE DEMO_INTERVAL_DATA_LOAD PARTITION FOR (TO_DATE('01-APR-2013','DD-MON-YYYY')) IN SHARE MODE;
    
    Table(s) Locked.
    
    SQL> SELECT TABLE_OWNER,
               TABLE_NAME,
               COMPOSITE,
               PARTITION_NAME,
               PARTITION_POSITION,
               TABLESPACE_NAME,
               LAST_ANALYZED
    FROM DBA_TAB_PARTITIONS
        WHERE TABLE_OWNER='SCOTT'
       AND TABLE_NAME='DEMO_INTERVAL_DATA_LOAD'
       ORDER BY PARTITION_POSITION;
    
    TABLE_OWNER                    TABLE_NAME                     COM PARTITION_NAME                 PARTITION_POSITION TABLESPACE_NAME                LAST_ANAL
    ------------------------------ ------------------------------ --- ------------------------------ ------------------ ------------------------------ ---------
    SCOTT                          DEMO_INTERVAL_DATA_LOAD        NO  QUAT_1_2012                                     1 USERS
    SCOTT                          DEMO_INTERVAL_DATA_LOAD        NO  QUAT_2_2012                                     2 USERS
    SCOTT                          DEMO_INTERVAL_DATA_LOAD        NO  QUAT_3_2012                                     3 USERS
    SCOTT                          DEMO_INTERVAL_DATA_LOAD        NO  QUAT_4_2012                                     4 USERS
    SCOTT                          DEMO_INTERVAL_DATA_LOAD        NO  SYS_P98                                         5 USERS
    SCOTT                          DEMO_INTERVAL_DATA_LOAD        NO  SYS_P102                                        6 USERS
    
    SQL> ALTER TABLE DEMO_INTERVAL_DATA_LOAD
    EXCHANGE PARTITION SYS_P102
    WITH TABLE DEMO_INTERVAL_DATA_LOAD_Y
    INCLUDING INDEXES
    WITH VALIDATION;
    ALTER TABLE DEMO_INTERVAL_DATA_LOAD
    *
    ERROR at line 1:
    ORA-14097: column type or size mismatch in ALTER TABLE EXCHANGE PARTITION
    Now, if I turn off and drop the primary key constraint, it works without any problem.
    SQL> alter table DEMO_INTERVAL_DATA_LOAD disable constraint IDX_DEMO_ROLL;
    
    Table altered.
    
    SQL> alter table DEMO_INTERVAL_DATA_LOAD drop constraint IDX_DEMO_ROLL;
    
    Table altered.
    
    SQL> ALTER TABLE DEMO_INTERVAL_DATA_LOAD
    EXCHANGE PARTITION SYS_P102
    WITH TABLE DEMO_INTERVAL_DATA_LOAD_Y
    INCLUDING INDEXES
    WITH VALIDATION; 
    
    Table altered.
    
    SQL> select * from DEMO_INTERVAL_DATA_LOAD partition (SYS_P102);
    
      ROLL_NUM   CLASS_ID ADMISSION  TOTAL_FEE  COURSE_ID
    ---------- ---------- --------- ---------- ----------
            30          3 21-MAY-13       2000         12
    
    SQL> select * from DEMO_INTERVAL_DATA_LOAD_Y;
    
    no rows selected
    Please suggest.

    First of all, thanks for posting the code that allows us to reproduce your test. It is essential for such problems.

    Because the primary key is global you will not be able to use

    INCLUDING INDEXES
    WITH VALIDATION;
    

    And you need to add the primary key to the temporary table

     ALTER TABLE DEMO_INTERVAL_DATA_LOAD_Y ADD CONSTRAINT IDX_DEMO_ROLL_Y PRIMARY KEY (ROLL_NUM);
    

    The Exchange will work. You must rebuild the primary key after the Exchange.

Maybe you are looking for