 |
|
ORA-01410: invalid ROWID tips
Oracle Error Tips by Donald Burleson(S. Karam)
|
Question: I have a table which is partitioned ,whenever I pass a query I?m getting
ORA-01410: invalid
ROWID.
Answer:
The Oracle docs note this on the ora-01410
error:
-
ORA-01410
invalid ROWID
- Cause:
A ROWID was entered incorrectly. ROWIDs must be entered as formatted
hexadecimal strings using only numbers and the characters A through F. A
typical ROWID format is '000001F8.0001.0006'.
-
- Action:
Check the format, then enter the ROWID using the correct format. ROWID
format: block ID, row in block, file ID.
The ORA-01410 error can indicate logical data corruption, precipitating a
recovery with RMAN.
The format of the rowid is: block id, row in block, file id.
If you know the block id, you may be able to use a statement such as:
delete from <table> where rowid like '<block id>%'
Without a recovery of the corruption (ARCHIVELOG mode) or RMAN recovery,
Your ONLY Hope to recover from a ORA-01410 error is to use the BBED utility
to patch the corrupt blocks and it won't be a cheap or easy fix! It could
take days of hard work, depending on the extent of the corruption.
You will need an expert in the Oracle block internals so you will either
need to do this with the aid of Oracle technical support (800-223-1711) or a
3rd party expert like my team (800)-766-1884.
Check our links to
BBED, in case you understand Oracle block structures.
Oracle BBED (Basic Block
EDitor)