Applies to:
Oracle Server - Enterprise Edition - Version: 10.2.0.2This problem can occur on any platform.
Symptoms
Customer is trying to upgrade to 10.2.0.2 from 9.2.0.7 using DBUA.When attempting to start upgrade using DBUA,
the following error occurs.
This error could be seen through 10.2.0.2 SQLPLUS.
SQL> startup upgrade
ORA-00064: object is too large to allocate on this O/S (1,7614720)
Changes
Startup database with 9.2.0.7 parameter file to upgrade database to 10.2.0.2 using DBUA.Cause
1. High value of oracle parameter PROCESSESThe 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.
Solution
< Solution 1 >reduce the oracle parameter "PROCESSES" as described in Note 310838.1
# open oracle parameter file with editor and put following line
PROCESSES <= 1500
< Solution 2 >
Increase Oracle hidden parameter value of "_ksmg_granule_size"
1. Increase directly the value of '_ksmg_granule_size' parameter to 16M (16777216) or 32M (33554432)
1.1 open oracle parameter file with editor and put following line
_ksmg_granule_size=16777216 or 33554432
1.2 do the manual upgradation
OR
2. Increase SGA size bigger than 1024M to affect granule size
2.1 open oracle parameter file with editor and put following line
sga_max_size = 1025M
2.2 Continue the upgradation using DBUA or manually.
OR
1.3 run DBUA with -initParam flag.
$ dbua -initParam "_ksmg_granule_size"=16777216 or 33554432
Niciun comentariu:
Trimiteți un comentariu