我从 Oracle 数据库的 spfile 生成了一个 pfile,并注意到某些参数在其中出现了两次,且具有不同的值。
例如:
MYDBNAME.__shared_pool_size=16642998272 #which means 15872M
*.shared_pool_size=7247757312 #which means 6912M
查询结果:
show parameter shared_pool_size;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
shared_pool_size big integer 6912M
那么shared_pool_size是6912M还是15872M呢? 为什么相同参数的这些值不同?
如果它实际上有 6912M 并且我想将其扩展为 10G,那么为这两个参数(
MYDBNAME.__shared_pool_size
和 *.shared_pool_size
)设置相同的值 10737418240 是否足够?
此外,alter system命令仅更改
*.shared_pool_size
参数,而MYDBNAME.__shared_pool_size
保持不变。
但据我观察,在几天的时间里,MYDBNAME.__shared_pool_size 参数的值可以自行动态更改。
您确实使用
sga_target
。因此,SGA 内的内存区域大小会根据负载情况动态更改。
在这种情况下:
*.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 value determined by database