Solved

What to do with rowid after importing a DB dump?

Posted on 2004-09-22
4
1,479 Views
Last Modified: 2008-03-06

I built a testing DB box and got a dump file from the production DB.  The import went well with no issues at all.  I looked the log and saw the following message after a few tables:

Note: table contains ROWID column, values may be obsolete      xxxxx rows imported

Will this cause any issues and how to fix this?  Thanks.  
0
Comment
Question by:bxy11
  • 2
4 Comments
 
LVL 2

Expert Comment

by:LeeMiller
ID: 12123655
This is the answer Oracle gives for this situation.....
Problem Description:  

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

When importing a table from version 7 into version 8, the following message

appears in the log file:

Table contains ROWID column; Values may be obsolete.

The table has a column defined as a ROWID datatype.

Solution Description:

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

Drop the table and recreate it or convert ROWID.

If the table data is not needed, the best practice is to describe the table

and recreate it in 8.0 from the description and begin logging the ROWIDs anew

in 8.0.

If the data from this table is needed, the user will need to convert the ROWIDs

to the Oracle8 extended format in order for the data to be valid (See document

reference below).

Explanation:

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

When this column is moved into Oracle 8 with its new ROWID definition there is

a conflict between the restricted (Version 7) and the extended (Version 8)

ROWID datatypes.
0
 
LVL 35

Expert Comment

by:Mark Geerlings
ID: 12124952
Anytime an import is done, whether from one Oracle version to another, or if the versions are the same, or even if the import and export are done on the same machine and the tables were deleted in between, this will happen if any of your tables has a ROWID column.  Yes, the ROWID values in that/those column(s) will be obsolete (innacurate, not valid, etc.) following an import.

Will this cause any issues?
That depends on your application.  Does it try to use these stored ROWID values to retrieve records?  If yes, you will either get errors (like: invalid rowid) or the records returned will not be the correct ones.
0
 

Author Comment

by:bxy11
ID: 12125212
I checked the several tables with the note message but do not see any ROWID column in there.  
0
 
LVL 35

Accepted Solution

by:
Mark Geerlings earned 80 total points
ID: 12129633
It is possible that the column(s) have a name other than ROWID.  You need to check the datatype.  Here is a query that can find them:
select owner, table_name, column_name from all_tab_columns
where data_type = 'ROWID';
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Why doesn't the Oracle optimizer use my index? Querying too much data Most Oracle developers know that an index is useful when you can use it to restrict your result set to a small number of the total rows in a table. So, the obvious side…
Checking the Alert Log in AWS RDS Oracle can be a pain through their user interface.  I made a script to download the Alert Log, look for errors, and email me the trace files.  In this article I'll describe what I did and share my script.
This video shows how to recover a database from a user managed backup
Via a live example, show how to restore a database from backup after a simulated disk failure using RMAN.

867 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

23 Experts available now in Live!

Get 1:1 Help Now