Wednesday, January 2, 2013

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


##########################
#  Error
##########################

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

##########################
#  Full Error 
##########################

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

##########################
#  Cause
##########################

Error occurred while running a shell script from enterprise manager. We have a shell scripts which will delete, archive database log files (dump, trace, alert log files).

##########################
#  Command Executed
##########################

Ran a shell script from Enterprise Manager

##########################
## Solution
##########################

### 11.2.0.1.0

nmo and nmb Agent Binary files are owned by Oracle user.

Actually these files needs to have root ownership. After installing Agent home in the server, the permission from oracle user will be changed by root.sh script which will be ran at the end of the Agent home installation.

Before :


agent11g @ server01:/opt/oracle/product/11.2/agent11g/bin
> ls -al nm?
-rws--x---   1 oracle   dba        22472 Mar 16  2012 nmb
-rws--x---   1 oracle   dba        29360 Mar 16  2012 nmo

Reason for improper file ownership may be because,

  1. Root.sh script is not run at the end
  2. there may be a interruption while root.sh script was ran.
Simple solution to fix this error is, change the ownership from oracle to root user.

Run below commands as Root User :

sudo chown root /opt/oracle/product/11.2/agent11g/bin/nmo
sudo chown root /opt/oracle/product/11.2/agent11g/bin/nmb

After :

no_sid @ server01:/opt/oracle/product/10.2/agent11g/bin
> ls -al nm?
-rws--x---   1 root     dba        22472 Mar 16  2012 nmb
-rws--x---   1 root     dba        29360 Mar 16  2012 nmo

Above is for 11g Agent Home.

A 10g Home Should look like below,

no_sid @ server01:/opt/oracle/product/10.2/agent10g/bin
> ls -al nm?
-rwsr-s---   1 root     dba        22472 Mar 16  2012 nmb
-rwsr-s---   1 root     dba        29360 Mar 16  2012 nmo

Note :

If root.sh script is not run then recommended option is to run root.sh script rather than giving just permission to these files, becuase root.sh does relinking of binaries and other activities.





2 comments:

Anonymous said...

It works.

Anonymous said...

Thx ! great job !