TNS:cannot allocate memory - is there limit to the num databases on one box

Hi,
Server Spec:
Windows 2008 R2 x64 with all updates applied
Oracle 11.2.0.1 Standard Edition with Patch 16 applied (which matches all of the live databases version)
10GB RAM
I have a standby server which has all my standby databases on it
I have recently added about 8 new standby databases taking it to 102 and since then I keep getting an intermittent TNS error; TNS-12531: TNS:cannot allocate memory
I have scripts that loop through all the databases one at a time, they start the standby database, apply new archived redo logs and shut the database down
This has worked perfectly for years but I started getting the issues after added a few more databases, it probably failes 1 in 3 times so it is not consistent.
With all of the databases just idling the server is using 6GB out of the 10GB available RAM so there is plenty of free memory
If I remove half a dozen databases from the scripts it starts to work again.
I created 2 new listeners and split the databases so half run on one listener and half on the other, it still has intermittent failures
Server has been restarted many times and sometimes will run through a couple of times before failing and sometimes will fail on the first run through
Failures are normally towards the end of the script, ie. has applied the logs to 95 databases and fails on the 96th!
I've reorded the databases in the script and it always fails towards the end, not on a specific database
I have also added restarts to the listeners during the scripts which made no difference
I have now ammended my scripts so the actual windows service is not running for any database and the script does a net start before applying the logs and a net stop afterwards. It now runs through without a problem but I would like to get to the bottom of the issue and keep the windows services running as starting and stopping them adds time to the job of apply the logs across all the databases
Thanks
Robert

Osama_mustafa wrote:
Just as note don't add this Value by yourself , you have to depend on document .I'm not sure I understand? There are no real suggestions in the doc, only one example
TNS-12531 On Windows 64-bit [ID 1384337.1:}You need to check the third value for the registry entry \HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\SubSystems\:
Eg: SharedSection=1024,20480,1024
The third argument is the maximum amount of heap memory allocated to non interactive desktops. Increase this third value and check when the TNS error disappears. There is no optimum value, it depends from one system to > another.
Restart of System may be required for changes to take effect
I have set the third number to 2048 and it has been running fine since

Similar Messages

  • Oracle 8i listener issue:  TNS-01168: Cannot allocate memory

    We have a loader application coded in perl/c which connects to DB to load data from flat files. Whenever we have multiple such loader programs running, the listener dies and loading stops. The listener.log is around 2GB. I opened the loag and got following details:
    Listener Log file (2GB file):
    -- File begining ---
    ECHO is on.
    17-FEB-2005 20:40:20 * service_update * scanview * 0
    17-FEB-2005 20:50:20 * service_update * scanview * 0
    17-FEB-2005 21:00:10 * (CONNECT_DATA=(SERVICE_NAME=scanview)(CID=(PROGRAM=C:\Perl\bin\perl.exe)(HOST=AZSACTAPP107)(USER=grp_scanview))) * (ADDRESS=(PROTOCOL=tcp)(HOST=10.2.164.17)(PORT=2659)) * establish * scanview * 0
    19-FEB-2005 03:14:26 * service_update * scanview * 0
    19-FEB-2005 04:00:09 * (CONNECT_DATA=(SERVICE_NAME=scanview)(CID=(PROGRAM=C:\Perl\bin\perl.exe)(HOST=AZSACTAPP107)(USER=grp_scanview))) * (ADDRESS=(PROTOCOL=tcp)(HOST=10.2.164.17)(PORT=2486)) * establish * scanview * 0
    19-FEB-2005 04:04:27 * service_update * scanview * 0
    19-FEB-2005 04:07:07 * (CONNECT_DATA=(SERVICE_NAME=scanview)(CID=(PROGRAM=C:\Perl\bin\perl.exe)(HOST=AZSACTAPP107)(USER=grp_scanview))) * (ADDRESS=(PROTOCOL=tcp)(HOST=10.2.164.17)(PORT=2644)) * establish * scanview * 0
    19-FEB-2005 04:18:21 * 51
    Error Started at Line #: 2096
    19-FEB-2005 04:18:21 * 51
    NL-00051: internal error code, arguments: [302], [1], [], [], [], [], []
    Above error continued till Line #: 913372
    19-FEB-2005 04:21:15 * 1168
    TNS-01168: Cannot allocate memory
    19-FEB-2005 06:05:30 * 1168
    TNS-01168: Cannot allocate memory
    TNSLSNR for 32-bit Windows: Version 8.1.7.4.0 - Production on 19-FEB-2005 11:13:49
    -- File ended ---
    Is there a known bug and if so what is the resolution? Will upgrading to Net 9i help?
    Let me know if anyone has faced such issue and the resolution.
    Thanks
    Satish

    alll listeners show the TNS-12531 cannot allocate memory message in the listener.log.Only a single listener is required.
    How many listeners run on this system & why more than 1?
    oerr tns 12531
    12531, 00000, "TNS:cannot allocate memory"
    // *Cause:  Sufficient memory could not be allocated to perform the desired
    // activity.
    // *Action:  Either free some resource for TNS, or add more memory to the
    // machine. For further details, turn on tracing and reexecute the operation.

  • Cannot allocate memory error in Oracle 10.2.0.2

    I am using Oracle 10.2.0.2. When will I get the below error. What to do to resolve this issue. Can somebody help me on this
    ROW-00001: Cannot allocate memory||SQLSTATE0=03/18/08 14:27:19
    ROW-00001: Cannot allocate memory||SQLSTATE0=03/18/08 14:27:19
    ROW-00001: Cannot allocate memory||SQLSTATE0=03/18/08 14:27:19
    ROW-00001: Cannot allocate memory||SQLSTATE0=03/18/08 14:28:17Thanks in advance

    ROW-00001 Cannot allocate memory
    Cause: There is not enough memory to run the application.
    Action: Close unneeded applications or increase the virtual memory.
    Or
    Note:387818.1 - did this metalink note help you?

  • Can't restore iPod classic 60GB video.  Cannot Allocate Memory - Disk Utility

    Sorry if this has been asked before but I've been searching the boards and am yet to find a result.
    I have an old iPod classic 60GB (video) which has a dodgy HDD.  It was clicking and in a constant sad face/charging loop.  I've managed to get it display "Please restore iPod" message and it is now being recognised by my macbook.  I've tried to restore it via iTunes but when I try that I get an error message tht says "The iPod could not be restores because it is busy".
    I've tried toformat the iPod using Disk Utility too but i get an error:
    Disk Erase failed with the error:
    POSIX reports: The operation couldn’t be completed. Cannot allocate memory
    The oddest thing is that under disk utility my iPod drive is showing up as a 2TB drive:
    All I'm realy trying to do is restore the iPod so I can try to recover some of the tracks using Disk Drill.  Can anybody help?

    See if you can find a window based PC and try to do a Restore there.

  • My internal drive is NOT showing up in the event library in Final Cut X.  I am also getting a "The operation couldn't be completed. Cannot allocate memory" Any ideas? I am using an IMAC Core i7 with 8GB memory, OS version 10.6.8

    My internal boot drive is NOT showing up in the Event Library in Final Cut X. My external raid drive is showing up.
    I am also getting error message "The operation couldn’t be completed. Cannot allocate memory"  when attempting to create a new "event".   Any ideas?
    If I had a application disk, I would unistall and reinstall FCPX.  I am assuming there is a way do do this without a disk - just have not been able to easliy find out how.
    I am using an IMAC Core i7 with 8GB memory, OS version 10.6.8
    Thanks

    Well it did NOT work.  Here is a screen capture as FCPX loads showing the drive while it loads. Then when it is loaded, NO drive showing up in the Event Library ( I have turned off the external drive).
    ANY ideas . . . .  Anybody . . . .  APPLE?

  • Can't restore from .dmg file "cannot allocate memory- error"

    Im trying to install OS X 10.6 from an .dmg file because I have trouble with my dvd reader.
    I have followed this steps from this thread: https://discussions.apple.com/thread/2764247?start=0&tstart=0
    select your .dmg file and open with Disk utility
    02. select your Mac os X image from left panel box and then choose restore
    03. drag and drop the Mac os image to source
    04. drag and drop Mac's partition to destination
    05. click restore
    I get "cannot restore, cannot allocate memory". Any ideas? Thanks in advance
    Mac Pro OS X 1.6.6, 4 discs (one to make fresh install - 2TB WD), 2x2.66Ghz, dual core Intel Xeon

    Hi LInc. I tried your choice and succesfully installed over a 16GB pendrive. But could not do that with the 2TB green caviar... I also found that there are some issues with this kind of drive in the fourth bay, so I will change it to see if there is any difference. Cant make it work with TMachine also (known issues there too).

  • Cannot allocate memory - Concept Explanation Please

    Hello all,
    Just wanted to confirm something.
    I compile a helloword class and the javac does it job.
    Now when I am preparing a larger program from ant like so: /usr/local/ant/bin/ant prepareI get:Buildfile: build.xml
    [property] java.io.IOException: java.io.IOException: Cannot allocate memory
    [property]     at java.lang.UNIXProcess.<init>(UNIXProcess.java:148)
    [property]     at java.lang.ProcessImpl.start(ProcessImpl.java:65)So more memory is required for different compilations of programs, right?
    Is there a way, I can allocate all (most) memory to the javac compiler?
    If I have some of my theory and terminology mixed please correct me.
    Thanks all
    ---------Key Info-----------
    java version "1.5.0_15"
    Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_15-b04)
    Java HotSpot(TM) Server VM (build 1.5.0_15-b04, mixed mode)
    OS: Fedora 7

    Thanks Peter will look into this now.
    Before I find the tut/HOWTO is there any chance of the swap file damaging my server? I mean worst case scenario would be...?
    Just had a look at "top" and it says "swap" on there, is that referring to something eles: (sucks to be a noob!)
    top - 12:32:34 up 14 min,  1 user,  load average: 0.00, 0.00, 0.00
    Tasks:  35 total,   2 running,  33 sleeping,   0 stopped,   0 zombie
    Cpu(s):  0.0% us,  0.1% sy,  0.0% ni, 99.9% id,  0.0% wa,  0.0% hi,  0.0% si
    Mem:   8140596k total,  8087960k used,    52636k free,    73708k buffers
    Swap: 12578884k total,    28956k used, 12549928k free,  1705984k cachedEdited by: abshirf2 on Oct 2, 2008 7:32 PM
    Edited by: abshirf2 on Oct 2, 2008 7:33 PM

  • NFSv4: cannot allocate memory errors when moving files

    When I move a directory on an NFS client to another location then I can't create a file on that other location anymore:
    [willem@venus ~]$ mkdir test
    [willem@venus ~]$ mv test /pub/music
    [willem@venus ~]$ cd /pub/music/test
    [willem@venus test]$ touch a
    ^C
    the touch command does nothing on the nfs client (it hangs, so I Ctrl-C).
    When I logon to the NFS server the following happens:
    [willem@titan W]$ cd /pub/music/test
    [willem@titan test]$ touch x
    touch: cannot touch 'x': Cannot allocate memory
    [willem@titan test]$
    This only happens if the mv command moves the directory over different NFS mount points.
    I have an older arch NFS server with a 3 months old arch install, and this issue does not occur there.
    If I mount the nfs client directories with nfsvers=3 in my fstab then it also does not occur, so it seems to be broken in a recent update in NFS4

    I've tested using a very small SGA and PGA (200Mb and 100Mb), although normally I would have it set higher.
    # Kernel sysctl configuration file for Red Hat Linux
    # For binary values, 0 is disabled, 1 is enabled. See sysctl(8) and
    # sysctl.conf(5) for more details.
    # Controls IP packet forwarding
    net.ipv4.ip_forward = 0
    # Controls source route verification
    net.ipv4.conf.default.rp_filter = 1
    # Do not accept source routing
    net.ipv4.conf.default.accept_source_route = 0
    # Controls the System Request debugging functionality of the kernel
    kernel.sysrq = 0
    # Controls whether core dumps will append the PID to the core filename.
    # Useful for debugging multi-threaded applications.
    kernel.core_uses_pid = 1
    kernel.panic = 300
    kernel.sysrq = 1
    net.ipv4.tcp_syncookies = 1
    # Oracle XE Recommended Values
    kernel.sem = 250 32000 100 128
    kernel.shmmax = 536870912
    ########

  • IBook - "POSIX Error - Cannot allocate memory"

    When attempting to use the Software Update, I get the following message: "POSIX Error - Cannot allocate memory."
    Also, when attempting to access Safari, the following message is displayed:
    Other suggestions previously have not worked, such as Preferences, Disk Warrior, etc.
    Are there any others that may be recent or ground breaking?  Is it possible that Tiger is simply at the end of its lifecycle?

    I use Tiger everyday as my main OSX, no such problems, though there are no Software Updates for Tiger for a long, long time.
    Open System Preferences>Network>Configure>Proxies Tab, make sure none are set, like for HTTP & HTTPS.
    Make a New Location, Using network locations in Mac OS X ...
    http://docs.info.apple.com/article.html?artnum=106653
    See this, especially last post...
    http://hintsforums.macworld.com/showthread.php?t=65149
    OOPs... see you sloved it!

  • Error "ROW-00001 cannot allocate memory"

    I am using oracle 10g and i got this error "ROW-00001 cannot allocate memory" when accessing dataset. What is the solution of this and concept behind it. Please help.

    I have had a similar error with SQL Server 2005 (running on WINXP SP3) connected to Oracle 9i through a Linked Server.
    I was originally using MSDAORA and was upgrading to OraOLEDB. There was a lot going on with my machine involving repeated installs/un-installs of the 9i and 10g clients so it's hard to pin-point the exact cause of this being broken.
    Eventually I had the original linked server using MSDAORA and the new Linked served using OraOLEDB existing happily side by side. Then I started having problems selecting data.
    I could still connect and select sysdate from dual through each linked server. Sometimes I could select data and then shortly after I could not. A reboot helped briefly but then the problems re-appeared.
    The errors I got were:
    - Using the original Linked server with MSDAORA
    Msg 7399, Level 16, State 1, Line 1 The OLE DB provider "MSDAORA" for linked server "LNK_KADM01P" reported an error. The provider ran out of memory.
    Msg 7330, Level 16, State 2, Line 1 Cannot fetch a row from OLE DB provider "MSDAORA" for linked server "LNK_KADM01P".- Using the new Linked server with OraOLEDB.
    OLE DB provider "OraOLEDB.Oracle" for linked server "OLE_LNK_KADM01P" returned message "".
    OLE DB provider "OraOLEDB.Oracle" for linked server "OLE_LNK_KADM01P" returned message "ROW-00001: Cannot allocate memory".
    Msg 7320, Level 16, State 2, Line 1 Cannot execute the query "SELECT * FROM XYZ " against OLE DB provider "OraOLEDB.Oracle" for linked server "OLE_LNK_KADM01P". In the end I reinstalled the 9i ODAC/OLE client. When you run the installer it shows 5 ODAC/OLE subcomponents. I think when I had been installing earlier I had not been selecting each subcomponent, and so it was only installing the first one (which is for MS MTS).
    I went through the install and specifically selected each one of the components. I'm pretty sure my problem was caused by only having the old 9.2.0.1 OLE client objects installed instead of 9.2.0.7. After the re-install and reboot it's been running fine, and coincidently data throughput has doubled.
    I hope this is help to others. (Because I know how frustrating and painful this has been for me!!!)
    Edited by: user468179 on 9/10/2008 22:27

  • I get the following error when formatting a external hard drive. Partition failed with the error:  POSIX reports: The operation couldn't be completed. Cannot allocate memory

    I get the following error when formatting a external hard drive.
    Partition failed with the error: 
    POSIX reports: The operation couldn’t be completed. Cannot allocate memory
    I have a Macbook pro 13" A1278. I purchased it around december 2010. I have a HHD 3.5" drive desktop select II 1.5TB. I purchased it around Febuary/March 2011 to use with my Macbook pro. I formatted it and moved all my files to there, I got it so my macbook's hard drive wouldn't brake and I lose everything on my macbook.
    Is there any fixes?

    First, try a system reset.  It cures many ills and it's quick, easy and harmless...
    Hold down the on/off switch and the Home button simultaneously until the screen blacks out or you see the Apple logo.  Ignore the "Slide to power off" text if it appears.  You will not lose any apps, data, music, movies, settings, etc.
    If the Reset doesn't work, try a Restore.  Note that it's nowhere near as quick as a Reset.  From iTunes, select the iPad/iPod and then select the Summary tab.  Follow directions for Restore and be sure to say "yes" to the backup.  You will be warned that all data (apps, music, movies, etc.) will be erased but, as the Restore finishes, you will be asked if you wish the contents of the backup to be copied to the iPad/iPod.  Again, say "yes."

  • Cannot allocate memory exception  - AMD64

    I am getting the following exception when the heap is only 70 % full on a linux AMD64 system with 16 GB RAM and 2 GB swap , the exception occurs even when there is around 3 GB free memory in the heap , any VM option needs to be set ?
    java -Xmx12g -Xms12g RE
    java.io.IOException: java.io.IOException: Cannot allocate memory
    java.io.IOException: java.io.IOException: Cannot allocate memory
    at java.lang.UNIXProcess.<init>(UNIXProcess.java:148)
    at java.lang.ProcessImpl.start(ProcessImpl.java:65)
    at java.lang.ProcessBuilder.start(ProcessBuilder.java:451)
    at java.lang.Runtime.exec(Runtime.java:591)
    at java.lang.Runtime.exec(Runtime.java:429)
    at java.lang.Runtime.exec(Runtime.java:326)
    at RE.main(RE.java:22)
    I can attach a sample code if required .

    paul.miner wrote:
    Caffeine0001 wrote:
    On linux, Runtime.exec does a fork and execute. That means that you will need double what your current java process is using in virtual memory(real + swap). Given -Xms12g you will need more than 24g of virtual memory space for your code to work as written. And with vm overhead, more likely a few gigs more.D&#97;mn, that sucks. Will adding swap space alleviate the problem?
    And if you know, does Windows do the same thing?You need at least as much virtual memory free as the parent process is using to do a Runtime.exec() on Solaris and Linux using Sun's VM. So increasing the swap to the point that there is as much free memory as the parent process is using should alleviate the problem. I agree that this sucks. Other VMs may not have this problem.
    I think the Sun VM takes a different approach when it exec() a process in Windows.
    One workaround is to run a small vm that acts a proxy. This small vm would listen on a socket and executes anything that comes in on that socket. So the 12g parent process would open up a connection to this small vm process and send the commands to it instead of Runtime.exec() and in turn the small vm process would do the actual Runtime.exec().

  • Avoiding java.io.IOException: Cannot allocate memory

    I am creating MappedByteBuffers using FileChannel.map(). If I try to map too large a section of a file, I get the following Exception:
    java.io.IOException: Cannot allocate memory
         at sun.nio.ch.FileChannelImpl.map0(Native Method)
         at sun.nio.ch.FileChannelImpl.map(FileChannelImpl.java:705)What this does not tell me is how much memory I can allocate. Is there some way to check?
    ++A

    The problem is, it would not be a few milliseconds at the start of the code. I should be making this decision within a loop, for each mapping. One iteration, I might be able to allocate 100kb. The next, I might be able to allocate 500mb.
    It would be a mistake to try to allocate either amount every iteration.
    The memory allocated by these MappedByteBuffers are being passed to another thread in the process, which will, in time, free them up. Meanwhile, this thread is trying to allocate room for another buffer. If the last buffer created used most of the system's resources, I probably cannot make another of the same size immediately. However, I would like to make one as soon as enough memory is available for it to be worth the effort. When that is the case, I would once again like to grab as much memory as possible in order to get the most time-benefit from the allocation.
    I will check into the Runtime.getRuntime.freeMemory() proposal and see how that works.

  • Safari won't open web pgs, says cannot allocate memory - HELP?

    Just got iPod Touch, connected to WiFi, but any web page I try to open with Safari gives me the same message: *POSIX error 12, Cannot allocate memory. NSPOSSIXErrorDomain.* What on earth does this mean, and why can't I open any websites??? Grateful for any assistance! Thanks - lizmo

    I've never succeeded in opening a page yet! This is my first attempt. I get the same error message every time. Thanks for any help.

  • Db_load error: Cannot allocate memory

    Hi
    when I try to import an dump file, i always get this error:
    db_load: BDB2055 Lock table is out of available lock entries
    db_load: Cannot allocate memory
    I executed "db_load -f outdb/outdb2 -h env xass.db"
    and i have set max locks by:
    dbenv->set_lk_max_locks(dbenv,1000);
    but it doesn't work.
    What should I do to prevent this problem?
    Thanks for your help in advance
    Mark
    Update:
    I have doing some tests, and i found that if I increase the number of locks by "set_lk_max_locks" in DB_CONFIG file,  the operation of db_load will success.
    The point is that the larger db file may need a very big value of locks, so why "db_load" doesn't release the locks during the running procedure? Is this a bug for bdb?
    becuase I can't increase the number of locks infinity!
    if not, How can i cause "db_load" release the locks of transaction?
    Does anybody can help me?
    Mark

    Hi Mark,
    If you are importing a dump file into an existing environment and opened with the flags of(can have more) DB_INIT_LOCK | DB_INIT_LOG | DB_INIT_MPOOL | DB_INIT_TXN, then it is true you may see the error about "lock table is out of available lock entries" when the dump file is very big. The db_load process will not release the locks since it needs to provent other process from accessing the database being built to provide data consistency in the transactional environment.
    The usually way for loading a database from a dump file is to specify an empty directory as the home directory. By this, the database will be created in a private non-transactional environment, and you can copy the database into your running environment after the db_load process finishes.
    Regards,
    Winter, Oracle Berkeley DB.

Maybe you are looking for