Home » RDBMS Server » Server Administration » error while quering
error while quering [message #276099] Tue, 23 October 2007 23:52 Go to next message
sonalshastry
Messages: 52
Registered: September 2007
Member
Hi all

can someone tell me why this error come on excuting any query

error:
ORA-01578:ORACLE data block corrupted (file #79, block #54912)


please suggest sone solution too
my work is on hold because of this.
please help

Sonal
Re: error while quering [message #276100 is a reply to message #276099] Tue, 23 October 2007 23:59 Go to previous messageGo to next message
Serious Sam
Messages: 21
Registered: September 2007
Junior Member
Quote:


ORA-01578: ORACLE data block corrupted (file # string, block # string)
Cause: The data block indicated was corrupted, mostly due to software errors.
Action: Try to restore the segment containing the block indicated. This may involve dropping the segment and recreating it. If there is a trace file, report the errors in it to your ORACLE representative.

[Updated on: Wed, 24 October 2007 00:59] by Moderator

Report message to a moderator

Re: error while quering [message #276125 is a reply to message #276099] Wed, 24 October 2007 01:26 Go to previous messageGo to next message
Arju
Messages: 1554
Registered: June 2007
Location: Dhaka,Bangladesh. Mobile:...
Senior Member

First try to fix by dbms_repair.
If you fail, then
It may be caused by bad hardware device. Suppose your had disk has bad sector.
Then make the specified block unused saying oracle not to use that.
Re: error while quering [message #276128 is a reply to message #276125] Wed, 24 October 2007 01:32 Go to previous messageGo to next message
Michel Cadot
Messages: 68718
Registered: March 2007
Location: Saint-Maur, France, https...
Senior Member
Account Moderator
Quote:

First try to fix by dbms_repair.

dbms_repair does not fix any block corruption, it just marks the block as "corrupted".

Block corruption can occur for many reasons, hardware or software.

First check if the block belongs to a segment and to which one:
select owner, segment_name, partition_name, segment_type, tablespace_name 
from dba_extents
where file_id = 79
  and 54912 between block_id and block_id+blocks-1
/


Regards
Michel
Re: error while quering [message #276138 is a reply to message #276099] Wed, 24 October 2007 01:46 Go to previous messageGo to next message
Arju
Messages: 1554
Registered: June 2007
Location: Dhaka,Bangladesh. Mobile:...
Senior Member

Yes, Michel Thank you.
@OP, after running the query that Michel provided find segment name and then find the table_name , column_name of the specified segment_name.

Then you can run , DBMS_REPAIR.SKIP_CORRUPT_BLOCKS to mark the problem blocks to be skipped.
Re: error while quering [message #276140 is a reply to message #276138] Wed, 24 October 2007 01:54 Go to previous message
Michel Cadot
Messages: 68718
Registered: March 2007
Location: Saint-Maur, France, https...
Senior Member
Account Moderator
Quote:

Then you can run , DBMS_REPAIR.SKIP_CORRUPT_BLOCKS to mark the problem blocks to be skipped

No the first action is to know the segment type and then to think what we will do and that depends on this segment type. Don't cut corners.

Regards
Michel

Previous Topic: Top 250 database tables
Next Topic: Reduce the Size of DB
Goto Forum:
  


Current Time: Mon Dec 02 07:54:20 CST 2024