System defined Shared memory limits

Hello,
I am in a situation where I want to determine the system defined shared memory limits in a process on Solaris 7.
Is there a system call or a library function which can serve this information on the system?
I want to avoid using system() function or popen().

Your problem seemed reasonable. What were you doing wrong?
Darren

Similar Messages

  • ORA-27123 unable to attach shared memory segment

    Running oracle 8.1.5.0.0 on Redhat 6.0 with kernel 2.2.12, I keep getting the error ORA-27123 unable to attach shared memory segment when trying to startup and instance with an SGA > 150 MB or so. I have modified the shmmax and shmall kernel parameters via the /proc/sys interface. The relevant output of ipcs -l is below:
    ------ Shared Memory Limits --------
    max number of segments = 128
    max seg size (kbytes) = 976562
    max total shared memory (kbytes) = 16777216
    min seg size (bytes) = 1
    This system has 2gb of physical memory and is doing nothing except oracle.
    I changed the shmmax and shmall parameters after the instance was created, was their something I needed to do to inform Oracle of the changes?

    High JW,
    i had the same problem on my installation.
    The solution is written in the Oracle8i Administrator Refernece on page 1-26 "Relocating the SGA"
    a) determine the valid adress range for Shared Memory with:
    $ tstshm
    in the output Lowest & Highest SHM indicate the valid adress range
    b) run genksms to generate the file ksms.s
    $ cd $ORACLE_HOME/rdbms/lib
    $ $ORACLE_HOME/bin/genksms -b "sga_beginn_adress" > ksms.s
    c) shut down any instance
    d) rebuilt the oracle exe in $ORACLE_HOME/rdbms/lib
    $ make -f ins_rdbms.mk ksms.o
    $ make -f ins_rdbms.mk ioracle
    the result is a new oracle kernel that loads the SGA at the adress specified in "sga_beginn_adress".
    regards
    Gerhard

  • Shared memory and ABAP

    Dear developers,
    I have some documentation on ABAP SHARED OBJECTS and I wonder how I could define shared memory objects at run time ( so I would need something like an API ) instead of using the SHMA transaction.
    I actually also wonder what would happen if 2 users of the same shared object would call on one of its methods ? Can we have concurrent access ? How does the whole locking thing works ? Is it possible to implement waiting calls/locks ?
    If you have any serious/technical documentation on semaphores/locks in SAP/ABAP I'd also be very interested.
    Sincerely,
    Olivier MATT

    Hi matt,
                This is vijay here.
                                          if you r working on frequntly changed data then you must use this locking technique.
    well jus go to se11 and make a lock object by starting initial......EZ....
    EX: EZENMARA.
    then u can fix the lock as shared or (exclusive,cumulative) or( exclusive, not cumulative)
    you can also fix the lock parameters like  specific fields.then jus save and activate.
    and when you will make a program jus call the function module enqueue_ezenmara for locking and dequeue_ezenmara for unlocking and u can get rest in my program.
    regards
    vijay
    rewards if answer is helpfull.
    TABLES: MARA.
    PARAMETER: MATNR LIKE MARA-MATNR.
    CALL FUNCTION 'ENQUEUE_EZENMARA'
    EXPORTING
       MODE_MARA            = 'S'
       MANDT                = SY-MANDT
      MATNR                =
       X_MATNR              = 'MATNR'
      _SCOPE               = '2'
      _WAIT                = ' '
      _COLLECT             = ' '
    EXCEPTIONS
      FOREIGN_LOCK         = 1
      SYSTEM_FAILURE       = 2
      OTHERS               = 3
    IF SY-SUBRC = 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    WRITE: 'TABLE IS LOCKED'.
    ELSE.
    SELECT * FROM MARA WHERE MATNR = MATNR.
    WRITE:/ MARA-MATNR,MARA-ERNAM,MARA-MTART.
    ENDSELECT.
    ENDIF.

  • 1494 ERROR: xa_open() - failed to get shared memory

    Hi,
    I am getting the following error when I try to create a Q Space with number of
    messages in it as 5,00,000. But if I try the same for 4,00,000 messages, it is
    successful.
    I checked the Shared memory in the machine and it is much more than it is required
    for 5,00,000 messages Q Space.
    Do I need to tune any other operating system parameter ?
    1494 ERROR: xa_open() - failed to get shared memory, key = key, errno = errno
    Description
    While opening the queue space, xa_open() was unable to get the necessary shared
    memory. The error number, errno, is printed in the message.
    Action
    This failure can be caused by a number of reasons but the most likely is that
    either the amount of shared memory requested would cause an operating system tunable
    to be exceeded (shared memory for the system or shared memory identifiers), or
    another application is using the same key. Determine and correct the problem.
    Thanks
    Vipul

    Peter,
    the errno value is 22
    thanks
    Vipul.
    Peter Holditch <[email protected]> wrote:
    vipul,
    What errno value did you get when you saw this message?
    Regards,
    Peter.
    vipul wrote:
    Hi,
    I am getting the following error when I try to create a Q Space withnumber of
    messages in it as 5,00,000. But if I try the same for 4,00,000 messages,it is
    successful.
    I checked the Shared memory in the machine and it is much more thanit is required
    for 5,00,000 messages Q Space.
    Do I need to tune any other operating system parameter ?
    1494 ERROR: xa_open() - failed to get shared memory, key = key, errno= errno
    Description
    While opening the queue space, xa_open() was unable to get the necessaryshared
    memory. The error number, errno, is printed in the message.
    Action
    This failure can be caused by a number of reasons but the most likelyis that
    either the amount of shared memory requested would cause an operatingsystem tunable
    to be exceeded (shared memory for the system or shared memory identifiers),or
    another application is using the same key. Determine and correct theproblem.
    Thanks
    Vipul

  • Shared memory (System V-style) - High usage of phys memory and page outs

    Hi!
    I get a much higher usage of physical memory when I use shared memory than I would expect. Please, I would really need someone to confirm my conclusions, so that I can revise my ignorance in this subject.
    In my experiments I create a shared memory segment of 200 MB and I have 7 processes attaching to it. I have a ws of 1 GB.
    I expect to see what I see when I attach to the shared memory segment in terms of virtual size, i.e. SIZE in prstat. After attaching (mapping it) to the process all 7 processes are about ~203 MB each and this makes sense. RSS, in prstat, is about 3 MB for each process and this is ok to me too.
    It is what I see when each of the 7 processes start to write a simple string like 'Hello!' in parallel to each page in their shared memory segment that I get surprised. I run out of memory on my ws after a while and the system starts to wildly page out physical memory to disk so that the next 'Hello!' can be written to the next page in the shared memory segment. It seems that each page written to in the shared memory chunk is mapped into each process private address space. This means that the shared memory is not physically shared, just virtually shared. Is this correct?
    Can memory be physically shared, so that my 7 processes only use 200 MB? ISM? DISM?
    I create a shared memory segment in a C-program with the following calls:
    shmid = shmget(key, SHM_SIZE, 0644 | IPC_CREAT)
    data = shmat(shmid, (void *)0, 0);Thanks in advance
    /Sune

    Your problem seemed reasonable. What were you doing wrong?
    Darren

  • How is new Mac mini's shared video memory limited?

    If I upgrade my memory, say from 1GB to 4GB, will the limit of shared memory size be raised?

    You've actually posted in the iPod Mini forum.
    Look here for the Mac Mini forum:
    http://discussions.apple.com/category.jspa?categoryID=158
    Best of luck.

  • Error message: ORA-27125: unable to create shared memory segment Linux-x86_

    Hi,
    I am doing an installtion of SAP Netweaver 2004s SR3 on SusE Linux 11/Oracle 10.2
    But i am facing the follow issue in Create Database phase of SAPInst.
    An error occurred while processing service SAP NetWeaver 7.0 Support Release 3 > SAP Systems > Oracle > Central System > Central System( Last error reported by the step :Caught ESAPinstException in Modulecall: ORA-27125: unable to create shared memory segment Linux-x86_64 Error: 1: Operation not permitted Disconnected
    Please help me to resolve the issue.
    Thanks,
    Nishitha

    Hi Ratnajit,
    I am too facing the same error but my ORACLE is not starting,
    Here are my results of following command:
    cat /etc/sysctl.conf
    # created by /sapmnt/pss-linux/scripts/sysctl.pl on Wed Oct 23 22:55:01 CEST 2013
    fs.inotify.max_user_watches = 65536
    kernel.randomize_va_space = 0
    ##kernel.sem = 1250 256000 100 8192
    kernel.sysrq = 1
    net.ipv4.conf.all.promote_secondaries = 1
    net.ipv4.conf.all.rp_filter = 0
    net.ipv4.conf.default.promote_secondaries = 1
    net.ipv4.icmp_echo_ignore_broadcasts = 1
    net.ipv4.neigh.default.gc_thresh1 = 256
    net.ipv4.neigh.default.gc_thresh2 = 1024
    net.ipv4.neigh.default.gc_thresh3 = 4096
    net.ipv6.neigh.default.gc_thresh1 = 256
    net.ipv6.neigh.default.gc_thresh2 = 1024
    net.ipv6.neigh.default.gc_thresh3 = 4096
    vm.max_map_count = 2000000
    # Modified for SAP on 2013-10-24 07:14:17 UTC
    #kernel.shmall = 2097152
    kernel.shmall = 16515072
    # Modified for SAP on 2013-10-24 07:14:17 UTC
    #kernel.shmmax = 2147483648
    kernel.shmmax = 67645734912
    kernel.shmmni = 4096
    # semaphores: semmsl, semmns, semopm, semmni
    kernel.sem = 250 32000 100 128
    fs.file-max = 65536
    net.ipv4.ip_local_port_range = 1024 65000
    net.core.rmem_default = 262144
    net.core.rmem_max = 262144
    net.core.wmem_default = 262144
    net.core.wmem_max = 262144
    And here is mine Limit.conf File
    cat /etc/security/limits.conf
    #<domain>      <type>  <item>         <value>
    #*               soft    core            0
    #*               hard    rss             10000
    #@student        hard    nproc           20
    #@faculty        soft    nproc           20
    #@faculty        hard    nproc           50
    #ftp             hard    nproc           0
    #@student        -       maxlogins       4
    # Added for SAP on 2012-03-14 10:38:15 UTC
    #@sapsys          soft    nofile          32800
    #@sapsys          hard    nofile          32800
    #@sdba            soft    nofile          32800
    #@sdba            hard    nofile          32800
    #@dba             soft    nofile          32800
    #@dba             hard    nofile          32800
    # End of file
    # Added for SAP on 2013-10-24
    #               soft    nproc   2047
    #               hard    nproc   16384
    #               soft    nofile  1024
    #               hard    nofile  65536
    @sapsys                 soft   nofile          131072
    @sapsys                 hard   nofile         131072
    @sdba                  soft  nproc          131072
    @sdba                  hard   nproc         131072
    @dba                 soft    core           unlimited
    @dba                 hard     core          unlimited
                      soft     memlock       50000000
                      hard     memlock       50000000
    Here is mine   cat /proc/meminfo
    MemTotal:       33015980 kB
    MemFree:        29890028 kB
    Buffers:           82588 kB
    Cached:          1451480 kB
    SwapCached:            0 kB
    Active:          1920304 kB
    Inactive:         749188 kB
    Active(anon):    1136212 kB
    Inactive(anon):    39128 kB
    Active(file):     784092 kB
    Inactive(file):   710060 kB
    Unevictable:           0 kB
    Mlocked:               0 kB
    SwapTotal:      33553404 kB
    SwapFree:       33553404 kB
    Dirty:              1888 kB
    Writeback:             0 kB
    AnonPages:       1135436 kB
    Mapped:           161144 kB
    Shmem:             39928 kB
    Slab:              84096 kB
    SReclaimable:      44400 kB
    SUnreclaim:        39696 kB
    KernelStack:        2840 kB
    PageTables:        10544 kB
    NFS_Unstable:          0 kB
    Bounce:                0 kB
    WritebackTmp:          0 kB
    CommitLimit:    50061392 kB
    Committed_AS:    1364300 kB
    VmallocTotal:   34359738367 kB
    VmallocUsed:      342156 kB
    VmallocChunk:   34359386308 kB
    HardwareCorrupted:     0 kB
    AnonHugePages:    622592 kB
    HugePages_Total:       0
    HugePages_Free:        0
    HugePages_Rsvd:        0
    HugePages_Surp:        0
    Hugepagesize:       2048 kB
    DirectMap4k:       67584 kB
    DirectMap2M:    33486848 kB
    Please let me know where i am going wrong.
    Wat thing basically u check on /proc/meminfo command
    Regards,
    Dipak

  • Standard Edition Memory Limitations

    What is the upper memory limitation for the SGA size when using Standard Edition 9.x on Windows 2000?
    What about Enterprise?

    According what I know the SGA in one OS is limited by the OS and the parameter SGA_MAX_SIZE. I have never heard that SGA has limitations related to the license.
    SGA_MAX_SIZE
    Parameter type
    Big integer
    Syntax
    SGA_MAX_SIZE = integer [K | M | G]
    Default value
    Initial size of SGA at startup, dependent on the sizes of different pools in the SGA, such as buffer cache, shared pool, large pool, and so on.
    Parameter class
    Static
    Range of values
    0 to operating system-dependent
    SGA_MAX_SIZE specifies the maximum size of SGA for the lifetime of the instance.
    http://download-west.oracle.com/docs/cd/B10501_01/server.920/a96536/ch1190.htm#REFRN10198
    Joel P�rez

  • Oracle 11g problem with creating shared memory segments

    Hi, i'm having some problems with the oracle listener, when i'm trying to start it or reload it I get the follow error massages:
    TNS-01114: LSNRCTL could not perform local OS authentication with the listener
    TNS-01115: OS error 28 creating shared memory segment of 129 bytes with key 2969090421
    My system is a: SunOS db1-oracle 5.10 Generic_144489-06 i86pc i386 i86pc (Total 64GB RAM)
    Current SGA is set to:
    Total System Global Area 5344731136 bytes
    Fixed Size 2233536 bytes
    Variable Size 2919238464 bytes
    Database Buffers 2399141888 bytes
    Redo Buffers 24117248 bytes
    prctl -n project.max-shm-memory -i process $$
    process: 21735: -bash
    NAME PRIVILEGE VALUE FLAG ACTION RECIPIENT
    project.max-shm-memory
    privileged 64.0GB - deny
    I've seen that a solution might be "Make sure that system resources like shared memory and heap memory are available for LSNRCTL tool to execute properly."
    I'm not exactly sure how to check that there is enough resources?
    I've also seen a solution stating:
    "Try adjusting the system-imposed limits such as the maximum number of allowed shared memory segments, or their maximum and minimum sizes. In other cases, resources need to be freed up first for the operation to succeed."
    I've tried to modify the "max-sem-ids" parameter and set it to recommended 256 without any success and i've kind of run out of options what the error can be?
    /Regards

    I see, I do have the max-shm-ids quite high already so it shouldn't be a problem?
    user.oracle:100::oracle::process.max-file-descriptor=(priv,4096,deny);
    process.max-stack-size=(priv,33554432,deny);
    project.max-shm-memory=(priv,68719476736,deny)

  • Solaris 10 shared memory config/ora 11g

    The ora 11 install guide for spark solaris 10 is very confusing wrt shared memory and my system does not seem to using memory correctly, lots of swapping on an 8GB real memory system.
    The doc says to set /etc/system to:
    shmsys:shminfo_shmmax project.max-shm-memory 4294967296
    but infers that this is not used.
    Then, the doc states to set a project shared mem value of 2GB:
    # projmod -sK "project.max-shm-memory=(privileged,2G,deny)" group.dba
    Why is this number different?
    By setting to to 2G as documented oracle did not work at all and so I found Note:429191.1
    on the solaris 10 memory which hints that these numbers should be big:
    % prctl -n project.max-shm-memory -r -v 24GB -i project oracle_dss
    % prctl -n project.max-shm-memory -i project oracle_dss
    project: 101: oracle_dss
    NAME PRIVILEGE VALUE FLAG ACTION RECIPIENT
    project.max-shm-memory
    privileged 24.0GB - deny -
    system 16.0EB max deny
    Is there some logic in how to get solaris 10/ora 11 to hold hands. The install doc does not seem to contain it.

    system does not seem to using memory correctly, lots of swapping on an 8GB real memory system.We could start (for example) with this question - How big is your SGA or how much of 8GB RAM takes your SGA?
    The doc says to set /etc/system to:
    shmsys:shminfo_shmmax project.max-shm-memory 4294967296
    but infers that this is not used.From documentation:
    In Solaris 10, you are not required to make changes to the /etc/system file to implement the System V IPC. Solaris 10 uses the resource control facility for its implementation. However, Oracle recommends that you set both resource control and /etc/system/ parameters. Operating system parameters not replaced by resource controls continue to affect performance and security on Solaris 10 systems.
    Then, the doc states to set a project shared mem value of 2GB:
    # projmod -sK "project.max-shm-memory=(privileged,2G,deny)" group.dba
    Why is this number different?It's an example how "To set the maximum shared memory size to 2 GB"
    By setting to to 2G as documented oracle did not work at all Docs says:
    On Solaris 10, verify that the kernel parameters shown in the following table are set to values greater than or equal to the recommended value shown.
    If your SGA was greater than 2G I'm nor wondering why "oracle did not work at all".
    So for 4GB SGA (for example) you need allow allocation of 4G of shared memory.
    Note: shmsys:shminfo_shmmax != project.max-shm-memory. "project.max-shm-memory" is replacement of "shmsys:shminfo_shmmax" but function of these parameters differs.
    "project.max-shm-memory resource control limits the total amount of shared memory of one project, whereas previously, the shmsys:shminfo_shmmax parameter limited the size of a single shared memory segment."
    Relevant link to Sun docs: http://docs.sun.com/app/docs/doc/819-2724/chapter1-33

  • Shared memory in solaris 10 with oracle

    Hi, I am a newbie to solaris and i have some questions on shared memory, Oracle in Solaris
    My Questions might seem different, however please do read and try to answer. Thanks in advance.
    1) if a solaris server has say 40gb of Ram, what would be the maximum size of a shared memory segment in this machine?
    I know that if the server has 40GB. then max shared memory size is 10GB i.e. one fourth of ram, however not sure
    2) What is the maximum size of a shared memory segment in solaris that a root user can define.
    + i know that its some where near 14 GB not very sure +
    3) Assume i have created a user X and i allocated say 10GB limit for this user for shared memory.
    I login to solaris using X and now, can i increase the size of the shared memory that this user can use?
    I have a situation, where the root user, created a user named DBA and the root user allocated some 15gb for this DBA user as the max SHM limit.
    Now the DBA user has set the max limit for shared memory as 1TB, which is causing hell of problems in the system.
    * I am Not very sure on the concept. I am new to this product and facing this problem. please advice.*
    + Thanks +
    Krishnakanth (Simply KK)

    Not sure why your "oracle" user (owner who will be creating the instance) has been assigned the project user.root. I would say create a seperate project may be "dba" and give access to this project to the owner of the user who will be creating the oracle instance.
    and then try to issue the command:
    prctl -n project.max-shm-memory -v 8gb -r -i project dba
    and check to see if you are still facing a problem?
    Edited by: somjitdba on Apr 2, 2009 9:54 PM

  • Increase shared memory by IGD (intel HD)

    when will the shared memory for intel HD graphics processor can be increase more than 256MB? some motherboard with some brand can assign until 1GB of RAM to the integrated graphic. future BIOS development should focus on this matter. 
    thank you
    azuan

    Quote from: azuan on 07-October-13, 10:32:54
    the reason i asked is because the 'manual allocation' in the bios menu only limited to 256MB only.
    The BIOS has no control over the video memory.
    That 64/128/256 MB value is a legacy and it means the reserved system RAM for GPU.
    Most of the GPUs don't need more than 64MB to operate properly.
    But it's better to give them 128 or 256MB.
    Why?
    The "plug & play" (automatic allocation) mechanism was never a perfect one.
    Two devices sharing the same I/O addressing space might lead to conflicts and system crashes.
    You don't want another device to share system RAM with your GPU.
    For this reason it's much better to "lock" that RAM area and to reserve it for the GPU.
    Coming back to video memory, that will be allocated much later (after the OS is loaded) by the GPU.
    Intel Dynamic Video Memory Technology is used for that.
    Depending on the GPU, installed system RAM and application demand, up to 1.7 GB system RAM can be reserved as video memory.
    Edited:
    http://www.intel.com/support/graphics/sb/CS-029090.htm
    Up to 1.7GB usable video memory for HD 2000, 3000, 4000 and 4600 (all the Gen 2/Gen 3/Gen 4 Intel processors).

  • SHARED MEMORY 문제(ORA-7329, ORA-7331, ORA-7279)

    제품 : ORACLE SERVER
    작성날짜 : 2004-07-22
    SHARED MEMORY 문제(ORA-7329, ORA-7331, ORA-7279)
    ================================================
    PURPOSE
    다음은 shared memory 문제가 발생하는 경우(ora-7329,ora-7331,
    ora-7279) 에 대해서 알아본다.
    Explanation
    1. 왜 Problem 이 생기나?
    * Oracle 은 Process와 SGA(System Global Area) 간의
    Communication를 위해 Shared Memory와 Semaphore 를 사용한다.
    Oracle Instance 가 뜰 때 SGA를 Create하기 위해 Main Memory의
    임의의 부분을 할당하는데 이 때 Shared Memory 나 Semaphore 가
    적절하지 않으면 이에 관련한 Error가 발생한다.
    2. 해결 방안
    SGA는 Shared Memory 안에 생기므로 Shared Memory 는 각 Process에게
    사용 가능해야 한다.
    Shared memory 와 Semaphore parameter 는
    - SHMMAX = 1개의 shared memory segment 의 maximum size,
    SGA 크기 이상
    - SHMMIN = 1개의 shared memory segment 의 minimum size, 1 byte
    - SHMMNI = shared memory identifier의 숫자, 100 이상
    - SHMSEG = 1개의 process에 attach되는 shared memory segment의
    maximum 갯수, 10 이상
    - SEMMNS = system의 semaphore 갯수, 200 이상
    - SEMMNI = 시스템에서 identifier를 setting하는 semaphore 수,
    70 이상
    - SEMMSL = semaphore set 당 최대 semaphore 갯수,
    initSID.ora 의 processes 값 이상
    * 추천하는 Semaphore와 Shared Memory Parameter
    Operating System Shared Memory Parameters Semaphore
    ================================================================
    Sun OS
    SHMSIZE = 32768 SEMMNS = 200
    SHMMNI = 50 SEMMNI = 50
    Solaris
    SHMMAX = 8388608 SEMMNS = 200
    SHMSEG = 20 SEMMSL = 50
    SHMMNI = 100 SEMMNI = 70
    HP/UX
    SHMMAX = 0x4000000(64Mb) SEMMNS = 128
    SHMSEG = 12 SEMMNI = 10
    Digital Unix (DEC Alpha OSF/1)
    SHMMAX = 4194304 SEMMNS = 60
    SHMSEG = 32 SEMMSL = 25
    Ultrix Use System Default     SEMNS SEMMSL = 5
    AT&T Unix
              SHMMAX = RAM-Dependant     SEMMNS = 200
    8 or 16Mb RAM
              SHMMAX = 5 Mb     For All RAM
    32 Mb RAM
              SHMMAX = 8 Mb Values
    64 Mb RAM
              SHMMAX = 16 Mb
    128 Mb RAM
              SHMMAX = 32 Mb
    256 Mb RAM
              SHMMAX = 64 Mb
    512 Mb RAM
              SHMMAX = 128 Mb
    1024 Mb RAM
              SHMMAX = 256 Mb
    2048 Mb RAM
              SHMMAX = 512 Mb
              SHMSEG = 6 for all RAM Values
              SHMMIN = 1 for all RAM Values
    Dynix/PTX
              SHMMAX = 11010048 SEMMNS = 200
              SHMSEG = 20 SEMMSL = 85
    Other Parameter     NOFILES = 128
    DG/UX
              SHMMAX = 4194304 SEMMNS = 200
              SHMSEG = 15
    Shared Memory 와 Semaphore Parameter는 OS 의 Kernel Configuration
    화일에 반드시 지정되어야 하며, File의 위치는 OS마다 차이가 있다.
    현재의 Shared Memory 와 Semaphore Configuration 을 알기 위해서는
    다음의 Command를 이용한다.
    $ sysdef |more
    * HP-UX (relevant sections only) 에서의 예:
    Semaphore 관련 Parameters
    - maximum value for semaphores(semaem)= 16384
    - Semaphore map(semmap)= 4098
    - number of semaphore identifiers(semmni) = 4096
    - total number of semaphores in the system(semmns) = 8192
    - number of semaphore undo structures(semmnu) = 1536
    - semaphore undo entries per process(semume) = 512
    - semaphore maximum value(semvmx) = 32767
    Shared Memory 관련 Parameters
    - maximum shared memory segment size in bytes(shmmax) = 536870912
    - minimum shared memory segment size in bytes(shmmin) = 1
    - maximum shared memory segments in system (shmmni) = 512
    - maximum shared memory segments per process(shmseg) = 512
    NOTE: SHMMAX는 현 system에 8개의 instance가 수행될 수 있는
    충분한 값이다.
    * Shared memory 또는 semaphore parameters 를 변경하기 위해서는 ...
    1. Oracle Instance를 Shutdown 한다.
    2. OS의 Kernel Configuration File이 있는 곳으로 간다.
    3. System Utility 또는 Editor를 이용해서 필요한 값을 바꾼다.
    System Utility는 다음과 같다
    | OS |     Utility     |
    | HP/UX | SAM     |
    | SCO     |     SYSADMSH |
    | AIX     |     SMIT     |
    | Solaris |     ADMINTOOL |
    4. Kernel 을 Reconfigure 한다.
    5. System을 Reboot 한다.
    6. Oracle Instance를 startup시킨다.
    [ 예제 ] Solaris 2.3/2.4 parameters and commands:
    1. SQLDBA 에서 :
    SQLDBA> shutdown
    SQLDBA> exit
    2. Superuser(root)로 login 하고 :
    # cd /etc
    3. /etc/system file 에 다음을 추가 한다:
    set shmsys:shminfo_shmmax=8388608
    set shmsys:shminfo_shmmin=1
    set shmsys:shminfo_shmmni=100
    set shmsys:shminfo_shmseg=20
    set semsys:seminfo_semmns=200
    set semsys:seminfo_semmni=70
    4. Kernel을 reconfigure 한다:
    # touch /reconfigure
    5. Machine 을 reboot 한다:
    #init 6
    6. SQLDBA 에서 :
    SQLDBA> startup
    SQLDBA> exit
    Oracle의 init<SID>.ora 파라미터 화일에는 SGA에 영향을 주는
    Parameter들이 있다. OS의 Shared Momory와 Semaphore Parameter에
    연결된 이 Parameter의 setting은 System과 Oracle의 Performance에
    중요한 영향을 미친다.
    Reference Documents
    <Note:1011658.6>

    system does not seem to using memory correctly, lots of swapping on an 8GB real memory system.We could start (for example) with this question - How big is your SGA or how much of 8GB RAM takes your SGA?
    The doc says to set /etc/system to:
    shmsys:shminfo_shmmax project.max-shm-memory 4294967296
    but infers that this is not used.From documentation:
    In Solaris 10, you are not required to make changes to the /etc/system file to implement the System V IPC. Solaris 10 uses the resource control facility for its implementation. However, Oracle recommends that you set both resource control and /etc/system/ parameters. Operating system parameters not replaced by resource controls continue to affect performance and security on Solaris 10 systems.
    Then, the doc states to set a project shared mem value of 2GB:
    # projmod -sK "project.max-shm-memory=(privileged,2G,deny)" group.dba
    Why is this number different?It's an example how "To set the maximum shared memory size to 2 GB"
    By setting to to 2G as documented oracle did not work at all Docs says:
    On Solaris 10, verify that the kernel parameters shown in the following table are set to values greater than or equal to the recommended value shown.
    If your SGA was greater than 2G I'm nor wondering why "oracle did not work at all".
    So for 4GB SGA (for example) you need allow allocation of 4G of shared memory.
    Note: shmsys:shminfo_shmmax != project.max-shm-memory. "project.max-shm-memory" is replacement of "shmsys:shminfo_shmmax" but function of these parameters differs.
    "project.max-shm-memory resource control limits the total amount of shared memory of one project, whereas previously, the shmsys:shminfo_shmmax parameter limited the size of a single shared memory segment."
    Relevant link to Sun docs: http://docs.sun.com/app/docs/doc/819-2724/chapter1-33

  • Shared memory settings from 32 to 64 bit Oracle

    Hello,
    Questions about Oracle and Shared Memory from 32bit to 64bit Oracle
    I have a Sun Sparc V880 server running Solaris 9 with 8xCPUs and 16gb of Ram. It is currently running 6 Oracle (32 bit) 9.2 databases which we are planning to upgrade to 10.2. My question regards the setting of the Solaris 9 kernel parameters speciifically 'shminfo_shmmax'. This is currently set to - 'shmsys:shminfo_shmmax=4294967295'which I believe is the maximum amount of shared memory which can be allocated to a 32bit version of Oracle and the one recommended by Oracle.
    Running 'show sga' on all of the current 9.2 databases returns
    Total System Global Area
    DB     SGA(bytes)
    db1     772528008
    db2     789305244
    db3     772528008
    db4     114021228
    db5     791238556
    db6     789305244
    Total = 4045703524 bytes or 3.76786 gb.
    1. Does this mean that each Oracle 32bit database can only use up to a maximum of about 4gb of shared memory or that all 6 together can only use up to 4gb ? resulting in 12gb being available for other (non Oracle) processes.
    2. I have noticed (through 'sar' stats) that the server occasionally pages (non zero values for pgscan/s and pgfree/s etc.). Since the server mostly only runs the Oracle databases, is this because Oracle can only use circa 4gb of Ram before it starts paging ?
    3. If both 9.2 and 10.2 Oracle databases are run on the server would increasing the value of shminfo_shmmax then allow the 10.2 databases to use more of the 16gb of Ram, while still limiting the 32bit databases to the 4gb limit ?
    Any help here would be appreciated

    Pl see if MOS Doc 467960.1 (How Important It Is To Set shmsys:shminfo_shmmax Above 4 GB) and the notes it references can help
    HTH
    Srini

  • SAPOSCOL Problems with Shared Memory

    Has anyone had any problems in either starting the saposcol or with keeping it running?  We have noticed multiple problems for several years now, and are at a point where the saposcol is not running at all on any of our servers, nor can we start it running.
    We're seeing "SAPOSCOL not running ? (Shared memory not available)".  I am working with SAP with two different customer messages trying to determine why we cannot start the saposcol.
    Does anyone have any ideas?
    Thanks,
    Traci Wakefield
    CV Industries

    I do have entries in the os-collector log:
          SAPOSCOL version  COLL 20.89 640 - AS/400 SAPOSCOL Version 18 Oct 2005, 64 bit, single threaded, Non-Unicode
          compiled at   Nov 26 2005
          systemid      324 (IBM iSeries with OS400)
          relno         6400
          patch text    COLL 20.89 640 - AS/400 SAPOSCOL Version 18 Oct 2005
          patchno       102
          intno         20020600
          running on    CENTDB1 OS400 3 5 0010000A1E1B
    13:25:06 28.02.2007   LOG: Profile          : no profile used
    13:25:06 28.02.2007   LOG: Saposcol Version  : [COLL 20.89 640 - AS/400 SAPOSCOL Version 18 Oct 2005]
    13:25:06 28.02.2007   LOG: Working directory : /usr/sap/tmp
    13:26:01 28.02.2007   LOG: Shared Memory Size: 339972.
    13:26:01 28.02.2007   LOG: INFO: size = (1 + 60 + 3143) * 106 + 348.
    13:26:01 28.02.2007   LOG: Connected to existing shared memory.
    13:26:01 28.02.2007   LOG: Reused shared memory. Clearing contents.
    13:26:04 28.02.2007   LOG: Collector daemon started
    13:26:04 28.02.2007   LOG: read coll.put Wed Feb 28 13:22:01 2007
    13:26:04 28.02.2007   LOG: Collector PID: 2469
    13:27:05 28.02.2007   LOG: Set validation records.
    14:00:32 28.02.2007 WARNING: Out of int limits in pfas41c1.c line 1528
    12:58:37 10.03.2007   LOG: Stop Signal received.
    12:58:38 10.03.2007   LOG: ==== Starting to deactivate collector ==========
    12:59:01 10.03.2007   LOG: ==== Collector deactivated  ================
    Also, I have tried saposcol -d (and other parameters below):
    saposcol -d
    kill
    clean
    leave
    quit.
    delete the files coll.put, dev_coll"
    4" From my open SAP message:
    I have also done the following:
    1 Check the authorizations of SAPOSCOL as mentioned in SAP Notes:
    637174 SAPOSCOL cannot access Libraries of different SAP systems
    175852 AS/400: Authorization problems in SAPOSCOL
    2 Remove the shared memory (coll.put)
    (according to SAP Note: #189072). You could find 'coll.put' in path:
    '/usr/sap/tmp'.
    3 End the following jobs in QSYSWRK:
    QPMASERV, QPMACLCT, QYPSPFRCOL and CRTPFRDTA
    4 Delete the temporary user space:
    WRKOBJ OBJ(R3400/PERFMISC) OBJTYPE(USRSPC)
    Afterwards you could start SAPOSCOL on operating system level.
    Just logon to iSeries as <SID>OFR and run the following command:
    SBMJOB CMD(CALL PGM(<kernel_lib>/SAPOSCOL) PARM('-l'))
    JOB(SAPOSCOL) JOBQ(R3<SID>400/R3_<nn>)
    LOG(4 0 SECLVL) CPYENVVAR(YES)
    Thanks,
    Traci"

Maybe you are looking for