OS Block Size - MS Windows NT 
Author Message
 OS Block Size - MS Windows NT
Maybe this is funny -- can anyone out there tell me what the default OS
Block size is in NT?  Can it be changed?  Where is this information?

This is information our Oracle DBA is asking me for, and I get run-around
from both Oracle and Microsoft when I go to them with the question.

TIA

--
Tommy Noble



Wed, 18 Jun 1902 08:00:00 GMT
 OS Block Size - MS Windows NT

The default size is usually (or has been ) 2K.  It is set at database
creation time and cannot be changed for that instance/database.
(Export/recreate/import is doable). It can go up to 16K on most
platforms (I seem to remember hearing about 32K but can't prove it).



Quote:
> Maybe this is funny -- can anyone out there tell me what the default
OS
> Block size is in NT?  Can it be changed?  Where is this information?

> This is information our Oracle DBA is asking me for, and I get run-
around
> from both Oracle and Microsoft when I go to them with the question.

> TIA

> --
> Tommy Noble


--
Joseph R.P. Maloney, CCP,CSP,CDP
MPiR, Inc.
502-451-7404
some witty phrase goes here, I think.

Sent via Deja.com http://www.deja.com/
Before you buy.



Wed, 18 Jun 1902 08:00:00 GMT
 OS Block Size - MS Windows NT
If you mean the default block size Oracle uses, it is 2K.  Block size is one
of the parameters set when creating a database.  In general, 8K is probably
a better size for NT machines.

Van


Quote:
> Maybe this is funny -- can anyone out there tell me what the default OS
> Block size is in NT?  Can it be changed?  Where is this information?

> This is information our Oracle DBA is asking me for, and I get run-around
> from both Oracle and Microsoft when I go to them with the question.

> TIA

> --
> Tommy Noble




Wed, 18 Jun 1902 08:00:00 GMT
 OS Block Size - MS Windows NT
Right, but how can I (or my DBA) determine what the lowest-best value for
this setting would be under NT.  For instance, under VMS, the OS block size
is (or used to be) 512 bytes (and I think it cannot be changed), so the DB
block size could be any multiple of that (i.e. 512 x 5 = 2560).  I think you
can set this database parameter however you like, but if you know the OS
block size, you can set it most efficiently so as little disk space as
possible is consumed by empty allocation.

Am I making sense?

Thanks

Tommy Noble


Quote:
> The default size is usually (or has been ) 2K.  It is set at database
> creation time and cannot be changed for that instance/database.
> (Export/recreate/import is doable). It can go up to 16K on most
> platforms (I seem to remember hearing about 32K but can't prove it).



Wed, 18 Jun 1902 08:00:00 GMT
 OS Block Size - MS Windows NT

Quote:
> Maybe this is funny -- can anyone out there tell me what the default OS
> Block size is in NT?  Can it be changed?  Where is this information?

Try to use CHKDSK on the drive.
Format /? gives:

Formats a disk for use with Windows NT.

FORMAT drive: [/FS:file-system] [/V:label] [/Q] [/A:size] [/C]
FORMAT drive: [/V:label] [/Q] [/F:size]
FORMAT drive: [/V:label] [/Q] [/T:tracks /N:sectors]
FORMAT drive: [/V:label] [/Q] [/1] [/4]
FORMAT drive: [/Q] [/1] [/4] [/8]

  /FS:file-system Specifies the type of the file system (FAT or NTFS).
  /V:label        Specifies the volume label.
  /Q              Performs a quick format.
  /C              Files created on the new volume will be compressed by
                  default.
  /A:size         Overrides the default allocation unit size. Default
settings
                  are strongly recommended for general use.
                  NTFS supports 512, 1024, 2048, 4096, 8192, 16K, 32K,
64K.
                  FAT supports 8192, 16K, 32K, 64K, 128K, 256K.
                  NTFS compression is not supported for allocation unit
sizes
                  above 4096.
  /F:size         Specifies the size of the floppy disk to format (160,
                  180, 320, 360, 720, 1.2, 1.44, 2.88, or 20.8).
  /T:tracks       Specifies the number of tracks per disk side.
  /N:sectors      Specifies the number of sectors per track.
  /1              Formats a single side of a floppy disk.
  /4              Formats a 5.25-inch 360K floppy disk in a
                  high-density drive.
  /8              Formats eight sectors per track.

so you could probably use format /A:4096

--
Gorm Larsen



Wed, 18 Jun 1902 08:00:00 GMT
 OS Block Size - MS Windows NT
The default OS block size in NT is 4K.  I'm not sure if it can be changed -
if it can, the likely place to look is the disk administrator tool.


Quote:
> Maybe this is funny -- can anyone out there tell me what the default OS
> Block size is in NT?  Can it be changed?  Where is this information?

> This is information our Oracle DBA is asking me for, and I get run-around
> from both Oracle and Microsoft when I go to them with the question.

> TIA

> --
> Tommy Noble




Wed, 18 Jun 1902 08:00:00 GMT
 OS Block Size - MS Windows NT

Quote:

> Right, but how can I (or my DBA) determine what the lowest-best value for
> this setting would be under NT.  For instance, under VMS, the OS block size
> is (or used to be) 512 bytes (and I think it cannot be changed), so the DB
> block size could be any multiple of that (i.e. 512 x 5 = 2560).  I think you
> can set this database parameter however you like, but if you know the OS
> block size, you can set it most efficiently so as little disk space as
> possible is consumed by empty allocation.

> Am I making sense?

The default install of NT has a block size (under NTFS) of 512 bytes.
However, you can specify a new block size when you reformat the drive.
If you are formatting under fat16, the block size is dependant on the
drive size - that is, fat16 only recognizes 512mb drives, and some
tricks have to be played to let it few larger drives (multiple
partitions, and huge blocks sizes - 32k - are usually used). Fat32 gets
around this limitation, but there is no support for fat32 filesystems in
NT 4.

Cheers,
GC



Wed, 18 Jun 1902 08:00:00 GMT
 OS Block Size - MS Windows NT
So which answer is the right one!

Does anyone know the 'correct' answer?

Does the question have a firm answer? Some obviously think so but others say
it all depends.

I pity the poor guy who needs to know.

Are all the respondents correct and I just can't reconcile the answers?

Ar'n't the news groups wonderful!

Regards
--
Kevin A Lewis (BOCM PAULS LTD) - Animal Feed Manufacturer - Ipswich United
Kingdom)

The views expressed herein by the author of this document
are not necessarily those of BOCM PAULS Ltd.

Quote:
> Maybe this is funny -- can anyone out there tell me what the default OS
> Block size is in NT?  Can it be changed?  Where is this information?

> This is information our Oracle DBA is asking me for, and I get run-around
> from both Oracle and Microsoft when I go to them with the question.

> TIA

> --
> Tommy Noble




Wed, 18 Jun 1902 08:00:00 GMT
 OS Block Size - MS Windows NT


Quote:
>Right, but how can I (or my DBA) determine what the lowest-best value for
>this setting would be under NT.  For instance, under VMS, the OS block size
>is (or used to be) 512 bytes (and I think it cannot be changed), so the DB
>block size could be any multiple of that (i.e. 512 x 5 = 2560).  I think you
>can set this database parameter however you like, but if you know the OS
>block size, you can set it most efficiently so as little disk space as
>possible is consumed by empty allocation.

>Am I making sense?

You certainly are.

The default memory PAGE size in NT is 4K. Given that the shared
buffers in ORACLE use a similar mechanism to OS paging (although much
less sophisticated), it makes sense to make the unit of I/O for the
shared buffers the same as the page size.  That way, if NT decides to
swap out the ORACLE buffers, at least it is swaping-out integral
buffers!

The block size for general file I/O can be anything you want (it's
under control of the app, not the OS).  

However, the unit of I/O that NT uses to satisfy any block read/write
request is the partition's cluster size.  Which can be set at
different values at partition creation time. Either automatically in
the case of FAT partitions, or as a selectable value for
NTFS-formatted partitions.  Note that even for NTFS, NT will try to
change the default cluster size depending on the size of the
partition, so it pays to check EVERY time.

So it makes sense to select a cluster-size that matches the NT page
size and make the database block size at least as large as the cluster
size.  

IOW, use 4K for the cluster size in partitions that are gonna store
ORACLE tablespace files. Then set the database block size to 4K or a
multiple of 4K (that means 8K in NT, as I believe that is the maximum
Ora block size in that platform- I may stand corrected here as this
changes quite often).

HTH

Cheers
Nuno Souto

http://www.users.bigpond.net.au/the_Den/index.html



Wed, 18 Jun 1902 08:00:00 GMT
 OS Block Size - MS Windows NT
For those following, this is the response I am going with.

I am advising the DBA to use multiples of 4K for DB block size, and
verifying that the cluster size on all partitions to be used for tablespaces
is also 4K (or less).  Also note, if I am correct, with drives larger than
some size (1 or 2G?), NT will usually default to 4K clusters when
formatting, so that compression can be supported.

Thanks all!

Tommy Noble



Wed, 18 Jun 1902 08:00:00 GMT
 OS Block Size - MS Windows NT


Quote:
>is also 4K (or less).  Also note, if I am correct, with drives larger than
>some size (1 or 2G?), NT will usually default to 4K clusters when
>formatting, so that compression can be supported.

I believe so. I didn't mention it because I couldn't remember what
the default for large partitions was. But you just reminded me: it is
4K.  There was an article by Mark Minasi a while ago about that in the
NT mag. Of course that may change with NT2K, so watch out. This type
of thing tends to change unnoticed...

If your database is gonna be used for DSS or data-warehouse,
I'd suggest investigating a cluster size of 8K or even 16K on the
ORACLE-data disk partitions, matched by a database block size of the
same . I don't have direct experience with 16K myself, but others I
work with have tried it and vouch for the result.  You can mix
partitions of different cluster size in the same NT system, that is
not a problem (apparently!). So stick with smaller cluster sizes for
the other disks (the OS, s/w, etc.) but use larger ones for ORACLE
data partitions.

Of course, remember this: NT2K just came out. If you plan to use it or
upgrade to it, do yourself a favour - get a test bed system and
re-check all this.  Things changed with this version and neither MS
nor ORACLE are forthcoming on exactly what did. Time will tell, I
suppose.

HTH

Cheers
Nuno Souto

http://www.users.bigpond.net.au/the_Den/index.html



Wed, 18 Jun 1902 08:00:00 GMT
 OS Block Size - MS Windows NT


Quote:
> So which answer is the right one!

> Does anyone know the 'correct' answer?

> Does the question have a firm answer? Some obviously think so but others
say
> it all depends.

> I pity the poor guy who needs to know.

> Are all the respondents correct and I just can't reconcile the answers?

The guy who was right was the guy who said that the os block size could take
one of a range of values. In summary

NTFS 512 Bytes (But can be varied by the user when formatting a disk)
FAT 2-32K depending on drive size.



Wed, 18 Jun 1902 08:00:00 GMT
 OS Block Size - MS Windows NT

Quote:



> > So which answer is the right one!

> > Does anyone know the 'correct' answer?

> > Does the question have a firm answer? Some obviously think so but
others
> say
> > it all depends.

> > I pity the poor guy who needs to know.

> > Are all the respondents correct and I just can't reconcile the
answers?

> The guy who was right was the guy who said that the os block size
could take
> one of a range of values. In summary

> NTFS 512 Bytes (But can be varied by the user when formatting a disk)
> FAT 2-32K depending on drive size.

Amazing how such a simple question can be so difficult to answer. I've
spent the better part of three days trying to find and reconcile all the
conflicting information on Metalink, Deja, Technet, and Oracle's
documentation.
512 bytes does seem to be the correct answer. This is the size of a
sector (the smallest physical *storage* unit on the disk). You can not
vary this when formatting. What you can vary during formatting is the
cluster size, a cluster being the fundamental unit of disk
*allocation*). The only time the cluster size comes into play is
when you're creating/resizing the datafiles (and disk space is actually
allocated, as opposed to accessed). The default cluster size depends on
the size of the partition you're formatting.
Oracle uses unbuffered I/O, i.e. it totally bypasses the NT file system
cache (as it uses its own cache). Unbuffered I/O requests in NT must be
issued in multiples of the disk sector size, i.e. 512 bytes.
--
Ben Pomicter
Database Administrator
Digitas
--
Ben Pomicter
Database Administrator
Digitas

Sent via Deja.com http://www.deja.com/
Before you buy.



Wed, 18 Jun 1902 08:00:00 GMT
 OS Block Size - MS Windows NT
    Actually, one statement is not correct.  Oracle does not bypass NT's
caching.  Oracle writes are cached just like any other writes on NT unless
you are writing to raw disk partitions.  This is why OPS on NT has to be run
on raw disk (just like on unix).

Regards,
D.



Wed, 18 Jun 1902 08:00:00 GMT
 OS Block Size - MS Windows NT


Quote:
> Actually, one statement is not correct. Oracle does not bypass NT's
> caching. Oracle writes are cached just like any other writes on NT
unless
> you are writing to raw disk partitions. This is why OPS on NT has to
be run
> on raw disk (just like on unix).

> Regards,
> D.

Well...for what it's worth (and I wonder what) here are two quotes from
Oracle support:

"Oracle uses non-buffered reads and writes on NT. We therefore bypass
the NT file system cache and are thus only concerned with I/O in
multiples of the O/S blocksize (512 bytes)...So if we want to read a 2k
Oracle block we pass this to the O/S who simply does a 2k read (4
sectors) from the existing file and passes the results back to Oracle
and our own buffer cache."

"Oracle does a bypass of NT buffer cache, this is done because the API
win32 provides a flag called FILE_FLAG_NO_BUFFERING , that is used by
Oracle when the datafiles are created. Also, you can confirm this doing
a simple full scan on a large table, several times, and you can observe
that the response time will be the same"

The mystery continues (?)

--
Ben Pomicter
Database Administrator
Digitas

Sent via Deja.com http://www.deja.com/
Before you buy.



Wed, 18 Jun 1902 08:00:00 GMT
 
 [ 16 post ]  Go to page: [1] [2]

 Relevant Pages 

1. Oracle block size - OS block size

2. OS block size vs. DB block size

3. OS Block Size for NT

4. NT OS BLOCK SIZE!

5. DB block buffers and Shared Pool Size on Oracle 7.3 Windows NT 4.0

6. NT Cluster size and Oracle data block size


 
Powered by phpBB® Forum Software