Unix UBE error

rosebay

Member
We are having problems with our UBEs running on our Unix server. Initially, the UBEs run fine, but after a certain point they begin to error out. If I start and stop the services they will work again for a while until they begin error out again. This happens with as little as 2 or 3 users on the system. This is happening across all pathcodes. The following are errors from our logs:

IPC1200007- lockIPCInit failed, last errno=28: No space left on device

IPC1200011- Check OS kernel parameters semmni and semmns

IPC Init Failed

IPC1400001- IPC routine called without successful IPC initialization

We have set semmns=30640 and semmni=15320 according to the 'Tuning Oracle on UNIX' guide downloaded from the KG.

All the helpdesk has come up with is to check our Antivirus software. Anyone have any suggestions? Thanks

rb
OneWorld XE SP15, Oracale 8.1.6, HP-Unix 11.0, Citrix Metaframe 1.8, IBM Websphere 3.5
 
Hi,

Did u notice that the a an error 'No space left on device' ? Try to find out
which filesystem is overloaded - it could be some temporary files ie files
that start with AAA..... which can be very big files when a UBE on the
server is not normal. Sometimes these files remain there. See if they are in
the /tmp.

Rgds
 
Re: RE: Unix UBE error

I didn't see any large temporary files out on the system. I found a call on the KG with the same problem and error messages. JDE determined that the problem was in the JDE.INI file. They sent him corrections that fixed the problem but they didn't list what the corrections were. I haven't been able to get anything from JDE.

rb
OneWorld XE SP15, Oracale 8.1.6, HP-Unix 11.0, Citrix Metaframe 1.8, IBM Websphere 3.5
 
Hi ,

Plse find attached kernel parameter benchmark guide.
Also can you check there is a patch for oracle 8.1.6 for unix that you need
to install.
 
Re: RE: Unix UBE error

Thanks for responding. Are you talking about the 8.1.6.3 Oracle patch? We have it scheduled but it hasn't been applied yet. I am checking on our HP-Unix kernel settings.

rb
OneWorld XE SP15, Oracale 8.1.6, HP-Unix 11.0, Citrix Metaframe 1.8, IBM Websphere 3.5
 
SOunds like your Oneworld IPC starting value (JDE.INI server setting) is running into some other programs ipcs and is causing the conflict. Look at the output to

ipcs -a

and see if you hanve conflicts. I think OneWorld needs a default range of 1000 (decimal) IPCs - note that the JDE.INI has the starting valu in decimal, and the output of ipcs -a has the keys in hexadecimal.

Good luck.

--Seg
 
We finally got a solution to our problem, and from the JDE Helpdesk not less. Apparently, we needed to adjust two default parameters on our HP Unix server (it doesn't appear to be listed anywhere on the KG though):

semume (maximum undo structures per process)
semmnu (maximum undo structures in the system)

Our default values were 10 and 30. JDE advised that we change them to 256 and 8192. This fixed the problem with our UBEs erroring, and everything runs fine now. JDE also recommended some other changes as well that we haven't implemented yet but are going to look at.

Besides changing semume and semmnu, you might want to look at the following kernel parameters. None of these suggestions are related to your UBE problem, but just things to think about.



dbc_max_pct - This parameter is currently set to 50, which means up to 50% of you system memory can be used as buffer cache. Using a high percentage of buffer cache can speed up disk/file accesses. This might be OK if you have a bunch of unused memory, but I have seen cases where people have had memory usage issues because this was set too high. If your system has very high memory usage, you might consider lowering this value.

max_thread_proc - Maximum threads per process, currently set to 64. I don't know if you guys are running OneWorld JAS / WebSphere, but if you are (or will be), this parameter is probably too low. If you do want to run JAS, I would recommend something like 256 for this parameter.

msgssz - Size of a message segment, currently set to 8. This won't cause any errors, but it might be slightly more efficient to have it set higher (like maybe 32). Most OneWorld kernel messages are 15 to 20 bytes, and this would make it so that messages are not broken up as often when sent from process to process. You don't want to set this too high though, because then you are just wasting kernel memory. While you're at it, you can probably reduce msgseg to 16384, or even 8192 - this parameter along with msgssz determines the amount of memory the kernel reserves for IPC message queues. I know your tuning guide (which I have not seen) said something about 80400, but this is clearly wrong... and since you are raising the size of each segment (msgssz), you could theorhetically reduce the total number of segments allowed (msgseg) because you'll be using less.

semmni - This can be lowered from the current value of 15320. OneWorld now uses basically a single semaphore array, which consists of 1 identifier containing an array of size "maxNumberOfSemaphores" from the JDE.INI file. This is another case where you are using memory for the kernel that does not need to be used.

semmsl_override - I think semmsl is a Solaris specific parameter. It doesn't look like SAM recognizes what it is. I recommend taking this out of the /stand/system file.

timeslice - Currently set to 10 (default). This is one parameter you might want to look at for performance reasons, but really only if you are running OneWorld and Oracle on the same box. Oracle performs better with a smaller timeslice, but OneWorld performs really badly if you set this too low. If you ARE running both OneWorld and Oracle on the same box, we've found that a value of 7 or 8 can help your DB performance without hurting OneWorld too much, but this is a very touchy parameter, so do some baseline performance testing before you change it, and then compare what happens after the change.


rb
OneWorld XE SP15, Oracale 8.1.6, HP-Unix 11.0, Citrix Metaframe 1.8, IBM Websphere 3.5
 
Back
Top