How to find which shared memory segment corresponds to which instance.

If you have two or more instances running on a unix machine, is there a way to find out which shred memory segment and what semaphores are allocated. You could do a "ipcs -a" which will give you all the shared memory segments and semaphores, but how to find what corresponds to what instance.
Thanks
Devinder
PS: I dont know whether this is correct discussion forum or not, cause I could not find anything related to it.
null

if you type ipcs -a you could see:
ipcs -aIPC status from <running system> as of Tue Jan 30 12:02:20 EST 2001
Message Queue facility inactive.
T ID KEY MODE OWNER GROUP CREATOR CGROUP NATTCH SEGSZ CPID LPID ATIME DTIME CTIME
Shared Memory:
m 0 0x500008c7 rw-rr-- root root root root 1 68 373 373 11:48:11 11:48:11 11:48:11
m 1 0xb9359140 rw-r--- oracle dba oracle dba 28 109568000 593 8631 11:29:43 12:01:36 11:49:06
m 2 0x21d38b58 rw-r--- oracle dba oracle dba 53 83746816 654 8630 12:01:15 12:01:15 11:49:58
T ID KEY MODE OWNER GROUP CREATOR CGROUP NSEMS OTIME CTIME
Semaphores:
s 196608 0xbfb87050 ra-r--- oracle dba oracle dba 54 12:01:37 11:49:06
s 196609 0xcc222a00 ra-r--- oracle dba oracle dba 104 11:53:31 11:49:59
note that the CTIME shows you when the entry was created... they usually map to within a second between the memory segment and the semaphore (M and S). 11:49:06 and 11:49:59 in my case.
If I look in my alert_log for each instance I will see:
--Sun Jan 28 11:49:04 2001
--Starting ORACLE instance (normal)
and in the other file
--Sun Jan 28 11:49:58 2001
--Starting ORACLE instance (normal)
This lets me know which instance uses which semaphores/memory segments.
Just be sure the start your instances at least 30 seconds apart so the times are different enough.
enjoy.
null

Similar Messages

  • How to find which instance in the RAC cluster the application is connected

    How to find which instance in the RAC cluster the application is connected to ?
    Raees

    well if you know the user through which your application is connected to instance, you can easily find out by querying gv$session view.
    select inst_id,sid,serial#,program,username from gv$session where username is not null;
    Thanks
    Gaurav

  • Shared Memory Segments

    I am trying to install the Oracle 8.1.6 database that came with the Solaris 8 Intel package. In the installation it is necessary to set the Shared Memory Segments. An example of how to do this is found in the Solaris 8 System Admin Guide Vol 2 on page 465. There is a line:
    "set shmsys:shinfo_shmmax = 268435456".
    My question is how is "268435456" computed or what is it related to? Can someone give me a formula to calculate this from megabytes?
    The Oracle documentation was also vague in this area. Their example simply gave a number also, which is a minimal amount required for the database. There was no explanation of how is was actually computed.
    Thanks in advance.
    George R. Sealy
    ISS

    Hi,
    As per
    http://docs.sun.com/ab2/coll.707.1/SOLTUNEPARAMREF/%40Ab2PageView/6980?DwebQuery=shmmax&oqt=shmmax&Ab2Lang=C&Ab2Enc=iso-8859-1
    its unit is bytes. Therefore above value is 256Mbytes.
    Thanks
    Kalpesh

  • Max attached shared memory segments

    Hi all.
    I have a client/server model using SunOs 5.8 in which the server creates one shared memory segment in a single process and attaches that segment to all connected clients' shared memory.
    My question is how many clients can I support with this model? The maximum # of shared memory segments that can be attached is 6 per process according to sysdef info, but so far I have attached 8 ( meaning I have connected 8 clients to the server and have attached the shared memory of the server to each of the eight clients' shared memory). Therefore, I have 8 attached shared memory segments to the server's shared memory segment, which is more than 6. The system value of SHMSEG has not been changed. Any info would be appreciated.
    Thanks
    Roy Park
    [email protected]

    I am not sure if I am reading your setup correctly, but it sounds like you may only be allocating one shared memory segment. That one shared memory segment is then attached by all of the clients. If that is the case, you can attach a virtually unlimited number of clients.
    The shmseg parameter limits the number of segments which can be attached by a single process. In other words if the clients each create a shared memory segment and the server attaches to all of those, then the limit should have been reached. I would like to see a little more information if that is the case. (ipcs output to start)
    Alan
    Sun Developer Technical Support
    http://www.sun.com/developers/support

  • Cannot create data store shared-memory segment error

    Hi,
    Here is some background information:
    [ttadmin@timesten-la-p1 ~]$ ttversion
    TimesTen Release 11.2.1.3.0 (64 bit Linux/x86_64) (cmttp1:53388) 2009-08-21T05:34:23Z
    Instance admin: ttadmin
    Instance home directory: /u01/app/ttadmin/TimesTen/cmttp1
    Group owner: ttadmin
    Daemon home directory: /u01/app/ttadmin/TimesTen/cmttp1/info
    PL/SQL enabled.
    [ttadmin@timesten-la-p1 ~]$ uname -a
    Linux timesten-la-p1 2.6.18-164.6.1.el5 #1 SMP Tue Oct 27 11:28:30 EDT 2009 x86_64 x86_64 x86_64 GNU/Linux
    [root@timesten-la-p1 ~]# cat /proc/sys/kernel/shmmax
    68719476736
    [ttadmin@timesten-la-p1 ~]$ cat /proc/meminfo
    MemTotal: 148426936 kB
    MemFree: 116542072 kB
    Buffers: 465800 kB
    Cached: 30228196 kB
    SwapCached: 0 kB
    Active: 5739276 kB
    Inactive: 25119448 kB
    HighTotal: 0 kB
    HighFree: 0 kB
    LowTotal: 148426936 kB
    LowFree: 116542072 kB
    SwapTotal: 16777208 kB
    SwapFree: 16777208 kB
    Dirty: 60 kB
    Writeback: 0 kB
    AnonPages: 164740 kB
    Mapped: 39188 kB
    Slab: 970548 kB
    PageTables: 10428 kB
    NFS_Unstable: 0 kB
    Bounce: 0 kB
    CommitLimit: 90990676 kB
    Committed_AS: 615028 kB
    VmallocTotal: 34359738367 kB
    VmallocUsed: 274804 kB
    VmallocChunk: 34359462519 kB
    HugePages_Total: 0
    HugePages_Free: 0
    HugePages_Rsvd: 0
    Hugepagesize: 2048 kB
    extract from sys.odbc.ini
    [cachealone2]
    Driver=/u01/app/ttadmin/TimesTen/cmttp1/lib/libtten.so
    DataStore=/u02/timesten/datastore/cachealone2/cachealone2
    PermSize=14336
    OracleNetServiceName=ttdev
    DatabaseCharacterset=WE8ISO8859P1
    ConnectionCharacterSet=WE8ISO8859P1
    [ttadmin@timesten-la-p1 ~]$ grep SwapTotal /proc/meminfo
    SwapTotal: 16777208 kB
    Though we have around 140GB memory available and 65GB on the shmmax, we are unable to increase the PermSize to any thing more than 14GB. When I changed it to PermSize=15359, I am getting following error.
    [ttadmin@timesten-la-p1 ~]$ ttIsql "DSN=cachealone2"
    Copyright (c) 1996-2009, Oracle. All rights reserved.
    Type ? or "help" for help, type "exit" to quit ttIsql.
    connect "DSN=cachealone2";
    836: Cannot create data store shared-memory segment, error 28
    703: Subdaemon connect to data store failed with error TT836
    The command failed.
    Done.
    I am not sure why this is not working, considering we have got 144GB RAM and 64GB shmmax allocated! Any help is much appreciated.
    Regards,
    Raj

    Those parameters look ok for a 100GB shared memory segment. Also check the following:
    ulimit - a mechanism to restrict the amount of system resources a process can consume. Your instance administrator user, the user who installed Oracle TimesTen needs to be allocated enough lockable memory resource to load and lock your Oracle TimesTen shared memory segment.
    This is configured with the memlock entry in the OS file /etc/security/limits.conf for the instance administrator.
    To view the current setting run the OS command
    $ ulimit -l
    and to set it to a value dynamically use
    $ ulimit -l <value>.
    Once changed you need to restart the TimesTen master daemon for the change to be picked up.
    $ ttDaemonAdmin -restart
    Beware sometimes ulimit is set in the instance administrators "~/.bashrc" or "~/.bash_profile" file which can override what's set in /etc/security/limits.conf
    If this is ok then it might be related to Hugepages. If TT is configured to use Hugepages then you need enough Hugepages to accommodate the 100GB shared memory segment. TT is configured for Hugepages if the following entry is in the /u01/app/oracle/EXALYTICS_MWHOME/TimesTen/tt1122/info/ttendaemon.options file:
    -linuxLargePageAlignment 2
    So if configured for Hugepages please see this example of how to set an appropriate Hugepages setting:
    Total the amount of memory required to accommodate your TimesTen database from /u01/app/oracle/EXALYTICS_MWHOME/TimesTen/tt1122/info/sys.odbc.ini
    PermSize+TempSize+LogBufMB+64MB Overhead
    For example consider a TimesTen database of size:
    PermSize=250000 (unit is MB)
    TempSize=100000
    LogBufMB=1024
    Total Memory = 250000+100000+1024+64 = 351088MB
    The Hugepages pagesize on the Exalytics machine is 2048KB or 2MB. Therefore divide the total amount of memory required above in MB by the pagesize of 2MB. This is now the number of Hugepages you need to configure.
    351088/2 = 175544
    As user root edit the /etc/sysctl.conf file
    Add/modify vm.nr_hugepages= to be the number of Hugepages calculated.
    vm.nr_hugepages=175544
    Add/modify vm.hugetlb_shm_group = 600
    This parameter is the group id of the TimesTen instance administrator. In the Exalytics system this is oracle. Determine the group id while logged in as oracle with the following command. In this example it’s 600.
    $ id
    $ uid=700(oracle) gid=600(oinstall) groups=600(oinstall),601(dba),700(oracle)
    As user root edit the /etc/security/limits.conf file
    Add/modify the oracle memlock entries so that the fourth field equals the total amount of memory for your TimesTen database. The unit for this value is KB. For example this would be 351088*1024=359514112KB
    oracle hard memlock 359514112
    oracle soft memlock 359514112
    THIS IS VERY IMPORTANT in order for the above changes to take effect you to either shutdown the BI software environment including TimesTen and reboot or issue the following OS command to make the changes permanent.
    $ sysctl -p
    Please note that dynamic setting (including using 'sysctl -p') of vm.nr_hugepages while the system is up may not give you the full number of Hugepages that you have specified. The only guaranteed way to get the full complement of Hugepages is to reboot.
    Check Hugepages has been setup correctly, look for Hugepages_Total
    $ cat /proc/meminfo | grep Huge
    Based on the example values above you would see the following:
    HugePages_Total: 175544
    HugePages_Free: 175544

  • 836: Cannot create data store shared-memory segment, error 22

    Hi,
    I am hoping that there is an active TimesTen user community out there who could help with this, or the TimesTen support team who hopefully monitor this forum.
    I am currently evaluating TimesTen for a global investment organisation. We currently have a large Datawarehouse, where we utilise summary views and query rewrite, but have isolated some data that we would like to store in memory, and then be able to
    report on it through a J2EE website.
    We are evaluating TimesTen versus developing our own custom cache. Obviously, we would like to go with a packaged solution but we need to ensure that there are no limits in relation to maximum size. Looking through the documentation, it appears that the
    only limit on a 64bit system is the actual physical memory on the box. Sounds good, but we want to prove it since we would like to see how the application scales when we store about 30gb (the limit on our UAT environment is 32gb). The ultimate goal is to
    see if we can store about 50-60gb in memory.
    Is this correct? Or are there any caveats in relation to this?
    We have been able to get our Data Store store 8gb of data, but want to increase this. I am assuming that the following error message is due to us not changing the /etc/system on the box:
         836: Cannot create data store shared-memory segment, error 22
         703: Subdaemon connect to data store failed with error TT836
    Can somebody from the User community, or an Oracle Times Ten support person recommend what should be changed above to fully utilise the 32gb of memory, and the 12 processors on the box.
    Its quite a big deal for us to bounce the UAT unix box, so l want to be sure that l have factored in all changes that would ensure the following:
    * Existing Oracle Database instances are not adversely impacted
    * We are able to create a Data Store which is able fully utilise the physical memory on the box
    * We don't need to change these settings for quite some time, and still be able to complete our evaluation
    We are currently in discussion with our in-house Oracle team, but need to complete this process before contacting Oracle directly, but help with the above request would help speed this process up.
    The current /etc/system settings are below, and l have put in the current machines settings as comments at the end of each line.
    Can you please provide the recommended settings to fully utilise the existing 32gb on the box?
    Machine
    ## I have contrasted the minimum prerequisites for TimesTen and then contrasted it with the machine's current settings:
    SunOS uatmachinename 5.9 Generic_118558-11 sun4us sparc FJSV,GPUZC-M
    FJSV,SPARC64-V
    System Configuration: Sun Microsystems sun4us
    Memory size: 32768 Megabytes
    12 processors
    /etc/system
    set rlim_fd_max = 1080                # Not set on the machine
    set rlim_fd_cur=4096               # Not set on the machine
    set rlim_fd_max=4096                # Not set on the machine
    set semsys:seminfo_semmni = 20           # machine has 0x42, Decimal = 66
    set semsys:seminfo_semmsl = 512      # machine has 0x81, Decimal = 129
    set semsys:seminfo_semmns = 10240      # machine has 0x2101, Decimal = 8449
    set semsys:seminfo_semmnu = 10240      # machine has 0x2101, Decimal = 8449
    set shmsys:shminfo_shmseg=12           # machine has 1024
    set shmsys:shminfo_shmmax = 0x20000000     # machine has 8,589,934,590. The hexidecimal translates into 536,870,912
    $ /usr/sbin/sysdef | grep -i sem
    sys/sparcv9/semsys
    sys/semsys
    * IPC Semaphores
    66 semaphore identifiers (SEMMNI)
    8449 semaphores in system (SEMMNS)
    8449 undo structures in system (SEMMNU)
    129 max semaphores per id (SEMMSL)
    100 max operations per semop call (SEMOPM)
    1024 max undo entries per process (SEMUME)
    32767 semaphore maximum value (SEMVMX)
    16384 adjust on exit max value (SEMAEM)

    Hi,
    I work for Oracle in the UK and I manage the TimesTen pre-sales support team for EMEA.
    Your main problem here is that the value for shmsys:shminfo_shmmax in /etc/system is currently set to 8 Gb therby limiting the maximum size of a single shared memory segment (and hence Timesten datastore) to 8 Gb. You need to increase this to a suitable value (maybe 32 Gb in your case). While you are doing that it would be advisable to increase ny of the other kernel parameters that are currently lower than recommended up to the recommended values. There is no harm in increasing them other possibly than a tiny increase in kernel resources, but with 32 GB of RAM I don't think you need be concerned about that...
    You should also be sure that the system has enough swap space configured to supprt a shared memory segment of this size. I would recommend that you have at least 48 GB of swap configured.
    TimesTen should detect that you have a multi-CPU machine and adjust its behaviour accordingly but if you want to be absolutely sure you can set SMPOptLevel=1 in the ODBC settings for the datastore.
    If you want more direct assistance with your evaluation going forward then please let me know and I will contact you directly. Of course, you are free to continue using this forum if you would prefer.
    Regards, Chris

  • 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)

  • Multiple shared memory segments per instance (redhat AS2.1)

    We are having some trouble with oracle 9.2.0 on redhat linux advanced server. ipcs shows that quite a lot of shm segments are allocated for a single instance, which is quite strange since it should be one. Did anyone out there encounter similar problems ?
    ------ Shared Memory Segments --------
    key shmid owner perms bytes nattch status
    0x00000000 12845056 oracle 640 4194304 13
    0x00000000 12877825 oracle 640 33554432 13
    0x00000000 12910594 oracle 640 25165824 13
    0x00000000 12943363 oracle 640 20971520 13
    0x00000000 12976132 oracle 640 29360128 13
    0x00000000 13008901 oracle 640 29360128 13
    0x00000000 13041670 oracle 640 20971520 13
    0x00000000 13074439 oracle 640 33554432 13
    0xe7f3c788 13107209 oracle 640 33554432 65

    The maximum size of the shared memory segment is too small. Since Oracle cannot fit the SGA into one large shared memory segment, it allocates several shared memory segments. The maximum size of your shared memory segments is around 32 MB.
    To set the maximum size for a shared memory segment, see http://www.puschitz.com/TuningLinuxForOracle.shtml#SettingSHMMAXParameter
    Werner

  • JLaunchInitAdministration: Can't attach to shared memory segment 69

    Hi ,
    I am trying to bring up a EP system , and i am getting the following error in my dev_sdm and dev_dispatcher logs ...
    [Thr  1] Wed Nov 10 10:30:25 2010
    [Thr  1] JLaunchRequestQueueInit: create named pipe for ipc
    [Thr  1] JLaunchRequestQueueInit: create pipe listener thread
    [Thr 515] WaitSyncSemThread: Thread 515 started as semaphore monitor thread.
    [Thr 258] JLaunchRequestFunc: Thread 258 started as listener thread for np messages.
    [Thr  1] *** ERROR => JLaunchInitAdministration: Can't attach to shared memory segment 69 (rc = 7 locking (semaphore/mutex) error) [jlnchxx_mt.c 926]
    [Thr  1] *** ERROR => can't initialize JControl Administration [jlnchxx_mt.c 375]
    [Thr  1] SigISetIgnoreAction : SIG_IGN for signal 20
    [Thr  1] *** ERROR => JsfCloseShm: FiDetachIndex(SESSION) failed (rc = 6 invalid argument) [jsfxxshm_mt. 1243]
    [Thr  1] *** ERROR => JsfCloseShm: FiDetachIndex(ALIAS) failed (rc = 6 invalid argument) [jsfxxshm_mt. 1250]
    [Thr  1] *** ERROR => JsfCloseShm: FiDetachIndex(SERVICE) failed (rc = 6 invalid argument) [jsfxxshm_mt. 1257]
    [Thr  1] *** ERROR => JsfCloseShm: ShmDelete(69) failed (rc = 2 invalid function argument) [jsfxxshm_mt. 1283]
    [Thr  1] JLaunchCloseProgram: good bye (exitcode = -1)
    It would be nice if someone can provide we some direction how to solve this ...
    (btw i have already done cleanipc ... it didn't help )
    Regards,
    Neel

    it might help.
    but mine is a EP system (Java Only) so not sure if its applicable in my case
    You should always have latest kernel on your system , irrespective of Runtime Engine (ABAP or JAVA).
    So go ahead and upgrade kernel to latest available for your release.
    Regards,

  • Shared memory segment: function not implemented

    Hi!
    I tried to install Oracle8 on a dual pentium II / 233 system
    running Suse 6.0 (kernel 2.2.1, glibc6)
    Everything went fine, until I got the message
    "Database creation failed, see logfile"
    The logfile /u01/app/oracle/products/8.0.5/orainst/install.log
    tells me the following:
    - Entering database actions section.
    - Creating initORCL.ora file
    - Creating crdb2ORCL.sql database catalog and file creation
    script
    - ERROR: The 'CREATE DATABASE' statement for the ORCL
    database failed.
    egrep failed to find 'ORA-' error in the file:
    /u01/app/oracle/admin/ORCL/create/crdbORCL.lst
    /u01/app/oracle/admin/ORCL/create/crdORCL.lst tells me:
    Connected.
    ORA-27125: unable to create shared memory segment
    Linux Error: 38: Function not implemented
    create database "ORCL"
    ORA-01034: ORACLE not available
    Disconnected.
    So, I guess it3s something wrong with the kernel. I did the
    following:
    changed in /usr/src/linux/include/asm/shmparam.h:
    #define SHMIDX_BITS 16 (was 15)
    #define SHMMNI 100 (was (1<<_SHM_ID_BITS)) #define SHMSEG
    10 (was SHMSEG SHMMNI)
    checked /usr/src/linux/include/linux/sem.h:
    #define SEMMNI 128
    #define SEMMSL 32
    #define SEMMNS (SEMMNI*SEMMSL)
    Compiled new kernel, rebooted, verified that the right kernel
    was loaded, installed oracle new, but it still doesn3t work.
    Have I missed anything ?
    thanks
    Frank
    null

    Hey, I ran into this problem too. Look and see if any db
    processes failed to die last time you stopped oracle. I found a
    ps_mon daemon still going when the database was down. I killed
    it, restarted the database and everything was fine.
    StE (guest) wrote:
    : Frank Schmitt (guest) wrote:
    : : ORA-27125: unable to create shared memory segment
    : : Linux Error: 38: Function not implemented
    : : create database "ORCL"
    : : Compiled new kernel, rebooted, verified that the right kernel
    : : was loaded, installed oracle new, but it still doesn3t work.
    : Silly question, but did you check you had enabled SysV IPC
    when
    : you configured the kernel?
    : -michael
    null

  • Cannot attach data store shared-memory segment using JDBC (TT0837)

    I'm currently evaluating TimesTen during which I've encountered some problems.
    All of the sudden my small Java app fails to connect to the TT data source.
    Though I can still connect to the data source using ttisql.
    Everything worked without problems until I started poking around in the ODBC administrator (Windows 2K).
    I wanted to increase permanent data size so I changed some of the parameters.
    After that my Java app fails to connect with the following message:
    DriverManager.getConnection("jdbc:timesten:direct:dsn=rundata_tt60;OverWrite=0;threadsafe=1;durablecommits=0")
    trying driver[className=com.timesten.jdbc.TimesTenDriver,com.timesten.jdbc.TimesTenDriver@addbf1]
    SQLException: SQLState(08001) vendor code(837)
    java.sql.SQLException: [TimesTen][TimesTen 6.0.4 ODBC Driver][TimesTen]TT0837: Cannot attach data store shared-memory segment, error 8 -- file "db.c", lineno 8846, procedure "sbDbConnect()"
    The TT manual hasn't really provided any good explanation what the error code means.
    Obviusly I'v already tried restoring the original ODBC parameters without any luck.
    Ideas..anyone?
    /Peter

    Peter,
    Not sure if you have resolved this issue or not. In any case, here are some information to look into.
    - On Windows 32-bit, the allocation of shared data segment doesn't work the same way like on Unix and Linux. As a result, the maximum TimesTen database size one can allocate is much smaller on the Windows platform than on other platforms.
    - Windows error 8 means ERROR_NOT_ENOUGH_MEMORY: not enough storage is available to process this command.
    - TimesTen TT0837 says the system was unable to attach a shared memory segment during a data store creation or data store connection operation.
    - What was the largest successful perm-size and temp-size you used when allocating the TimesTen database?
    * One explanation for why you were able to connect using ttIsql is that it doesn't use much of the DLLs, whereas your Java application typically has a lot more DLLs.
    * As a troubleshooting step, you can try reduce your Temp-size to a very small size and just see if you can connect to the data store. Eventually, you may need to reduce your perm-size to get Windows to fit the shared data segment in the process space.
    By the way the TimesTen documentation has been modified to document this error as follows:
    Unable to attach to a shared memory segment during a data store creation or data store connection operation.
    You will receive this error if a process cannot attach to the shared memory segment for the data store.
    On UNIX or Linux systems, the shmat call can fail due to one of:
    - The application does not have access to the shared memory segment. In this case the system error code is EACCESS.
    - The system cannot allocate memory to keep track of the allocation, or there is not enough data space to fit the segment. In this case the system error code is ENOMEM.
    - The attach exceeds the system limit on the number of shared memory segments for the process. In this case the system error code is EMFILE.
    It is possible that some UNIX or Linux systems will have additional possible causes for the error. The shmat man page lists the possibilities.
    On Windows systems, the error could occur because of one of these reasons:
    - Access denied
    - The system has no handles available.
    - The segment cannot be fit into the data section
    Hope this helps.
    -scheung

  • How to find CPU and Memory Utilization

    Hi,
    How to find CPU and Memory Utilization of my application which is
    running in solaris workstation.My application has a management console in which we need to update the cpu and memory periodically.
    (Notr : Usage of JNI is restrcited)
    Thnx and Rgds,
    Mohan

    There is no CPU usage API in Java. You need some JNI code. For memory usage see the Runtime methods:
         * Get information of memory usage: max, total, free and (available/used).
         * <ul>
         * <li>Max is the maximum amount of bytes the application can allocate (see also java options -Xmx). This value is fixed.
         * If the application tries to allocate more memory than Max, an OutOfMemoryError is thrown.
         * <li>Total is the amount of bytes currently allocated from the JVM for the application.
         * This value just increases (and doesn't decrease) up to the value of Max depending on the applications memory
         * requirements.
         * <li>Free is the amount of memory that once was occupied by the application but is given back to the JVM. This value
         * varies between 0 and Total.
         * <li>The used amount of memory is the memory currently allocated by the application. This value is always less or equal
         * to Total.
         * <li>The available amount of memory is the maximum number of bytes that can be allocated by the application (Max - used).
         * </ul>
         * In brief: used <= total <= max
         * <p>
         * The JVM can allocate up to 64MB (be default) system memory for the application. If more is required, the JVM has to be started with the Xmx option
         * (e.g. "java -Xmx128m" for 128 MB). The amount of currently allocated system memory is Total. As the JVM can't give back unallocated memory
         * to the operating system, Total can just increase (up to Max).
         * @return Memory info.
        static public String getMemoryInfo() {
            StringBuilder sb = new StringBuilder();
            sb.append("Used: ");
            sb.append(toMemoryFormat(getUsedMemory()));
            sb.append(", Available: ");
            sb.append(toMemoryFormat(getAvailableMemory()));
            sb.append(" (Max: ");
            sb.append(toMemoryFormat(Runtime.getRuntime().maxMemory()));
            sb.append(", Total: ");
            sb.append(toMemoryFormat(Runtime.getRuntime().totalMemory()));
            sb.append(", Free: ");
            sb.append(toMemoryFormat(Runtime.getRuntime().freeMemory()));
            sb.append(")");
            return sb.toString();
        }//getMemoryInfo()

  • How to find which version of JDK is loadjava using

    Hi All,
    How to find which version of JDK is loadjava using?
    I am using Oracle : 9.0.1.5.1 and I need to use class javax.crypto.Cipher which is shipped with JDK 1.4.2, but loadjava is unable to import javax.crypto.*;
    Any inputs would be greatly appreciated.
    Thanks and regards,
    Abba

    Abba,
    From memory only (since I haven't verified it), "loadjava" is a script, so you can have a look at its contents. I believe it actually uses JDK 1.1.8 (which is part of the Oracle installation). In any case, Oracle 9i is compatible with JDK 1.3 only.
    Oracle 10g is compatible with JDK 1.4.
    Good Luck,
    Avi.

  • How to find which sql or process that is causing lots of swap space

    Hello,
    There is a lot of swap space going on constantly. The SGA is 18gigs and PGA is 2 gigs. The swap space is 19gigs. How to find which processes or sql statements that are using a lot of sga and paging? The database is 10.1.0.5. and the tool OEM 10g. Thank you in advance.

    v$sort_usage or v$temp_segusage give temporary tablespace usage.
    To get PGA memory by session, you could use insteadv$process.

  • 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

Maybe you are looking for