oracle11g自动内存管理

时间:2022-12-09 06:06:05

Oracle一直不停的在为Orace数据库的自动化管理努力着,11G中的自动内存管理是Oracle数据库中又一新的里程碑,通过新参数MEMORY_TARGET

来代替PGA和SGA的配置,ORACLE在运行过程中会自动调节PGA和SGA的大小,跟10G中SGA自动管理的方法基本一直。MEMORY_TARGET参数

可支持动态修改,同样的MEMORY_TARGET也有一个限制最大内存分配的参数:MEMORY_MAX_TARGET,这个跟SGA_TARGET和

SGA_MAX_TARGET的关系一样。

 

启用内存自动管理

  • DBCA创建数据库的过程中可直接设置MEMORY_TARGET参数
  • 数据库创建完成后,可通过以下方式手动配置MEMORY_TARGET
      ALTER SYSTEM SET MEMORY_TARGET = 256M;
ALTER SYSTEM SET SGA_TARGET = 0;
ALTER SYSTEM SET PGA_AGGREGATE_TARGET = 0;

后两步是禁用SGA和PGA的自动管理. 让ORACLE对内存实行自动调节. 还可以设置MEMORY_MAX_TARGET参数限制Oracle可自动分配的最大

内存.该参数不能动态调整,调整后需要重新启动数据库.正确设置MEMORY_MAX_TARGET参数的方法:

      ALTER SYSTEM SET MEMROY_MAX_TARGET=256M SCOPE=SPFILE;

查看MEMORY_TARGET内存的设置情况:

SQL> show parameter target

  NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
archive_lag_target integer 0
db_flashback_retention_target integer 1440
fast_start_io_target integer 0
fast_start_mttr_target integer 0
memory_max_target big integer 256M
memory_target big integer 256M
pga_aggregate_target big integer 0
sga_target big integer 0