ORA-00064: object is too large to allocate on this O/S
Instance Startup failed with ORA-00064 when processes parameter set to High Value
The problem is filed as a code bug (2204394)
Bug 2204394 (internal bug) is fixed in 10g. There is no one-off patch available for 9i and development indicates this bug cannot be fixed in 9i.
The workaround to bypass this limit is to set the hidden parameter _ksmg_granule_size to 32M or reduce the value of processes parameter
SQL> alter system set "_ksmg_granule_size"=32M scope=spfile;
ORA-00064 error is possibly encountered on database startup when the parameter OPEN_LINKS_PER_INSTNACE set to over 400
The initialization parameter DB_BLOCK_SIZE is set to a value that calls for more contiguous space than can be allocated on the operating system being used. Action: Reduce the value of DB_BLOCK_SIZE so that the requested contiguous space is within the capacity of the operating system.
This is NOT a BUG.
To fix the issue , increase the size of the SGA to over 128Mb by increasing DB_CACHE_SIZE,
SHARED_POOL_SIZE,LARGE_POOL_SIZE, JAVA_POOL_SIZE, etc.This will cause the granule size to
be increased to 16Mb.
With dynamic SGA, the unit of allocation is called a granule. Components, such as the buffer cache, the shared pool, the java pool, and the large pool, allocate and free SGA space in units of granules. Oracle tracks SGA memory use in integral numbers of granules, by SGA component. All information about a granule is stored in a corresponding granule entry. Oracle maintains the state of each granule in the granule entry and the granule type.
Granule size is determined by total SGA size. On most platforms, the size of a granule is 4 MB if the total SGA size is less than 128 MB, and it is 16 MB for larger SGAs. There may be some platform. dependency, for example, on 32-bit Windows NT, the granule size is 8 MB for SGAs larger than 128 MB.
来自 “ ITPUB博客 ” ，链接：http://blog.itpub.net/7478833/viewspace-604508/，如需转载，请注明出处，否则将追究法律责任。