oracle memory_target 跟 sga_target 的区别

原创 2016年05月30日 13:47:14
memory_max_target/memory_target//sga_max_size/sga_target 




1、memory_max_target 就是oracle实例的最大的内存大小


2、memory_target   就是oracle实例实际内存的大小,最大值不能超过memory_max_target


3、 sga_max_size 系统全局区 最大值


4、sga_target  系统全局区 实际值 不能超过 sga_max_size


5、pag_aggregate_target  进程全局区)






如果memory_target=0 表示数据库不启用自动内存管理,那么sga_target(系统全局区) 跟pag_aggregate_target(进程全局区)
各自管理,互不干扰




如果memory_target 大于0 表示数据库启用自动内存管理,相当于sga_target(系统全局区) 跟pag_aggregate_target(进程全局区)
各自管理,互不干扰


如果 sga_target=0 表示数据库不使用 自动共享内存管理  那么
 db_buffer_cache_size,java_pool shared_pool,large_pool,stream_pool 都需要手动设置一个值
 
如果 sga_target大于0 表示数据库使用 自动共享内存管理  那么
 db_buffer_cache_size,java_pool shared_pool,large_pool,stream_pool 不需要设置值,数据库会自动分配,内存使用率高
 
 
 下面来讨论 一下 memory_target 跟sga_target 组合
 
 memory_target=0 && sga_target=0 不是自动共享内存管理  
那么  db_buffer_cache_size,java_pool shared_pool,large_pool,
stream_pool pag_aggregate_target 都需要手动设置一个值

 memory_target=0 && sga_target>0  是自动共享内存管理 那么  
db_buffer_cache_size,java_pool shared_pool,large_pool,stream_pool 可以设置也可以不设置 
pag_aggregate_target必须要设置一个值
sga_target=db_buffer_cache_size+java_pool+shared_pool+stream_pool

 memory_target>0 && sga_target>0  是自动内存管理 那么  sga_target 跟pag_aggregate_target 不需要设定值,
若设定了某个值,也表示 数据库启动的时候sga_target 跟pag_aggregate_target 最小不能低于设定的某个值
如 memory_target=1024 sga_target=800M 表示数据库最少要分配800M 给SGA
memory_target=sga_target+max(pag_aggregate_target,MAXIMUM PGA ALLOCATED)

当使用 dbca 创建默认创建实例的时候 如果系统内存小于4G 那么AMM 启用  大余4G AMM禁用 ASMM 启用,所以一般选择 高级安装




使用大表缓存 并行查询 在 RAC 或者单实例环境
DB_BIG_TABLE_CACHE_PERCENT_TARGET >0 &&PARALLEL_DEGREE_POLICY='AUTO' 或者PARALLEL_DEGREE_POLICY='ADAPTIVE'


使用大表缓存 窜行查询  只适用于单实例
DB_BIG_TABLE_CACHE_PERCENT_TARGET >0




监控 调优 内存管理, 就是说,内存管理设置那个值为最合理
  
  自动内存管理值建议
 select * from v$memory_target_advice order by memory_size;


  MEMORY_SIZE_FACTOR=1 表示当前数据库的内存, 通过ESTD_DB_TIME 来判断设置多大最合适


  
  SGA 设置内存大小是按 颗粒度的整数倍 分配  
   查看数据库的颗粒度
  select * from v$sgainfo 
  自动共享内存管理值建议
  select * from v$sga_target_advice order by sga_size;
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

《Oracle编程艺术》学习笔记(10)-SGA,PGA,UGA和memory_target

Oracle有3个主要的内存结构: 系统全局区(System Global Area,SGA)是一个很大的共享内存段,几乎所有Oracle进程都要访问这个区中的某一点。 进程全局区(Process...
  • fw0124
  • fw0124
  • 2011-10-23 23:03
  • 1255

深入解析Oracle 10g中SGA_MAX_SIZE和SGA_TARGET参数的区别和作用

原文链接:http://m.blog.csdn.net/blog/aaron8219/40037005 SGA_MAX_SIZE是从9i以来就有的作为设置SGA大小的一个参数,而SG...

Oracle 11g sga_target 参数设置

Oracle 11g sga_target 参数设置 今天在一台linux测试机上装了Oracle 11g,安装好以后按照惯例调整sga_target 1G,pga_aggregate_targ...

Oracle 11gR2 RAC ORA-00845 MEMORY_TARGET not supported on this system 解决方法

公司刚上线一套Oracle 11gR2 的RAC。 将MEMORY_TARGET内存设置为12G后,启动的时候报了错误:        ORA-00845: MEMORY_TARGET not su...

启动oracle11g数据库报memory_target not supported on this system错解决方案

究其原因就是Linux系统的shm的大小比SGA设置的小,造成的,距离来说,SGA设置4G,而shm可能只有1G 网上提供两种解决办法: 01、调整sga的大小,这个明显不是我们所希望的 02、...

Oracle错误解决 ORA-00844: Parameter not taking MEMORY_TARGET into account, see alert log for more inform

将Oracle的内存管理方式改为自动内存管理时,出现的错误。     本来这个错误不应该算作Oracle的bug,由于设置了Oracle的MEMORY_TARGET参数的值小于了SGA_TARG...
  • njyxfw
  • njyxfw
  • 2012-03-30 14:06
  • 3394

Oracle 11g ORA-00845: MEMORY_TARGET not supported on this system 说明

启动Oracle 11gR2后报错:ORA-00845 rac1:/home/oracle> sqlplus / as sysdba;SQL*Plus: Release 11.2.0.3.0 Prod...

ORA-00845 Oracle 11gR2MEMORY_TARGET not supported on this system

官方的解释: ORA-00845: MEMORY_TARGET not supported on this system Cause: The MEMORY_TARGET parameter ...

【2017/4/10】Oracle 11g修改MEMORY_TARGET

Oracle 11g修改MEMORY_TARGET
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)