ORA-00382 and DB_nK_CACHE_SIZE parameter settings
Recently, I tried to optimize a query that contains the blob field table and considered using a non-standard block cache. However, an error occurred while trying to set the DB_32K_CACHE_SIZE parameter (error message: ORA-00382: 32768 is not a valid block size, valid range is [...]). So I checked it in the official document to understand that the setting of this parameter is closely related to the underlying data block and the operating system. In Windows, the DB_32K_CACHE_SIZE parameter is unavailable. However, it supports DB_16K_CACHE_SIZE.
The parameter documentation and specific operation procedures are provided here for reference only.
Official Document Description DB_nK_CACHE_SIZE
Attribute |
Description |
Parameter type |
Integer |
Syntax |
DB _ [2 | 4 | 8 | 16 | 32] K_CACHE_SIZE = integer [K | M | G] |
Default Value |
0 (by default, non-standard block size cache is not set) |
Modify |
ALTER SYSTEM |
Value Range |
Minimum value: 0 (if the value is greater than 0, it is automatically changed to the memory particle size * Number of processors, or 4 MB * Number of CPUs, whichever is larger) Maximum Value: Depends on the Operating System |
Basic parameters |
No |
DB_nK_CACHE_SIZE (n = 2, 4, 8, 16, 32) specifies the size of the nK cache. You can set values other than DB_BLOCK_SIZE. For example, if DB_BLOCK_SIZE is 4096, it is invalid to set DB_4K_CACHE_SIZE (because the size of the 4 K cache has been set by the DB_CACHE_SIZE parameter ).
If the database contains an online table space with nK block size, you cannot set this parameter to 0.
The operating system limits the size of a specific block. For example, if the maximum block size of the operating system is smaller than 32 KB, you cannot set the DB_32K_CACHE_SIZE parameter. Similarly, if the minimum block size is greater than 2 kb, you cannot set the DB_2K_CACHE_SIZE parameter.
Operating Environment
In the Oracle10g + Windows Server 2008 Standard R2 environment, I perform the following operations.
- SQL>