Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Re: find physical blocks/disks, mapped from Oracle file# and block#, block corruption

Re: find physical blocks/disks, mapped from Oracle file# and block#, block corruption

From: Gregor Theis <gregor.theis_at_ib-theis.de>
Date: Wed, 8 Jan 2003 21:52:53 +0100
Message-Id: <1042059198.67109.0@demeter.uk.clara.net>


Hello

"lopera" <prlopera_at_techie.com> schrieb im Newsbeitrag news:3E1C7C00.9090402_at_techie.com...
> Hi
>
>
> I have some block corruption issues with one of our databases, it
> happened 4 times in last 1.5 months, I am not sure if the underlaying
> disk is bad, actually I am not even sure which can be the bad disk since
> we are in RAID 0+1. Does anyone know how to find which physical disk is
> the datafile located providing I have the file# and block#? Something
> like a mapping from Oracle to physical hardware. I would like to know if
> all four corruptions occurs in same disk
>
> Also at Oracle level is there a way to tell weather we are facing
> logical block corruption or physical (media) corruption?
>
> Thanks in advance
>

I think that we need a bit more data here. Which OS are you running (e.g. Solaris?)? What kind of Raid Software / Hardware are you running (e.g. Veritas Volume Manager or Sun SDS, EMC)? What kind of file system are you using (e.g. UFS, VFS).

The block corruption can actually be caused by ORACLE itself or if you have bad luck (like I had a custumer site), you have bad EMC box firmware.

With your block size, the block# and file# you can check which file and which part of the file you have problems with. Did you already run the oracle "dbv" utility on this file? To physically check the file you might want to "dd if=the_file of=/dev/null seek=to_the_bad_block count=the_full_db_block_in_fs_blocks". To calculate the parameters you will have to check the OS block size and READ the dd manual (if you are using a UNIX).

To actually find the disk in a raid config you will have to find the blocks "logical" address on the virtual disk (you need the file system information for this) and try to translate this into the physical disk address (data from the RAID system needed for this). This is complicated stuff. Maybe you find some tools on the net that can do the calculation for you.

Have a nice day

Gregor

--
-----------------------------------------------------------------------
Dipl.-Ing. Gregor J. Theis (3x ORACLE OCP DBA 8, 8i, 9i)
mailto:gregor.theis@ib-theis.de http://www.ib-theis.de
Received on Wed Jan 08 2003 - 14:52:53 CST

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US