[4] 08/31 16:09:48 OnlineSwitch(100)
[4] 08/31 16:09:49 Online switch failed with error: ORA-14118
[4] 08/31 16:09:49 ORA-14118: CHECK constraint mismatch in ALTER TABLE EXCHANGE PARTITION
[4] 08/31 16:09:49 AbortScript()
[4] 08/31 16:09:49 AbortScript: Aborted QSA-20391 ORA-14118 during internal SQL (os errno 25)
The error ORA-014118 means that "the corresponding columns in the tables specified in the ALTER TABLE EXCHANGE PARTITION have different CHECK constraint". Using queries against the dba_constaints table, and sys.cdef$ etc table, it is confirmed that the copy table created by Space Manager has identifical CHECK constraint s which are defined as the original table.
WORKAROUND:
Abort the Online switch style against reorganizing this table. Instead, use the T-lock switch style to reorganize this table. T-lock switch style does not use the 'ALTER TABLE EXCHANGE PARTITION'.
To verify the CHECK CONSTRAINTS: select table_name, constraint_name, constraint_type, status, search_condition from dba_constraints where table_name in ('<ORIGINAL TABLENAME>', '<QUEST CREATED COPY TABLENAME>') order by table_name, constraint_name;
Run the following three queries against the original table and the quest created copy table to check for difference:
select * from sys.cdef$ where obj# in
(select object_id from dba_objects where owner = '<SCHEMA>'
and object_name = '<TABLENAME>'
and object_type = 'TABLE')
order by con# ;
select * from sys.con$ where con# in
(select con# from sys.cdef$ where obj# in
(select object_id from dba_objects where owner = '<SCHEMA>' and object_name = '<TABLENAME>'
and object_type = 'TABLE'))
order by con# ;
select * from sys.ccol$ where con# in
(select con# from sys.cdef$ where obj# in
(select object_id from dba_objects where owner = '<SCHEMA>'
and object_name = '<TABLENAME>'
and object_type = 'TABLE'))
order by con#, col# ;
© ALL RIGHTS RESERVED. Feedback Terms of Use Privacy Cookie Preference Center