Hi,
We have a base table (CARDS_TAB) with 1,083,565,232 rows, and created a replica table called T_CARDS_NEW_201111. But the count in new table is 1,083,566,976 the difference is 1744 additional row. I have no idea how the new table can contain more rows compared to original table!!
Oracle version is 11.2.0.2.0.
Both table count were taken after table creation. Script that was used to create replica table is:
CREATE TABLE T_CARDS_NEW_201111
TABLESPACE T_DATA_XLARGE07
PARTITION BY RANGE (CPS01_DATE_GENERATED)
SUBPARTITION BY LIST (CPS01_CURRENT_STATUS)
SUBPARTITION TEMPLATE
(SUBPARTITION T_NULL VALUES (NULL),
SUBPARTITION T_0 VALUES (0),
SUBPARTITION T_1 VALUES (1),
SUBPARTITION T_3 VALUES (3),
SUBPARTITION T_OTHERS VALUES (DEFAULT)
)
(
PARTITION T_200612 VALUES LESS THAN (TO_DATE(' 2007-01-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
TABLESPACE T_DATA_XLARGE07
( SUBPARTITION T_200612_T_NULL VALUES (NULL) TABLESPACE T_DATA_XLARGE07,
SUBPARTITION T_200612_T_0 VALUES (0) TABLESPACE T_DATA_XLARGE07,
SUBPARTITION T_200612_T_1 VALUES (1) TABLESPACE T_DATA_XLARGE07,
SUBPARTITION T_200612_T_3 VALUES (3) TABLESPACE T_DATA_XLARGE07,
SUBPARTITION T_200612_T_OTHERS VALUES (DEFAULT) TABLESPACE T_DATA_XLARGE07 ),
PARTITION T_200701 VALUES LESS THAN (TO_DATE(' 2007-02-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
TABLESPACE T_DATA_XLARGE07
( SUBPARTITION T_200701_T_NULL VALUES (NULL) TABLESPACE T_DATA_XLARGE07,
SUBPARTITION T_200701_T_0 VALUES (0) TABLESPACE T_DATA_XLARGE07,
SUBPARTITION T_200701_T_1 VALUES (1) TABLESPACE T_DATA_XLARGE07,
SUBPARTITION T_200701_T_3 VALUES (3) TABLESPACE T_DATA_XLARGE07,
SUBPARTITION T_200701_T_OTHERS VALUES (DEFAULT) TABLESPACE T_DATA_XLARGE07 )
.
.
.
.
.
PARTITION T_201211 VALUES LESS THAN (TO_DATE(' 2012-12-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
TABLESPACE T_DATA_XLARGE07
( SUBPARTITION T_201211_T_NULL VALUES (NULL) TABLESPACE T_DATA_XLARGE07,
SUBPARTITION T_201211_T_0 VALUES (0) TABLESPACE T_DATA_XLARGE07,
SUBPARTITION T_201211_T_1 VALUES (1) TABLESPACE T_DATA_XLARGE07,
SUBPARTITION T_201211_T_3 VALUES (3) TABLESPACE T_DATA_XLARGE07,
SUBPARTITION T_201211_T_OTHERS VALUES (DEFAULT) TABLESPACE T_DATA_XLARGE07 ),
PARTITION T_201212 VALUES LESS THAN (TO_DATE(' 2013-01-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
TABLESPACE T_DATA_XLARGE07
( SUBPARTITION T_201212_T_NULL VALUES (NULL) TABLESPACE T_DATA_XLARGE07,
SUBPARTITION T_201212_T_0 VALUES (0) TABLESPACE T_DATA_XLARGE07,
SUBPARTITION T_201212_T_1 VALUES (1) TABLESPACE T_DATA_XLARGE07,
SUBPARTITION T_201212_T_3 VALUES (3) TABLESPACE T_DATA_XLARGE07,
SUBPARTITION T_201212_T_OTHERS VALUES (DEFAULT) TABLESPACE T_DATA_XLARGE07 )
)
NOCACHE
NOPARALLEL
MONITORING
ENABLE ROW MOVEMENT
AS
SELECT /*+ PARALLEL (T,40) */ SERIAL_NUMBER ,
PIN_NUMBER ,
CARD_TYPE ,
DENOMINATION ,
DATE_GENERATED ,
LOG_PHY_IND ,
CARD_ID ,
OUTLET_CODE ,
MSISDN ,
BATCH_NUMBER ,
DATE_SOLD ,
DIST_CHANNEL ,
DATE_CEASED ,
DATE_PRINTED ,
DATE_RECHARGE ,
LOGICAL_ORDER_NR ,
DATE_AVAILABLE ,
CURRENT_STATUS ,
ACCESS_CODE from CARDS_TAB T
/
Also base table CARDS_TAB has a primary key on SERIAL_NUMBER column. when trying to create a primary key on new table it throws exception:
ALTER TABLE T_CARDS_NEW_201111 ADD
CONSTRAINT T_PK2_1
PRIMARY KEY (SERIAL_NUMBER) USING INDEX
TABLESPACE T_INDEX_XLARGE07
PARALLEL 10 NOLOGGING;
CONSTRAINT TP_PK2_1
*
ERROR at line 2:
ORA-02437: cannot validate (T_PK2_1) - primary key violated
Thanks in advance.
With Regards,
Farooq Abdulla