Friday, March 26, 2010

Enterprise manager : ERROR: NMO not setuid-root (Unix-only)

I was not able to login as OS user using Enterprise manager 11gR1. I kept getting the following error


ERROR: NMO not setuid-root (Unix-only)

All google results indicate that this error occurs if you have not run root.sh after installation. In my scenario , I verified that I had successfully ran and that nm? binaries in $ORACLE_HOME had the right permission:
-rwsr-s--- 1 root dba 22216 Mar 16 10:37 nmb
-rwsr-s--- 1 root dba 27056 Mar 16 10:37 nmo
-rwsr-s--- 1 root dba 95328 Mar 16 10:37 nmhs

However, I still continued to get the error.

Taking a closer look, I released that the directory which had $ORACLE_HOME installed was mounted with nosetuid options. Fixing that resolved the issue.

3 comments:

  1. Thank you very much!
    You are the very first one I found pointing at "nosuid". I just spend hours with all those nice "You Forgot To Run root.sh" blogs'n'threads.

    ReplyDelete
  2. Thanks a lot.
    As already stated, I stumbled on to this blog after wasting hours and it gave me exact info I was looking for, that ORACLE_HOME was residing on a file system which was not mounted with 'suid' and hence the sticky bits were not set as required.

    ReplyDelete
  3. It took me a day after reading this to realize that the solution is as simple as install oracle to /export/home/oracle instead of /home/oracle, or may be it is even enough to say
    export HOME=/export/home/oracle
    before running
    ./runInstaller

    ReplyDelete