Skip to Main Content
  • Questions
  • New Index Created by Database Import

Breadcrumb

Question and Answer

Chris Saxon

Thanks for the question, Neil.

Asked: September 30, 2015 - 10:41 am UTC

Last updated: October 07, 2015 - 2:39 am UTC

Version: 11.2.0.4

Viewed 1000+ times

You Asked

Hi, I am in the process of upgrading a system from Oracle 9i(9.2.0.8) to Oracle 11g(11.2.0.4) using the export/import method. This is specified as the preferred and supported method by the software supplier.

My problem is that after the import completes I've noticed that one of the schemas has gained an additional index. The table concerned has 2 columns
ROW_NO NUMBER(3)
DATA BLOB

In the 11g database, Oracle has made the column ROW_NO into a primary key column hence the new index but in the source 9i database this is not the case.

Having searched MOS and Google for the answer I've been unable to find out why this has happened but my hunch tells me that it's probably due to the column name being 'ROW_NO'. Is this a reserved name in 11g and does it have anything to do with Oracle Text?

Regards

Neil McAlister

and Connor said...

ROW_NO is not a reserved term in Oracle.

That is interesting, could you do the following for me in the 9i and 11g databases:

select * from dba_indexes where table_name = 'YOUR_TABLE';
select * from dba_constraints where table_name = 'YOUR_TABLE';

Also of interest would be to do:

imp indexfile=idx.sql

and have a peruse through idx.sql to see what objects were in the dmp file.

If you want to email any of this to me, send it to: asktom_us@oracle.com

Addenda:

Ah, now you have provided the name of the object, it becomes clear. The table is not an object *you* created, it is an object that *we* created (to support an Oracle Text index). The *structure* of the objects we create can change between versions.

For example, in (say) version 7, an Oracle Text index might create 3 tables to support the index. In 12c, it might create 6 tables.

In *both* cases, the import would have seen:

create index BLAH on MYTABLE ( ) indextype is ctx_syx.something

Hope this helps.

Rating

  (1 rating)

Is this answer out of date? If it is, please let us know via a Comment

Comments

DB Import Creates new Index

Neil Mcalister, October 06, 2015 - 2:00 pm UTC

Connor, many thanks for answering this. I suspected it may have been due to Oracle Text but I required some form of proof that will satisfy the auditors.

Regards

Neil
Chris Saxon
October 07, 2015 - 2:39 am UTC

Glad to be of help

More to Explore

CLOB/BLOB/etc

Complete documentation on Securefiles and Large Objects here