You specify a nonzero value for the MEMORY_TARGET initialization parameter, but do not set the
PGA_AGGREGATE_TARGET or the SGA_TARGET parameters. You restart your database instance.Which statement about the result is true?
A. The database instance starts, and Oracle sets the default value of SGA_TARGET to the same value as SGA_MAX_SIZE.
B. The database instance starts, and Oracle automatically tunes memory and allocates 60 percent to the SGA and 40 percent to the PGA.
C. The database instance starts, but Automatic Memory Management is disabled.
D. The database instance will not start because you did not specify the PGA_AGGREGATE_TARGET or SGA_TARGET parameter.
只需要设置一个目标内存大小初始化参数( MEMORY_TARGET ) 和一个最大内存大小初始化参数( MEMORY_MAX_TARGET),数据库就会根据处理需求在 SGA 与实例 PGA 之间动态交换内存。
自动内存管理是用两个初始化参数进行配置的:
MEMORY_TARGET:动态控制 SGA 和 PGA 时,Oracle 总共可以使用的共享内存大小,这个参数是动态的 , 因 此 提 供 给 Oracle 的 内 存 总 量 是 可 以 动 态 增 大 , 也 可 以 动 态 减 小 的 。 它 不 能 超 过MEMORY_MAX_TARGET 参数设置的大小。默认值是 0。
MEMORY_MAX_TARGET:这个参数定义了 MEMORY_TARGET 最大可以达到而不用重启实例的值,如果没有设置 MEMORY_MAX_TARGET 值,默认等于 MEMORY_TARGET 的值。
使用动态内存管理时,SGA_TARGET 和 PGA_AGGREGATE_TARGET 代表它们各自内存区域的最小设置,要让 Oracle 完全控制内存管理,这两个参数应该设置为 0。
重启后,会根据实际情况重新动态分配内存。