Friday, April 16, 2010

emctl ulimit: 25: bad number

I have recently installed a Oracle 11G R2 database on my Ubuntu laptop. All is working fine however one little issue is still bugging me. Whenever I start the dbconsole with emctl it is giving me a "ulimit: 25: bad number" warning. Even do all is starting up fine the issue is somehow bugging me. I have done some research and found that the rootcause thanks to some people at the oracle forums page.

The issue can be found in the file $ORACLE_HOME/bin/commonenv which is been called when you use emctl.

"If you type this line into bash, it works just fine, but emctl begins with the line #!/bin/sh, which on Ubuntu systems is symbolically linked to /bin/dash. Now, ulimit is a built-in shell command, not an executable file, and bash and dash seem to have a different syntax. If you type "dash" at a shell prompt to start a new dash shell, and type that particular ulimit command, it will complain about a bad number. (I'm not sure what the "25" represents, that number seems to be related to the number of lines in the shell script in which the command is found.) Be sure to type "exit" when finishing this test to return to bash or whatever your preferred shell is."

What you can do to solve the issue is to change the first line of the emctl script itself from:
#!/bin/sh

into:
#!/bin/bash

this way you will call the bash shell explicitly and the bash version of ulimit is called with the correct syntax. Even do it is not a big issue and you can ignore the error message I just want to have a tidy system which is not bugging me with error messages. As Ubuntu is not a certified system (still) you can encounter things like this and you just have to find a way around it.

1 comment:

Anonymous said...

tx for explanation!