zoukankan      html  css  js  c++  java
  • AMM调整为ASMM命令(关闭memory_target自动管理方式)

    客户生产系统,AIX oracle 11.2.0.4 数据库版本,2节点RAC。

    操作系统内存,均为125G,调整前,使用oracle memory_target自动调整分配方式,memory_max_target大小80G大小,但是shared pool大小为21G。

    客户之前存在内存不够用(由于客户应用问题,导致几乎所有的SQL都需要重新硬解析,最终导致oracle shared pool大小不断变大、异常增长),导致数据库shutdown的情况,因此客户想调整oracle内存的分配方式。

    本次采用治标方法:将oracle内存限制,从memory_target自动管理分配方式,进行降级使用oracle automatic shared memory management,及sga/pga分别自动管理。

    一、从AMM调整为ASMM

    1)查询操作系统内存大小
    # svmon -G -O unit=GB Unit: GB ------------------------------------------------------------------------------- size inuse free pin virtual available memory 125.22 18.2 107.06 5.74 17.4 107.05 pg space 16.0 0.05 work pers clnt other pin 2.04 0 0.13 3.57 in use 17.4 0 0.73 # svmon -G -O unit=GB Unit: GB ------------------------------------------------------------------------------- size inuse free pin virtual available memory 125.00 102.58 22.4 19.7 77.9 43.0 pg space 16.0 0.21 work pers clnt other pin 16.0 0 0.13 3.57 in use 77.9 0 24.7 根据操作系统内存大小,进行比例分配。本次采用sga=64 /pga=24G不变大小,操作系统预留37G
    2)关闭memory_target,使用oracle sga/pga分别自动管理 alter system
    set memory_max_target=0 scope=spfile; alter system set memory_target=0 scope=spfile; alter system set sga_max_size=64G scope=spfile; alter system set sga_target=64G scope=spfile; pga_aggregate_target big integer 24G
    3)发现一个问题,关闭节点2所在数据库,重启节点1所在数据库报错
    ORA-00843: Parameter not taking MEMORY_MAX_TARGET into account
    ORA-00849: SGA_TARGET 10737418240 cannot be set to more than MEMORY_MAX_TARGET 0.
    本次采用的方式是一种较危险的操作,如果不熟悉oracle 参数文件管理方式,
    建议使用文档后续学习的mos建议,blog链接方法

    4)创建pfile参数文件,手工注释memory这两个oracle内存参数
    #备份 create pfile
    ='/tmp/20190125_node2.ora' from memory; create pfile='/tmp/20190125_spfile_node2.ora' from spfile; #拷贝编辑 cp /tmp/20190125_spfile_node2.ora /tmp/new_pfile.ora 注释new_pfile文件中的两个memory_target内存参数 SQL> show parameter pfile NAME VALUE ------------------------------------ ----------- ------------------------------ spfile +DATANEWDG/dbcnr/parameterfile/spfile.ora
    5)根据之前查询到的内容,重新覆盖生成最新的pfile文件,启动数据库即可(rac环境,使用所有的参数需要指明路径,以免出错)
    create spfile='+DATANEWDG/dbcnr/parameterfile/spfile.ora' from pfile='/tmp/new_pfile.ora';

    二、学习mos/blog搜索学习

    MOS

    ORA-00843, ORA-00849 When Trying To Change SGA_TARGET With MEMORY_MAX_TARGET=0 Being Active (文档 ID 1397761.1)
    Oracle Database - Enterprise Edition - Version 11.1.0.6 and later
    
    
    SYMPTOMS
    When trying to set SGA_TARGET using an ALTER SYSTEM command, the following errors are raised:
    
    ORA-00843: Parameter not taking MEMORY_MAX_TARGET into account
    ORA-00849: SGA_TARGET 10737418240 cannot be set to more than MEMORY_MAX_TARGET 0.
    
    CHANGES
    MEMORY_MAX_TARGET was set to 0.
    
    CAUSE
    The problem is caused by the MEMORY_MAX_TARGET parameter explicitly being set to 0. In case AMM should not be used, MEMORY_MAX_TARGET should not be set at all.
    
    SOLUTION
    The solutions to the problem are:
    1.0  本次使用的是方法1
    create a PFILE from the SPFILE being used and remove the MEMORY_MAX_TARGET=0 and MEMORY_TARGET=0 lines. 
    After that, use the modified PFILE to create a new SPFILE and start the instance with this new setup.
    
    2.0 另一种方式是通过参数rest重置清空参数(如果是隐含参数,使用reset将恢复默认值(待验证)) should the instance be running, then use the following commands to remove the
    explicit setting of MEMORY_TARGET=0 and MEMORY_MAX_TARGET=0: alter system reset memory_target; alter system reset memory_max_target;

    BLOG

    http://www.dbsnake.net/how-to-disable-asm-instance-amm.html
    --参考
    特别注意的是——如果要禁掉ASM实例的AMM,就一定不要同时reset memory_target和memory_max_target,
    而是应该将memory_target设为0并只reset memory_max_target,但很恶心的是基本上所有的MOS文档都在说要同时reset memory_target和memory_max_target,
    所以如果你没有注意到这一点,你会发现你怎么也禁不掉ASM实例的AMM。 未验证(如果是我下一次操作,可能会进行测试,这种影响较小,操作简便)
  • 相关阅读:
    Ajax跨域解决实例
    关于tween.js测试介绍
    signal() 和 sigaction()
    信号概述
    监控文件事件
    栈和栈帧
    进程结构和内存布局
    关于文件I/o的原子操作
    查询Linux系统中glibc的版本
    IOPS和Throughput
  • 原文地址:https://www.cnblogs.com/lvcha001/p/10325590.html
Copyright © 2011-2022 走看看