cancel
Showing results for 
Search instead for 
Did you mean: 

Raw device block size

SOLVED
Go to solution
Nancy Smothers
Occasional Contributor

Raw device block size

Does anyone know how to tell what the Header block size is on a raw device?
We are using Oracle OPS, SG/OPS and an EMC symm device for shared storage. We have used logical volumes manage the raw devices.
My question is, how can we tell what the header block size of the raw device is?
The dba wants to copy the raw device files with the dd command, and needs to know what to offset the copy by.
4 REPLIES
A. Clay Stephenson
Acclaimed Contributor
Solution

Re: Raw device block size

On HP there is none. Simply do a dd without any offset and your database files will work just fine.
If it ain't broke, I can fix that.
MANOJ SRIVASTAVA
Honored Contributor

Re: Raw device block size

Hi Nancy


In HP Unix the raw device doesnt ahve any block size n for reading or writing it is just a area and the bs will be either assumed the default if not specified or inherit the one which has been issued in the command , ther are definaltey performance related issues in case of large files and large blcok sizes visa vis the smaller ones.



Manoj Srivastava
Stephen Andreassend
Regular Advisor

Re: Raw device block size

Your database block size will be the determining factor for your datafiles in terms of IO and block sizes. Random IOs will be equivalent to your db_block_size. Sequential IOs will be of size db_block_size*db_file_multiblock_readcount. Sorting IOs to Temp segments will be of size db_block_size*sort_multiblock_readcount.

Redo log block sizes and IOs are more difficult to determine.

To find the block size of your redo logs:

sqlplus /nolog
connect / as sysdba
select distinct lebsz "LGWR block size (Bytes)"
from X$KCCLE;

To find the IO sizes of the LGWR:

select (a.value*(select lebsz from X$KCCLE where rownum < 2))/b.value as "LGWR Average IO Size (Bytes)"
from v$sysstat a, v$sysstat b
where a.name = 'redo blocks written'
and b.name = 'redo writes';

In some versions of Oracle, _log_io_size can be used to influence the size of the LGWR IO.
This parameter specifies the number of redo blocks to write as determined via the first query above. This is generally not necessary to set as it is automatically determined by Oracle when left set to 0 (default).

Steve
Stephen Andreassend
Regular Advisor

Re: Raw device block size

For HP there is no offset.

However, you must specify the correct blocksize in the dd command.

eg when db_block_size=4096:

dd if=/u02/oradata/RAC/users01.dbf of=/dev/vgData1/rlvUsers01 bs=4096 seek=0

Steve