zoukankan      html  css  js  c++  java
  • 关闭或开启memory_target

    对于Oracle数据库内存参数配置大小,一般满足如下规则

    sga_target + pga_aggregate_target < memory_target <=memory_max_target
    
    sga_max_size < memory_target
    
    PGA_AGGREGATE_TARGET= memory_target - sga_target

    本篇文档,配置ASMM,ASM进行转换,进行配置。

    1.关闭ASM(关闭)memory_target

    SQL> show parameter memory
    NAME                VALUE
    ------------------------------
    memory_max_target    800M
    memory_target        720M

    SQL> show parameter pga

    
    

    NAME TYPE VALUE
    ------------------------------------ ---------------------- ------------------------------
    pga_aggregate_target big integer 175M
    SQL> show parameter sga

    NAME TYPE VALUE
    ------------------------------------ ---------------------- ------------------------------
    pre_page_sga boolean FALSE
    sga_max_size big integer 800M
    sga_target big integer 528M




    ******************关闭memory_target 两种方法
    方法一。参数修改方式

    SQL> alter system reset memory_max_target;
    SQL> alter system set memory_target=0;

    方法二(错误修改方式)
    SQL> alter system set memory_max_target=0 scope=spfile;
    SQL> alter system set memory_target=0;
    SQL> shutdown immediate;

    SQL> alter system set memory_target=0 scope=spfile; 要么数据库实例无法启动,要么并没有关闭memory管理方式
    方法三。编辑参数文件方式

    SQL> create pfile='/tmp/pfile.ora' from spfile;

    
    

    vi /tmp/pfile.ora

    修改前

    *.memory_max_target=0
    *.memory_target=0

    修改后

    #*.memory_max_target=0
    #*.memory_target=0

    SQL> create spfile from  pfile='/tmp/pfile.ora';
    SQL> startup

    2.启用ASM管理

    参数说明

    Memory_max_target 代表Oracle数据库总内存最大值
    
    memory_target 代表总内存最小值
    
    参数限制:memory_max_target(初始化参数:需要重启生效)
    
    Linux环境下:memory_max_target=>受到操作系统shared memory的影响:
    
    memory_max_target < /etc/fstab
    
    报错描述:
    
    ORA-00845: MEMORY_TARGET not supported on this system
    
    参数查看:
    
    [root@hukou ~]# df -h |grep tmpfs
    tmpfs                 1.7G     0  1.7G   0% /dev/shm
    
    操作系统shared memory大小增加:默认为系统整体内存的一半大小:修改后,size指定值
    
    解决方案:增加:vi /etc/fstab      
    
    tmpfs                   /dev/shm                tmpfs   defaults,size=3200m        0 0
    
    [root@hukou ~]# mount -o remount /dev/shm
    [root@hukou ~]# df -h |grep shm
    tmpfs                 3.2G     0  3.2G   0% /dev/shm
    
    
    
    参数限制:memory_target(在线即可修改) 报错信息: 内存的最小值:需要小于或者等于内存的最大值 ORA
    -00837: Specified value of MEMORY_TARGET greater than MEMORY_MAX_TARGET memory_target <= memory_max_target 报错信息:内存的最小值小于512M ORA-00838: Specified value of MEMORY_TARGET is too small, needs to be at least512M memory_target > sga_target +pga_aggregate_target sga_target big integer 400M pga_aggregate_target big integer 100M 参数限制:sga_max_size(初始化参数:需要重启生效) 参数说明: SGA区域内存最大值 报错信息:sga_max_size的值大于memory_target ORA-00851: SGA_MAX_SIZE 1048576000 cannot be set to more than MEMORY_TARGET 629145600. sga_max_size < memory_target 参数限制:sga_target(在线修改即可) 参数说明:SGA区域内存最小值 报错信息:SGA_TARGET 的值大于sga_max_size ORA-00823: Specified value of sga_target greater than sga_max_size SQL> show parameter pga NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ pga_aggregate_target big integer 100M 参数限制:pga_aggregate_target (在线修改即可)

     使用ASM管理,启用memory参数

    当前内存参数
    SQL> show parameter sga
    
    NAME                                 TYPE                   VALUE
    ------------------------------------ ---------------------- ------------------------------
    lock_sga                             boolean                FALSE
    pre_page_sga                         boolean                FALSE
    sga_max_size                         big integer            528M
    sga_target                           big integer            528M
    SQL> show parameter pga
    
    NAME                                 TYPE                   VALUE
    ------------------------------------ ---------------------- ------------------------------
    pga_aggregate_target                 big integer            192M

    按照规则,如果不修改sga/pga内存大小,那么memory_target >620M,memory_max_target >620M,
    memory_max_target小于操作系统内存参数最大值3.9G

    enmo:/home/oracle df -h |grep tmpfs
    tmpfs 3.9G 0 3.9G 0% /dev/shm

    本次参数配置: memory_target =620M,memory_max_target=2200m;

    方法一:

    SQL> alter system set memory_target=620m scope=spfile;

    SQL> alter system set memory_max_target=2200m scope=spfile;

    SQL> shutdown immediate;

    ---本次小学生算数错误,因此启动报错

    ORA-00838: Specified value of MEMORY_TARGET is too small, needs to be at least 720M

    ---由于本次数据库已关闭,因此无法通过sqlplus alter system 修改参数,可以通过手工编辑参数文件。   开车没开好

    方法二:

    SQL> create pfile='/tmp/pfile.ora' from spfile;

    vi /tmp/pfile.ora

    修改前

    *.memory_max_target=2306867200
    *.memory_target=650117120

    修改后

    *.memory_max_target=2306867200
    *.memory_target=720m

    SQL> create spfile from pfile='/tmp/pfile.ora';

    SQL> startup

    SQL> show parameter memory

    NAME TYPE VALUE
    ------------------------------------ ---------------------- ------------------------------
    hi_shared_memory_address integer 0
    memory_max_target big integer 2208M
    memory_target big integer 720M

  • 相关阅读:
    程序员编程武器大盘点
    Opencv 视频转为图像序列
    C/C++ 浮点数比较问题
    C/C++ Swap without using extra variable
    C/C++ Quick Sort Algorithm
    LaTeX 插图片
    LaTeX 基本的公式符号命令
    天龙八部服务器端共享内存的设计(1/3)
    天龙八部服务器端共享内存的设计(2/3)
    天龙八部服务器端共享内存的设计(2/3)
  • 原文地址:https://www.cnblogs.com/lvcha001/p/7892871.html
Copyright © 2011-2022 走看看