01、 ORACLE_BASIC_How To Determine Granule Size
How To DetermineGranule Size (Doc ID 947152.1)
1. How is the granulesize determined
The granule size isdetermined based on the amount of memory requested at the instance startup. Itis based on the SGA_MAX_SIZE. IfMEMORY_MAX_TARGET is specified, then SGA_MAX_SIZE defaults to MEMORY_MAX_TARGETfor the purpose of sizing the granule. Once set, the granule size does not change for the life of the instance.
The granule sizes atthe time of writing, are:
RDBMS |
SGA_MAX_SIZE (or memory_max_target) |
GRANULE SIZE |
9.2 |
<= 128MB |
4MB |
|
> 128MB |
16MB |
10.2 |
<= 1GB |
4MB |
|
> 1GB |
16MB |
11gR1 |
<= 1GB |
4MB |
|
>1Gb <= 4GB |
16MB |
|
>4Gb <= 16GB |
64MB |
|
>16Gb <= 64GB |
256MB |
|
> 64GB |
512MB |
11gR2 (and 11gR1 with patch 8813366 applied *) |
<= 1Gb |
4Mb |
|
>1Gb <= 8Gb |
16Mb |
|
>8Gb <= 16Gb |
32Mb |
|
>16Gb <= 32Gb |
64Mb |
|
>32Gb <= 64Gb |
128Mb |
|
>64Gb <= 128Gb |
256Mb |
|
> 128Gb |
512Mb |
2. How to find theGranule size
You can check thegranule size that is currently set for your database instance by running thefollowing SQL statement as SYSDBA
-- You can determineyour granule size with this SQL
SQL> select bytesfrom v$sgainfo where name like 'Granule Size';
There is a 16MB granulesize maximum on 32-bit platforms. This applies even if the granule size is manuallyoverridden.