zoukankan      html  css  js  c++  java
  • 在Oracle 11g中用看Oracle的共享内存段---------IPCS

    很早之前,在一次讲课了,用了命令ipcs,发现oracle的共享内段好小,如下:

    oracle@mydb ~]$ ipcs -a
    
    ------ Shared Memory Segments --------
    key        shmid      owner      perms      bytes      nattch     status      
    0x00000000 32768      root      644        72         2                       
    0x00000000 65537      root      644        16384      2                       
    0x00000000 98306      root      644        280        2                       
    0x00000000 1409028    oracle    640        4096       0                       
    0x00000000 1441797    oracle    640        4096       0                       
    0x079918e8 1474566    oracle    640        4096       0                       
    
    ------ Semaphore Arrays --------
    key        semid      owner      perms      nsems     
    0x87a36da4 1343489    oracle    640        154       
    
    ------ Message Queues --------
    key        msqid      owner      perms      used-bytes   messages   


    今天突然想起,刚好有空,来总结一下:

    上面显示Oracle共享内存段只有4096个字节,这太小了吧,哦,对了,我这是Oracle11g:

    sys@OCM> select * from v$version;
    
    BANNER
    --------------------------------------------------------------------------------
    Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
    PL/SQL Release 11.2.0.3.0 - Production
    CORE    11.2.0.3.0      Production
    TNS for Linux: Version 11.2.0.3.0 - Production
    NLSRTL Version 11.2.0.3.0 - Production


    Oraccle11g的对内存的管理用了两个新的参数:

    sys@OCM> show parameter memory
    
    NAME                                 TYPE        VALUE
    ------------------------------------ ----------- ------------------------------
    hi_shared_memory_address             integer     0
    memory_max_target                    big integer 1G
    memory_target                        big integer 0
    shared_memory_address                integer     0


    会不会是参数memory_max_target在作怪呢,把它关了试试,我这里把它设为0,然后重启数据库。

    sys@OCM> alter system set memory_max_target=0 scope=spfile;
    
    System altered.
    
    sys@OCM> startup force;
    ORACLE instance started.
    
    Total System Global Area  943669248 bytes
    Fixed Size                  2234000 bytes
    Variable Size             541067632 bytes
    Database Buffers          394264576 bytes
    Redo Buffers                6103040 bytes
    Database mounted.
    Database opened.

    再看共享内存:

    [oracle@mydb ~]$ ipcs -a
    
    ------ Shared Memory Segments --------
    key        shmid      owner      perms      bytes      nattch     status      
    0x00000000 32768      root      644        72         2                       
    0x00000000 65537      root      644        16384      2                       
    0x00000000 98306      root      644        280        2                       
    0x00000000 1802244    oracle    640        4096       0                       
    0x00000000 1835013    oracle    640        4096       0                       
    0x079918e8 1867782    oracle    640        4096       0                       
    
    ------ Semaphore Arrays --------
    key        semid      owner      perms      nsems     
    0x87a36da4 1736705    oracle    640        154       
    
    ------ Message Queues --------
    key        msqid      owner      perms      used-bytes   messages    
    



    怎么回事,没变啊?

    是不是参数没改对,继续校验参数:

    sys@OCM> show parameter mem
    
    NAME                                 TYPE        VALUE
    ------------------------------------ ----------- ------------------------------
    hi_shared_memory_address             integer     0
    memory_max_target                    big integer 904M
    memory_target                        big integer 0
    shared_memory_address                integer     0


    果然没改过来,是不是命令alter system set memory_max_target=0 scope=spfile;没用啊,不能怎么设,但这命令本身设置重启也没报错。

    来个狠一点的命令重置默认值:

    sys@OCM> alter system reset memory_max_target;
    
    System altered.
    
    sys@OCM> startup force;
    ORACLE instance started.
    
    Total System Global Area  680665088 bytes
    Fixed Size                  2231352 bytes
    Variable Size             276825032 bytes
    Database Buffers          394264576 bytes
    Redo Buffers                7344128 bytes
    Database mounted.
    Database opened.
    sys@OCM> show parameter mem
    
    NAME                                 TYPE        VALUE
    ------------------------------------ ----------- ------------------------------
    hi_shared_memory_address             integer     0
    memory_max_target                    big integer 0
    memory_target                        big integer 0
    shared_memory_address                integer     0


    这下可以了,参数memory_max_target终于等于0了。

    我们再来看ORACLE共享内存:

    [oracle@mydb ~]$ ipcs -a
    
    ------ Shared Memory Segments --------
    key        shmid      owner      perms      bytes      nattch     status      
    0x00000000 32768      root      644        72         2                       
    0x00000000 65537      root      644        16384      2                       
    0x00000000 98306      root      644        280        2                       
    0x00000000 1933316    oracle    640        12582912   30                      
    0x00000000 1966085    oracle    640        671088640  30                      
    0x079918e8 1998854    oracle    640        2097152    30                      
    
    ------ Semaphore Arrays --------
    key        semid      owner      perms      nsems     
    0x87a36da4 1867777    oracle    640        154       
    
    ------ Message Queues --------
    key        msqid      owner      perms      used-bytes   messages    
    


    可以了!已从4096字节变成671088640多字节了。 大笑,总结只要把参数memory_max_target设为0就能看到。这里不建议大家去这样改,只是为了解释一下这个现象。

    上面那幅图留给童鞋们思考,不再解释了。。。

    QQ:252803295

    技术交流QQ群:
    DSI&Core Search  Ⅰ 群:127149411(2000人技术群:未满)
    DSI&Core Search  Ⅱ 群:177089463(1000人技术群:未满)
    DSI&Core Search  Ⅲ 群:284596437(500人技术群:未满)
    DSI&Core Search  Ⅳ 群:192136702(500人技术群:未满)
    DSI&Core Search  Ⅴ 群:285030382(500人闲聊群:未满)

    MAIL:dbathink@hotmail.com

    BLOG: http://blog.csdn.net/guoyjoe

    WEIBO:http://weibo.com/guoyJoe0218

    ITPUB: http://www.itpub.net/space-uid-28460966.html

    OCM:   http://education.oracle.com/education/otn/YGuo.HTM 

    ACONG:  http://www.acoug.org/category/membership

  • 相关阅读:
    Linux目录图解
    Linux-Monitor-Tools
    常用系统及工具下载
    vim 编辑器常规使用
    Win10 安装.NET framework 3.5
    Apache 2.4.6 新增虚拟目录
    html5
    CentOS 7 修改ssh端口
    CentOS7 设置密码复杂度
    CentOS 7安装 hping
  • 原文地址:https://www.cnblogs.com/riasky/p/3375703.html
Copyright © 2011-2022 走看看