|
-
as Halo suggested contact Oracle support. As a temporary fix though you may want to try the following --
I believe that you found out about the corrupt data blocks by using DBV. It must have told you what blocks are corrupted.
Use dba_extents to find out what objects (table, index) are using those blocks.
You need to recreate those objects. For indexes it should be as simple as creating a new index; For tables you may try Export/import. In case of corrupt block, even Export may fail. In that case you may write a little pl/sql procedure to read one record at a time and insert it in a new temp table; Reading one record will give you error while reading the corrupt block (but will not terminate the procedure like Export may do); just skip that record.
Another thing to keep in mind is that if there is a corrupt block and you know about it, this may be the time to "Block" it from being used by any other new objects created in the database. You can do this by leaving those objects that contain the corrupt block intact; just rename them so that they sit there forever holding that corrupt block until you find a more permanent solution.
Of course it may not be as simple as I sounded (there may be constraints issues blocking you from renaming the tables)
- Rajeev
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|