内存管理及小技巧

内存修改

 斯里兰卡,从awr 报告看db_cache_size 太小,就准备调带其sga
的大小。经过多次的测试才成功。现将调整sga的过程总结一下。

事先先备份spfile

create pfile='/opt/oracle/my.pfile' from spfile; 

 

oracle11g 下有以下几个参数
memory_max_target \  memory_target \sga_max_size \ sga_target
sga 中
  数据缓冲池:db_cache_size

  共享池:shared_pool_size

  大池:large_pool_size

  JAVA池:java_pool_size

  流池:straems_pool_size


方法1.  采用内存自动管理
alter system set memory_max_target=9000m scope=spfile;
       alter system set  memory_target=9000m scope=spfile;
       alter system set sga_max_size=0  scope=spfile;
       alter system set sga_target=0  scope=spfile;
   这些参数要重启数据库才生效
  
方法2:自已手工管理     
         
  去掉
  *.memory_max_target=16106127360
  *.memory_target=16106127360
  *.sga_max_size=16106127360
  *.pga_aggregate_target=0
将在新的pfile中添加上。
    这些参数包括:
  *.pga_aggregate_target=4194304000
  *.shared_pool_size=2000000000
  *.db_cache_size=16777216000
  *.large_pool_size=33554432

注意事项

有时会报ora-27102
可修改/ect/sysctl.conf
调整kernel.shmmax = 4294967296 调整到目标大小
生效

/sbin/sysctl -p

/sbin/sysctl -p

如果你安装oracle11g在linux系统山,则你设置的MEMORY_TARGET 或者MEMORY_MAX_TARGET不能超过共享内存段/dev/shm 的大小,

有如下错误ORA-845: MEMORY_TARGET not supported on this system


如果设置的过大,则需要扩展共享内存段的空间,例如:

# mount -t tmpfs shmfs -o size=7g /dev/shm

也可以通过修改/etc/fstab 来达到扩展的目的:

shmfs /dev/shm tmpfs size=7g 0

这种错误的发生也可能是没有mount上共享内存段:/dev/shm,可以通过执行以下命令来确认是否和以下输出类似:

$ df -k
Filesystem 1K-blocks Used Available Use% Mounted on


ipcs 可是查看内存segment 使用情况
ipcrs 可以清楚内存使用segment

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值