Description
Hi,
I think the naming and behaviour of memory parameters are confusing.
The comment in the YAML example (https://github.com/oracle/oracle-database-operator/blob/main/config/samples/sidb/singleinstancedatabase.yaml) says:
## Specify both sgaSize and pgaSize (in MB) or dont specify both
However, the initParams are not called sga/pgaSize but sgaTarget/pgaAggregateTarget. Example configuration from last tests:
initParams:
cpuCount: 0
processes: 0
sgaTarget: 4096
pgaAggregateTarget: 4096
With above YAML configuration I got the following parameters settings after the instance had been started:
pga_aggregate_limit big integer 8G
pga_aggregate_target big integer 4G
sga_max_size big integer 4G
sga_min_size big integer 0
sga_target big integer 0
Why is sga_target set to 0 and sga_max_size set to initParams.sgaTarget? This seems to happen only at initial installation because if I edit initParams.sgaTarget in the YAML file and apply it then:
{"updateInitParameters": {"name":"sinchdb11","namespace":"oracle-database"}}
2024-05-24T11:20:28Z DEBUG events Unable to change the init-param as specified. Error log:
alter system set sga_target=5120M scope=both
*
ERROR at line 1:
ORA-02097: parameter cannot be modified because specified value is invalid
ORA-00823: Specified value of sga_target greater than sga_max_size
If I try to change sga_max_size via SQLplus I get ORA-02095 error:
SQL> alter system set sga_max_size=5120M scope=both;
alter system set sga_max_size=5120M scope=both
*
ERROR at line 1:
ORA-02095: specified initialization parameter cannot be modified
Best regards,
Andreas