SQL> startup upgrade
ORA-00064: object is too large to allocate on this O/S (1,7614720)
1. High value of oracle parameter PROCESSES
The oracle parameter PROCESSES bigger than 1500 requests the allocation of big granule size.
2. Low value of granule size.
The oracle hidden parameter "_ksmg_granule_size" is set based on the oracle sga size.
- sga_max_size <= 1024M then _ksmg_granule_size = 4M
- sga_max_size > 1024M then _ksmg_granule_size = 16M
If you set a parameter that exceeds the value of the granule size that was
calculated based on the size of the sga.
You will manually have to set the parameter _ksmg_granule_size.
- default _ksmg_granule_size is 4M
Low value of _ksmg_granule_size can prohibit the database startup.
3. The ORA-64 error could be occured even though the big "_ksmg_granule_size" was configured in
init<SID>.ora file.
DBUA in 10.2.x strips out the oracle hidden parameter while opening oracle database.
29
ORACLE调整_ksmg_granule_size大小
先简单介绍一下_ksmg_granule_size的知识点:
_ksmg_granule_size大小取决于sga大小, 是sga分配的单位。
如果 sga_max_size <= 1024M _ksmg_granule_size = 4M
如果 sga_max_size > 1024M _ksmg_granule_size = 16M
默认情况下_ksmg_granule_size为4M。
客户的数据库目前sga配置为64G,processes需要从6000提高到8000,因为根据ORACLE文档processes越大,_ksmg_granule_size设置的也要越大,把_ksmg_granule_size设置为64M。