ORA - 14642 : partition exchange error

  • From: Senthil Ramanujam <sramanujam@xxxxxxxxxxx>
  • To: oracle-l@xxxxxxxxxxxxx
  • Date: Mon, 01 Mar 2004 11:45:48 -0500

Hi All,

I came across an interesting issue and thought i could get some info from the list. i did google around and metalinked, but no luck.

Environment: 9.2.0.1 - Solaris 8 / HP-11i

Actually, i was getting ORA-14642 when i was trying to exchange partition on one of my core tables. The example given below is how i can reproduce with simple example table. it shows me that if the table row length exceeds 8 characters, then it throws an error. If i reduce the column(mytext) length from 5 to 4 or anything less than 5, then everything runs fine.

I know it doesnt makes sense to create table and then alter the same. it was the old script and we were able to fix this issue by creating the right column and constraints(i mean, no "alter" command run).

I was just curious to know why it was failing and it seems like it was failing based on row length in this case. Originally it was failing on my hp(11i?) box and i tried the same on Solaris(8) and it failed there too.

any thoughts? has anyone seen this before? am i running into any known issues?

appreciate it. thanks.

senthil


SQL> select * from v$version;


BANNER
----------------------------------------------------------------
Oracle9i Enterprise Edition Release 9.2.0.1.0 - 64bit Production
PL/SQL Release 9.2.0.1.0 - Production
CORE    9.2.0.1.0       Production
TNS for Solaris: Version 9.2.0.1.0 - Production
NLSRTL Version 9.2.0.1.0 - Production

SQL> show release
release 902000100
SQL>

SQL> drop table pt;

Table dropped.

SQL> create table pt (
 2     no       number(2) not null,
 3     mytext1  char(5) not null,
 4     no1      number(2)
 5  ) partition by range(no) (
 6     partition pt1 values less than (1)
 7  );

Table created.

SQL> create bitmap index ptidx1 on pt(no) local;

Index created.

SQL> alter table pt drop column no1;

Table altered.

SQL> alter table pt add (no1 number(2) default 0 not null);

Table altered.

SQL> create bitmap index ptidx2 on pt(no1) local;

Index created.

SQL> drop table pt1;

Table dropped.

SQL> create table pt1 as select * from pt where 1=0;

Table created.

SQL> create bitmap index pt1idx1 on pt1(no);

Index created.

SQL> create bitmap index pt1idx2 on pt1(no1);

Index created.

SQL> alter table pt add partition pt2 values less than (2);

Table altered.

SQL> alter table pt exchange partition pt2 with table pt1 including indexes without validation;
alter table pt exchange partition pt2 with table pt1 including indexes without validation
*
ERROR at line 1:
ORA-14642: Bitmap index mismatch for tables in ALTER TABLE EXCHANGE PARTITION


----------------------------------------------------------------
Please see the official ORACLE-L FAQ: http://www.orafaq.com
----------------------------------------------------------------
To unsubscribe send email to:  oracle-l-request@xxxxxxxxxxxxx
put 'unsubscribe' in the subject line.
--
Archives are at //www.freelists.org/archives/oracle-l/
FAQ is at //www.freelists.org/help/fom-serve/cache/1.html
-----------------------------------------------------------------

Other related posts: