Oracle企业管理器错误 - NMO setuid(root)

时间:2014-04-20 00:47:45

标签: oracle setuid

我已经尝试了几天来修复"连接到主机,因为用户SYSDBA失败.ERROR:NMO不是setuid-root(仅限Unix)"。

我访问的博客毫无例外地说,为了解决问题,只需要以root身份运行root.sh脚本,其中脚本路径为$ ORACLE_HOME。我在Oracle Grid和Database安装期间按照要求安装了这个,但重新运行以确保。

如果我在运行root.sh后列出了nmo和nmb二进制文件的权限,我得到:

ls -la ./nm? -rws - x --- 1 root oinstall 34166 Apr 16 02:10 ./nmb -rws - x --- 1 root oinstall 44437 Apr 16 02:05 ./nmo

在完成以下教程之后,我做了: chown root nmo chmod 6750 nmo chown root nmb chmmod 6750 nmb

权限就像这样:

ls -la ./nm? -rwsr-s --- 1 root oinstall 34166 Apr 16 02:10 ./nmb -rwsr-s --- 1 root oinstall 44437 Apr 16 02:05 ./nmo

以上权限是根据大多数博客所说的应该是这样的。所以我重新启动了EM:

emctl stop dbconsole emctl start dbconsole

仍然有错误。我几乎要执行网格和数据库的全新安装,因为我多次重复这些过程,备份/ etc / oratab,删除它并重新运行root.sh(因此它可以重新创建oratab并修复可能的错误)。

我按照文档安装了所有内容,打开了root.sh并引用了脚本,以便我可以阅读它们,但没有发现任何可疑内容。

我的EM版本是11.2.0.3.0

我在VirtualBox下运行Oracle Linux。

再次:我已经按照99%的网站上的建议执行了root.sh有关setuid nmo错误...任何线索或不同的程序?

感谢。

3 个答案:

答案 0 :(得分:1)

检查$ ORACLE_HOME所在的文件系统是否使用nosuid选项挂载。如果是,则即使设置了SUID位,也会阻止以root身份运行的任何可执行文件。

希望有所帮助。

答案 1 :(得分:0)

以root用户身份在$ ORACLE_HOME目录中执行root.sh脚本:

例如:

sh /opt/oracle/product/11g/root.sh

答案 2 :(得分:0)

在root.sh旁边你可能会遇到我的情况。

遇到类似的问题,发现错误来自交换空间不足。我的交换很低并且运行到300MB,这个问题"无法启动进程:无法运行程序" / opt / OEMAgent / sbin / nmo" (在目录/ opt / OEMAgent / agent_inst / bin"):error = 12,空间不足"突然出现了。

添加额外的交换空间后立即消失。