oracle自动分配内存,oracle 11g自动内存管理

一:Oracle 11g自动内存管理概述

oracle11g中的新的内存管理特性自动化内存管理(automatic memory management)。在该新特性之下SGA与PGA将会根据需要自动的扩展与收缩。你只需要设置两个内存管理相关的参数memory_target与memory_max_target.

1)memory_target:该参数设置整个oracle数据库实例可以使用的内存量,oralce数据库实例在运行过程中会根据需求自动的调节SGA与PGA的大小。可以使用相应的alter system命令动态的修改memory_target的值。该参数是动态初始化参数。

2)memory_max_target:该参数设置oracle实例可以使用的最大内存量。在调整memory_target的值时必须保持以下的约束关系memory_target<=memory_max_target.该参数是静态初始化参数,修改需要重启才能生效。

在创建数据库的时候,你可以通过设置memory_target,memory_max_target初始化参数来开启自动化内存管理特性。在数据库创建以后也可以通过设置memory_target,memory_max_target初始化参数来开启自动化内存管理,但是不会立即生效,需要重启实例。

使用动态内存管理时,SGA_TARGET和PGA_AGGREGATE_TARGET代表它们各自内存区域的最小设置,要让Oracle完全控制内存管理,这两个参数应该设置为0。

关于设置memory_target的值的原则:如果服务器只有数据库,可以分配全部内存的2/3 到 3/4 给oracle的memory_target ;

查看memory_target 以及SGA_TARGET和PGA_AGGREGATE_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 62848M

memory_target big integer 62848M

parallel_servers_target integer 512

pga_aggregate_target big integer 4G

sga_target big integer 8G

二:如何Oracle运行的某个时刻的各个内存的分配大小呢?

可以通过create pfile from spfile,查看:

[oracle@JoinSpider dbs]$ cat initora11g.ora

ora11g.__db_cache_size=2281701376

ora11g.__java_pool_size=939524096

ora11g.__large_pool_size=805306368

ora11g.__oracle_base='/files/oracle'#ORACLE_BASE set from environment

ora11g.__pga_aggregate_target=57310969856 ##这是当前实际的分配pga的值,

ora11g.__sga_target&

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值