oracle-databasedatabase-administration

Oracle Database pfile parameter value discrepancy


I generated a pfile from the spfile of my Oracle database and noticed that some parameters appear twice in it with different values.

For example:

MYDBNAME.__shared_pool_size=16642998272 #which means 15872M
*.shared_pool_size=7247757312 #which means 6912M

Query results:

show parameter shared_pool_size;

NAME                 TYPE    VALUE
------------------------------------ ----------- ------------------------------
shared_pool_size           big integer 6912M

So does shared_pool_size have 6912M or 15872M? Why do these values for the same parameter differ?

If it actually has 6912M and I wanted to expand it to let's say 10G, would it be enough to set the same value 10737418240 for these two parameters (MYDBNAME.__shared_pool_size and *.shared_pool_size)?

In addition, the alter system command only changes the *.shared_pool_size parameter, while MYDBNAME.__shared_pool_size remains unchanged. But from what I've noticed, over the course of a few days, the value of the MYDBNAME.__shared_pool_size parameter can dynamically change on its own.


Solution

  • You do use sga_target. So sizes of memory regions within SGA are changed dynamically, depending the load.

    In such a case:

    *.shared_pool_size=7247757312 #which means 6912M
    This is just a minimal size of region set by you
    
    MYDBNAME.__shared_pool_size=16642998272 #which means 15872M
    This is auto-tuned size, determined by database.
    Database just stores size of auto-tuned value in spfile to be preserved till next db start