Oracle设置“服务”占用内存

目录:

版本1

Oracle12C

版本2

 

版本3

 

关键字

Oracle,服务,内存

 

  1. 问题现象
    1. 开启Oracle的服务后,占有极大的内存,如下图:

  1. 原因分析
    1. 理论上,Oracle自身服务需要占用内存是正常情况。在不使用的时候,可以通过关闭服务来解决。

    2. 如果需要Oracle长时间开启,可以通过减少sga的内存占用,来解决这一问题。但通过这一手段,必然会降低Oracle使用性能!!
  2. 处理步骤
    1. 用dba身份进入oracle,可以使用sqlplus修改(sqlplus 账号/密码  as sysdba);
      1. 若使用PL/SQL,可以在Command Window执行;
    2.  在cmd中输入:show parameter sga; --显示内存分配情况;要修改的就是红框部分;
  1. 使用:alter system set sga_max_size=200m scope=spfile; --修改占用内存的大小
  1. 配置完成后,出现“系统更改”字样,表示修改完成,重启Oracle服务即可;
  2. 这种方式,是直接修改sga的内存占用。如果对Oracle内存不太了解的话,这里的修改要非常谨慎!!!
    1. 所以,要使用Oracle的自动分配内存机制!
    2. 继续保持Oracle的登陆状态,在cmd输入:show parameter memory ---查看memory占用的内存

  1. Memory是Oracle的内存自动管理阀门。通过修改该属性,可以降低Oracle内存的总占用量,之后Oracle会根据此值,自动分配其他配置的所需内存!
    1. 修改这个值之后,还可以修改sga_max,要让sga的值小于memory的值。但这条不是必须的。一般只要修改memory的值即可!
  2. Cmd操作:alter system set memory_target=占用内存数值 scope=spfile;
    1. 修改完毕后,重启服务;
    2. 查看Oracle所占内存,已经得到缓解,同时,如果再次通过show parameter sga;命令,查看sga的值,会发现已经自动降低。这就是memory的功劳了。
  1. 效果

                      

  1. 附录
    1. 在此例里面,我将memory的值设定在500M
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值