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

Similar Messages

  • 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

  • Unable to attach shared memory segment

    Hi. I've installed a 8.1.5 database in Linux and configured DB_BLOCK_SIZE as 4K. My hardware is Pentium III 500 processor, 512 Mb memory size, 1.5 Gb swap memory and I'm trying to allocate 30000 blocks in database buffer cache (240 Mb), 50Mb in shared pool and processes=200. When I try to startup database it fails with ORA-27213 error. My kernel parameters are: SHMMAX=256 Mb, SHMMNI=1, SHMSEG=10, SHMMIN=1 and SEMMNI=100, SEMMSL > 210, SEMMNS > 410, SEMOPM=100, SEMMVX=32767.
    What's wrong?

    Hi MYH,
    First, check to see if the OS still has the old heap allocated.
    You don't say your OS, but try using "ipcs":
    Use the ipcs –pmb command to identify all held RAM memory segments, the then use the ipcrm –m command to release the RAM memory from UNIX.
    For (non_AIX) Use the ipcs –sa command to display held semaphores and then use the ipcrm –s command to release the held semaphores for the instance
    As we noted in Chapter 1, we can create a single command to terminate all Oracle processes associated with your hung database instance.
    root> ps -ef|grep $ORACLE_SID| \
          grep -v grep|awk '{print $2}'|xargs -i kill -9 {}   We can then check for held memory using the ipcs –pmb command and remove the memory held by the database:
    root> ipcs -pmb
    IPC status from /dev/kmem as of Mon Sep 10 16:45:16 2001
    T      ID     KEY        MODE     OWNER  GROUP  SEGSZ  CPID  LPIDHope this helps . . .
    Donald K. Burleson
    Oracle Press author
    Author of "Oracle Tuning: The Definitive Reference"
    http://www.rampant-books.com/book_2005_1_awr_proactive_tuning.htm

  • 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

  • ORA-29855 - Unable to allocate shared memory

    Hi,
    We are encountering troubles (unable to allocate shared memory) while indexes creation. We tried to increase the share_size_memory (actually 52 mb) but this had no effect on this error. The Oracle error code is ORA-29855.
    The database is version 8.1.7, hosted on a Linux machine (RedHat 7.2) with 512 mb of memory. The code used for the index creation works fine on other machines (code from 9iAS Wireless installation) running with Windows 2000 as operation system.
    Any help or comment will be appreciated.
    Thanks,
    Fabrice Clari.
    The error message is:
    java.sql.SQLException: ORA-29855: error occurred in the execution of ODCIINDEXCREATE routine
    ORA-13200: internal error [ROWID:AAAGDwAAFAAAAvjAAA] in spatial indexing.
    ORA-13206: internal error [] while creating the spatial index
    ORA-13011: value is out of range
    ORA-00600: internal error code, arguments: [kope2ucoll700], [], [], [], [], [], [], []
    ORA-04031: unable to allocate 16396 bytes of shared memory ("large pool","unknown object","koh-kghu sessi","kolcalm coll")
    ORA-06512: at "MDSYS.SDO_INDEX_METHOD", line 8
    ORA-06512: at line 1

    Which portion of shared memory did you increase? The error indicates you need to increase large_pool_size. It seems you may also have other problems since you have several errors, and this only relates to the ORA-04031 error.

  • Ora-04031 unable to allocate shared memory

    Hi Guru's
    Could some one help me in finding the sql's/program which causing the ora-04031 unable to allocate 3896 bytes of shared memory.
    any suggestion is highly apprciated
    Kind Regards

    You may want to take look at:
    ORA-04031: unable to allocate 4032 bytes of shared memory
    >
    ORA-04031 unable to allocate n bytes of shared memory ("string","string","string","string")
    Cause: More shared memory is needed than was allocated in the shared pool.
    Action: If the shared pool is out of memory, either use the DBMS_SHARED_POOL package to pin large packages, reduce your use of shared memory, or increase the amount of available shared memory by increasing the value of the initialization parameters SHARED_POOL_RESERVED_SIZE and SHARED_POOL_SIZE. If the large pool is out of memory, increase the initialization parameter LARGE_POOL_SIZE.

  • 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

  • Ora- shared memory segment

    Hello, gurus!
    I can connect this way:
    oracle@mypc sqlplus sys/sys1@mydatabase
    While trying to connect this way:
    oracle@mypc sqlplus sys/sys1
    I am getting an error:
    ORA-01034: Oracle not available
    ORA-27123: unable to attach to shared memory segment
    Linux Error: 13 permission denied
    What's wrong?
    I am on LINUX RHEL 4 + Oracle 10.2.0.4
    Thanks in advance.

    user21123, the init.ora and/or spfile have nothing to do with this issue. These errors means that you are attempting to connect to an Oracle instance that cannot be located. This can be because you have an environment error setting as the first response mentioned or before the target instance is not running as I mentioned.
    Here is the error when the environment variables are set correctly but the database is not started.
    JServer Release 9.2.0.6.0 - Production
    $ print $ORACLE_SID $TWO_TASK
    TRN1
    $ sqlplus mpowel01
    SQL*Plus: Release 9.2.0.6.0 - Production on Fri Aug 22 13:07:48 2008
    Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.
    Enter password:
    ERROR:
    ORA-01034: ORACLE not available
    ORA-27101: shared memory realm does not exist
    IBM AIX RISC System/6000 Error: 2: No such file or directory
    SP2-0157: unable to CONNECT to ORACLE after 3 attempts, exiting SQL*Plus
    $ sqlplus /nolog
    SQL*Plus: Release 9.2.0.6.0 - Production on Fri Aug 22 13:08:24 2008
    Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.
    > connect / as sysdba
    Connected to an idle instance.
    > startup
    ORACLE instance started.
    Total System Global Area  114468624 bytes
    <snip>
    > exit
    Disconnected from Oracle9i Enterprise Edition Release 9.2.0.6.0 - 64bit Production
    With the Partitioning, Real Application Clusters, OLAP and Oracle Data Mining options
    JServer Release 9.2.0.6.0 - Production
    $ sqlplus mpowel01
    SQL*Plus: Release 9.2.0.6.0 - Production on Fri Aug 22 13:11:58 2008
    Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.
    Enter password:
    Connected to:
    Oracle9i Enterprise Edition Release 9.2.0.6.0 - 64bit Production
    With the Partitioning, Real Application Clusters, OLAP and Oracle Data Mining options
    JServer Release 9.2.0.6.0 - Production
    TRN1 >HTH -- Mark D Powell --

  • 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

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

    Hi,
    I found the thread Cannot attach data store shared-memory segment using JDBC (TT0837) but it can't help me out.
    I encounter this issue in Windows XP, and application gets connection from jboss data source.
    url=jdbc:timesten:direct:dsn=test;uid=test;pwd=test;OraclePWD=test
    username=test
    password=test
    Error information:
    java.sql.SQLException: [TimesTen][TimesTen 11.2.1.5.0 ODBC Driver][TimesTen]TT0837: Cannot attach data store
    shared-memory segment, error 8 -- file "db.c", lineno 9818, procedure "sbDbConnect"
    at com.timesten.jdbc.JdbcOdbc.createSQLException(JdbcOdbc.java:3295)
    at com.timesten.jdbc.JdbcOdbc.standardError(JdbcOdbc.java:3444)
    at com.timesten.jdbc.JdbcOdbc.standardError(JdbcOdbc.java:3409)
    at com.timesten.jdbc.JdbcOdbc.SQLDriverConnect(JdbcOdbc.java:813)
    at com.timesten.jdbc.JdbcOdbcConnection.connect(JdbcOdbcConnection.java:1807)
    at com.timesten.jdbc.TimesTenDriver.connect(TimesTenDriver.java:303)
    at com.timesten.jdbc.TimesTenDriver.connect(TimesTenDriver.java:159)
    I am confused that if I use jdbc, there is no such error.
    Connection conn = DriverManager.getConnection("url", "username", "password");
    Regards,
    Nesta

    I think error 8 is
    net helpmsg 8
    Not enough storage is available to process this command.
    If I'm wrong I'm happy to be corrected. If you reduce the PermSize and TempSize of the datastore (just as a test) does this allow JBOSS to load it?
    You don't say whether this is 32bit or 64bit Windows. If it's the former, the following information may be helpful.
    "Windows manages virtual memory differently than all other OSes. The way Windows sets up memory for DLLs guarantees that the virtual address space of each process is badly fragmented. Other OSes avoid this by densely packing shared libraries.
    A TimesTen database is represented as a single contiguous shared segment. So for an application to connect to a database of size n, there must be n bytes of unused contiguous virtual memory in the application's process. Because of the way Windows manages DLLs this is sometimes challenging. You can easily get into a situation where simple applications that use few DLLs (such as ttIsql) can access a database fine, but complicated apps that use many DLLs can not.
    As a practical matter this means that TimesTen direct-mode in Windows 32-bit is challenging to use for those with complex applications. For large C/C++ applications one can usually "rebase" DLLs to reduce fragmentation. But for Java based applications this is more challenging.
    You can use tools like the free "Process Explorer" to see the used address ranges in your process.
    Naturally, 64-bit Windows basically resolves these issues by providing a dramatically larger set of addresses."

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

  • Getting Error : Cannot attach data store shared-memory segment,

    HI Team,
    I am trying to integrate Timesten IMDB in my application.
    Machine details
    Windows 2003, 32 bit, 4GB RAM.
    IMDB DB details
    Permanent size 500MB, temp size 40MB.
    If I try to connect to database using ttisql it get connected. But If I try to connect in my Java application I get following exception.
    java.sql.SQLException: [TimesTen][TimesTen 11.2.1.3.0 ODBC Driver][TimesTen]TT0837: Cannot attach data store shared-memory segment, error 8 -- file "db.c", lineno 7966, procedure "sbDbCreate"
    at com.timesten.jdbc.JdbcOdbc.createSQLException(JdbcOdbc.java:3269)
    at com.timesten.jdbc.JdbcOdbc.standardError(JdbcOdbc.java:3418)
    at com.timesten.jdbc.JdbcOdbc.standardError(JdbcOdbc.java:3383)
    at com.timesten.jdbc.JdbcOdbc.SQLDriverConnect(JdbcOdbc.java:787)
    at com.timesten.jdbc.JdbcOdbcConnection.connect(JdbcOdbcConnection.java:1800)
    at com.timesten.jdbc.TimesTenDriver.connect(TimesTenDriver.java:303)
    at com.timesten.jdbc.TimesTenDriver.connect(TimesTenDriver.java:159)
    at java.sql.DriverManager.getConnection(DriverManager.java:582)
    at java.sql.DriverManager.getConnection(DriverManager.java:207)
    Maximum permanent size that works with Java application is 100MB. But it would not be enough for our use.
    Could anybody let me know the way to resolve/reason for getting this error? Any response would be appreciated.
    Thanks in Advance,
    Regards,
    atul

    This is a very common problem on 32-bit Windows. A TimesTen datastore is a single region of 'shared memory' allocated as a shared mapping from the paging file. In 'direct mode', when the application process(in your case either ttIsql or the JVM) 'connects' to the datastore the datastore memory region is mapped into the process address space. In order for this to happen it is necessary for there to be a free region in the process adddress space that is at least the size of the datastore. This region must be contiguous (i.e. a single region). Unfortunately, the process memory map in 32-bit Windows is typically highly fragmented and the more DLLs that a process uses the worse this is. Also, JVMs typically use a lot of memory, depending on configuration.
    Your options to solve this are really limited to:
    1. Significantly reduce the memory used by the JVM (may not be possible).
    2. Use a local client/server connection from Java instead of a direct mode connection. To minismise the performance overhead make sure you use the optimised ShmIpc connectivity rather than TCP/IP. Even with this there is likely to be a >50% reduction in performance compared to direct mode.
    3. Switch to 64-bit Windows, 64-bit TimesTen and 64-bit Java. Even without adding any extra memory to your machine thsi will very likely fix the problem.
    Option (3) is by far the best one.
    Regards,
    Chris

  • Redhat: TT0837: Cannot attach data store shared-memory segment, error 12

    Customer has two systems, one Solaris and one Linux.  We have six DSNs with one dsn PermSize at 1.85G.  Both OS systems are 32-bit.   After migrating from TT6.0 to 11.2,  I can not get replication working on the Linux system for the 1.85G dsn.   The Solaris system is working correctly.   I've been able to duplicate the issue in out lab also.  If I drop the PermSize down to 1.0G, replication is started.   I've tried changing multiple parameters including setting up HugePages.  
    What else could I be missing?  Decreasing the PermSize is not an option for this customer.   Going to a full 64-bit system is on our development roadmap but is at least a year away due to other commitments.
    This is my current linux lab configuration.
    ttStatus output for the failed Subscriber DSN and a working DynamicDB DSN.    As you can see, the policy is set to "Always" but it has no Subdaemon or Replication processes running.
    Data store /space/Database/db/Subscriber
    There are no connections to the data store
    Replication policy  : Always
    Replication agent is running.
    Cache Agent policy  : Manual
    Data store /space/Database/db/DynamicDB
    There are 14 connections to the data store
    Shared Memory KEY 0x5602000c ID 1826586625 (LARGE PAGES, LOCKED)
    Type            PID     Context     Connection Name              ConnID
    Replication     88135   0x56700698  LOGFORCE                          4
    Replication     88135   0x56800468  REPHOLD                           3
    Replication     88135   0x56900468  TRANSMITTER                       5
    Replication     88135   0x56a00468  REPLISTENER                       2
    Subdaemon       86329   0x08472788  Manager                        2032
    Subdaemon       86329   0x084c5290  Rollback                       2033
    Subdaemon       86329   0xd1900468  Deadlock Detector              2037
    Subdaemon       86329   0xd1a00468  Flusher                        2036
    Subdaemon       86329   0xd1b00468  HistGC                         2039
    Subdaemon       86329   0xd1c00468  Log Marker                     2038
    Subdaemon       86329   0xd1d00468  AsyncMV                        2041
    Subdaemon       86329   0xd1e00468  Monitor                        2034
    Subdaemon       86329   0xd2000468  Aging                          2040
    Subdaemon       86329   0xd2200468  Checkpoint                     2035
    Replication policy  : Always
    Replication agent is running.
    Cache Agent policy  : Manual
    Summary of Perm and Temp Sizes of each system. 
    PermSize=100
    TempSize=50
    PermSize=100
    TempSize=50
    PermSize=64
    TempSize=32
    PermSize=1850    => Subscriber
    TempSize=35     => Subscriber
    PermSize=64
    TempSize=32
    PermSize=200
    TempSize=75
    [SubscriberDir]
    Driver=/opt/SANTone/msc/active/TimesTen/lib/libtten.so
    DataStore=/Database/db/Subscriber
    AutoCreate=0
    DurableCommits=0
    ExclAccess=0
    LockLevel=0
    PermWarnThreshold=80
    TempWarnThreshold=80
    PermSize=1850
    TempSize=35
    ThreadSafe=1
    WaitForConnect=1
    Preallocate=1
    MemoryLock=3
    ###MemoryLock=0
    SMPOptLevel=1
    Connections=64
    CkptFrequency=300
    DatabaseCharacterSet=TIMESTEN8
    TypeMode=1
    DuplicateBindMode=1
    msclab3201% cat ttendaemon.options
    -supportlog /var/ttLog/ttsupport.log
    -maxsupportlogsize 500000000
    -userlog /var/ttLog/userlog
    -maxuserlogsize 100000000
    -insecure-backwards-compat
    -verbose
    -minsubs 12
    -maxsubs 60
    -server 16002
    -enableIPv6
    -linuxLargePageAlignment 2
    msclab3201# cat /proc/meminfo
    MemTotal:       66002344 kB
    MemFree:        40254188 kB
    Buffers:          474104 kB
    Cached:         19753148 kB
    SwapCached:            0 kB
    HugePages_Total:
    2000
    HugePages_Free:
    2000
    HugePages_Rsvd:   
    0
    HugePages_Surp:   
    0
    Hugepagesize:  
    2048 kB
    ## Before loading Subscriber Dsn
    msclab3201# ipcs -m
    ------ Shared Memory Segments --------
    key        shmid      owner      perms      bytes      nattch     status
    0xbc0101d6 1703411712 ttadmin    660        1048576    1
    0x79010649 24444930   root       666        404        0
    ## After loading Subscriber Dsn
    msclab3201# ipcs -m
    ------ Shared Memory Segments --------
    key        shmid      owner      perms      bytes      nattch     status
    0xbc0101d6 1703411712 ttadmin    660        1048576    2
    0x7f020012 1825964033 ttadmin    660        236978176  2
    0x79010649 24444930   root       666        404        0
    msclab3201#
    msclab3201# sysctl -a  | grep huge
    vm.nr_hugepages = 2000
    vm.nr_hugepages_mempolicy = 2000

    The size of these databases is very close to the limit for 32-bit systems and you are almost certainly running into address space issues given that 11.2 has a slightly larger footprint than 6.0. 32-bit is really 'legacy' nowadays and you should move to a 64-bit platform as soon as you are able. That will solve your problems. I do not think there is any other solution (other than reducing the size of the database).
    Chris

  • 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

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

Maybe you are looking for

  • Could I have damaged my hdd for unadequate ventilation?

    Hi, anyone thinks I could have damaged the internal HDD of mi mid 2011 mac mini by having papers/magazines on top of it while using? my HDD is not responding or restoring either and windows PC does not recognizes it now that I have taken it out of th

  • Custom Exit to count No: of Employee based on User Input Date

    Hi There, I have a requirement to Count the no: of Employees for each Position Id. This count value changes with time (Time-dependent). So, when the user Keys-in a date at the Query Execution-Prompt, it should take the date value and then count the n

  • Filtering domain value ranges

    Is it possible to filter domain value ranges when displaying a dropdown listbox in a table control according to the value of another field? For instance, - I have an ITAB with the fields FIELD1 and FIELD2 and a table control TABCON connected to it. -

  • Credit Balance Won't Update

    I can't pre-order Madonna's Confessions on a Dance Floor and get the new single because each time it say that my credit balance is out of date and to say "ok" to refresh but it still allows me to buy other music so I am confused! and frustrated! Anyo

  • Undisclosed Recipients instead of Group Name

    Hi, Created "Test Group" in address book. Dragged test names/addresses to it. Opened mail preferences and under Composing, unchecked "When sending to a group, show all member addresses." Composed email: typed Test Group in To field, typed in Subject