Home » Server Options » Data Guard » Datafile Fractured (oracle 9i windows)
Datafile Fractured [message #622298] |
Mon, 25 August 2014 00:44  |
muktha_22
Messages: 527 Registered: December 2009
|
Senior Member |
|
|
Hi All,
I am in trouble, kindly help me out.
One of my DB's 2 Datafile are fractured (one Table and 2 Indexes).
Having no backups, and the DB version is 9i.
But having a standby DB.
Kindly help me out.
Is is possible that opening the Standby DB in read only mode then convert them as standby DB without recreating the standby DB?
Thanks
Muktha
|
|
|
|
|
|
|
|
|
Re: Datafile Fractured [message #622406 is a reply to message #622405] |
Tue, 26 August 2014 03:01   |
John Watson
Messages: 8968 Registered: January 2010 Location: Global Village
|
Senior Member |
|
|
This is like trying to get blood out of a stone! This "fractured". How did you diagnose it? For example, did you run a query? Or did you use the dbv utility??
"Not allowing" is not an Oracle error message. What did you do? What was the result?
--update: typos.
[Updated on: Tue, 26 August 2014 03:05] Report message to a moderator
|
|
|
Re: Datafile Fractured [message #622424 is a reply to message #622406] |
Tue, 26 August 2014 05:14   |
muktha_22
Messages: 527 Registered: December 2009
|
Senior Member |
|
|
Hi John,
I used the query "v$database_block_corruption" to find out the Datablock corruption.
And used the below query for finding object level corruption.
SELECT e.owner, e.segment_type, e.segment_name, e.partition_name, c.file#
, greatest(e.block_id, c.block#) corr_start_block#
, least(e.block_id+e.blocks-1, c.block#+c.blocks-1) corr_end_block#
, least(e.block_id+e.blocks-1, c.block#+c.blocks-1)
- greatest(e.block_id, c.block#) + 1 blocks_corrupted
, null description
FROM dba_extents e, v$database_block_corruption c
WHERE e.file_id = c.file#
AND e.block_id <= c.block# + c.blocks - 1
AND e.block_id + e.blocks - 1 >= c.block#
UNION
SELECT s.owner, s.segment_type, s.segment_name, s.partition_name, c.file#
, header_block corr_start_block#
, header_block corr_end_block#
, 1 blocks_corrupted
, 'Segment Header' description
FROM dba_segments s, v$database_block_corruption c
WHERE s.header_file = c.file#
AND s.header_block between c.block# and c.block# + c.blocks - 1
UNION
SELECT null owner, null segment_type, null segment_name, null partition_name, c.file#
, greatest(f.block_id, c.block#) corr_start_block#
, least(f.block_id+f.blocks-1, c.block#+c.blocks-1) corr_end_block#
, least(f.block_id+f.blocks-1, c.block#+c.blocks-1)
- greatest(f.block_id, c.block#) + 1 blocks_corrupted
, 'Free Block' description
FROM dba_free_space f, v$database_block_corruption c
WHERE f.file_id = c.file#
AND f.block_id <= c.block# + c.blocks - 1
AND f.block_id + f.blocks - 1 >= c.block#
order by file#, corr_start_block#;
Not Allowing:
Which means, it clearly showing the error of datablock and its number, hence I couldn't.
Thanks and Regards
Muktha
|
|
|
|
|
|
Re: Datafile Fractured [message #622869 is a reply to message #622461] |
Mon, 01 September 2014 02:35  |
muktha_22
Messages: 527 Registered: December 2009
|
Senior Member |
|
|
Hi All,
Sorry again.
1) The problem is solved by, taking a full cold backup of the standby DB and open that in read write mode.
2) Importing them into the primary DB (After dropping the corrupted objects).
3) Then replace the cold backup of the standby db and open for normal log replication.
We dont have any test environment, so I cant re execute those steps to show off.
Anyway thanks a lot for support.
Muktha
|
|
|
Goto Forum:
Current Time: Wed Mar 12 02:52:53 CDT 2025
|