Wednesday, January 11, 2006

Oracle Block Size Specails

Did you know that Linux x86 and Sun Solaris
are not capable of Blocks with sizes larger than 16k?

This is what happened to me yesterday on an Linux box with Red Hat Advanced Server 3:

Connected to:
Oracle9i Enterprise Edition Release - Production
With the Partitioning, Oracle Label Security, OLAP and Oracle Data Mining option s
JServer Release - Production

SQL> alter system set db_32k_cache_size = 32M;

alter system set db_32k_cache_size = 32M
ERROR at line 1:
ORA-02097: parameter cannot be modified because specified value is invalid
ORA-00382: 32768 not a valid block size, valid range [2048..16384]

And here is what Metalink says:

Doc ID: Note:138242.1
Subject: 9i: ORA-382 Creating 32K Blocksize Tablespace and Related Cache Not Set
This limitation is not an Oracle9i restriction,
but is operating system -specific.
Refer to the platform specifications
for your operating system.

Oracle9i Administrator’s Reference
Release 1 (9.0.1) for UNIX Systems:

AIX-Based Systems,
Compaq Tru64 UNIX,
HP 9000 Series HP-UX,
Linux Intel,
Sun SPARC Solaris:

2048 to 16384 (Linux, Solaris)

2048 to 32768 (AIX, HP, Tru64)

Oracle9i Database Administrator's Guide for Windows:

DB_BLOCK_SIZE: 2048 to 16384
(Windows NT, 95, 98, 2000)

Have you ever created a tablespace
with a blocksize of -1 bytes on an Oracle database?
I had this recently with Oracle
(this was a patch with optimization potential I guess, hope it was fixed).
Is this a black hole, or is it some kind of anti-data you can store there?


Post a Comment

<< Home