欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

oracle三对内存参数间关系之4sga

程序员文章站 2022-05-24 20:10:08
...

1、SGA_TARGET始终要= SGA_MAX_SIZE 否则 ORA-00823: Specified value ofsga_target greater than sga_max_size AMM启动时(即memory_target=非0) 1、sga_target《memory_target《memory_max_target 如果 sga_targetmemory_target,则会提示: ORA-00838:

1、SGA_TARGET始终要SGA_MAX_SIZE

否则

ORA-00823: Specified value ofsga_target greater than sga_max_size


AMM启动时(即memory_target=非0)

1、sga_target《memory_target《memory_max_target

如果sga_target>memory_target,则会提示:

ORA-00838:指定的 MEMORY_TARGET 的值太小, 至少应为 XXXX M(该值等于sga_target与pga_aggregate_target之和

因为MEMORY_TARGET》=sga_target与pga_aggregate_target之和)


2、sga_max_size《memory_target ,否则

ORA-00851:SGA_MAX_SIZE 780140544 cannot be set to more than MEMORY_TARGET 41943

0400.




AMM关闭时(即memory_target=0)

1、sga_target

ORA-00849:SGA_TARGET 524288000 cannot be set to more than MEMORY_MAX_TARGET 0.


2、sga_max_size可以大于memory_max_target吗?

参数文件里,即使当sga_target《memory_max_target时,如果sga_max_size>memory_max_target,则启动实例时也不会成功,也会出现提示与sga_target>memory_max_target时相同的提示:ORA-00849:SGA_TARGET 524288000 cannot be set to more than MEMORY_MAX_TARGET 0.

只当参数文件里sga_max_size和memory_max_target都为0时,启动实例后,显示的sga_max_size可以大于memory_max_target。



总之,

AMM启动时(即memory_target=非0),sga_max_size《memory_target

sga_target《sga_max_size《memory_target

AMM关闭时(即memory_target=0),由于memory_target=0相当于说memory_target这个参数不起作用此时,所以sga_max_size《memory_max_target:
sga_target《sga_max_size《memory_max_target


原本以为

AMM启动时(即memory_target=非0),sga_target只要《memory_target,以及SGA_MAX_SIZE就行sga_max_size和memory_target间可以无相关关系AMM关闭时(即memory_target=0),sga_target只要《memory_max_target以及SGA_MAX_SIZE就行sga_max_size和memory_max_target