简体   繁体   English

无法以root用户身份启动Oracle侦听器

[英]Unable to start Oracle listener as root user

I want to start Oracle Listner as root user. 我想以root用户身份启动Oracle Listner。 I am able to start listener as oracle user. 我能够以oracle用户身份启动监听器。 But its not starting as root user. 但它不是以root用户身份开始的。 I am able to stop and check status as root user. 我能够以root用户身份停止并检查状态。

When I start listener as root it gives following messages:- 当我以root身份启动监听器时,它会给出以下消息: -

# lsnrctl start

LSNRCTL for Linux: Version 10.2.0.1.0 - Production on 08-MAY-2012 15:08:11

Copyright (c) 1991, 2005, Oracle.  All rights reserved.

Starting /opt/oracle/102/bin/tnslsnr: please wait...

/opt/oracle/102/bin/tnslsnr: error while loading shared libraries: libclntsh.so.10.1: cannot open shared object file: No such file or directory
TNS-12547: TNS:lost contact
 TNS-12560: TNS:protocol adapter error
  TNS-00517: Lost contact
   Linux Error: 32: Broken pipe

Please help me to start listener as root user. 请帮我以root用户身份启动监听器。

You should not run Oracle as root user, it's a security risk. 您不应该以root用户身份运行Oracle,这是一个安全风险。 There is not a single reason to run the rdbms and/or the listener as root user, unless you completely messed up the installation, that also is not even allowed to run as root. 以root用户身份运行rdbms和/或侦听器没有任何理由,除非您完全搞砸了安装,甚至不允许以root用户身份运行。

If you do feel a need to run the listener as root user, make sure that your environment variables are correct. 如果您确实需要以root用户身份运行侦听器,请确保您的环境变量正确无误。 In your case: 在你的情况下:

   # export ORACLE_HOME=/opt/oracle/102
   # export PATH=$PATH:$ORACLE_HOME/bin

   # cd $ORACLE_HOME/bin
   # chmod u+s lsnrctl
   # lsnrctl start

LSNRCTL for Linux: Version 10.2.0.5.0 - Production on 09-MAY-2012 20:51:07 适用于Linux的LSNRCTL:版本10.2.0.5.0 - 生产于2012年5月9日20:51:07

Copyright (c) 1991, 2010, Oracle. 版权所有(c)1991,2010,Oracle。 All rights reserved. 版权所有。

Starting /data/oracle/base/product/se_10205_s/bin/tnslsnr: please wait... 开始/ data / oracle / base / product / se_10205_s / bin / tnslsnr:请稍候......

TNSLSNR for Linux: Version 10.2.0.5.0 - Production System parameter file is /data/oracle/base/admin/network/listener.ora Log messages written to /data/oracle/base/product/se_10205_s/network/log/listener.log Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=LISTENER))) TNSLSNR for Linux:版本10.2.0.5.0 - 生产系统参数文件是/data/oracle/base/admin/network/listener.ora写入/ data / oracle / base / product / se_10205_s / network / log / listener的日志消息.log听取:(DESCRIPTION =(ADDRESS =(PROTOCOL = ipc)(KEY = LISTENER)))

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER))) STATUS of the LISTENER ------------------------ Alias LISTENER Version TNSLSNR for Linux: Version 10.2.0.5.0 - Production Start Date 连接到(DESCRIPTION =(ADDRESS =(PROTOCOL = IPC)(KEY = LISTENER)))LISTENER的状态------------------------ Alias LISTENER版本TNSLSNR for Linux:版本10.2.0.5.0 - 生产开始日期
09-MAY-2012 20:51:09 Uptime 0 days 0 hr. 09-MAY-2012 20:51:09正常运行时间0天0小时。 0 min. 0分钟 0 sec Trace Level off Security ON: Local OS Authentication SNMP OFF Listener Parameter File /data/oracle/base/admin/network/listener.ora Listener Log File /data/oracle/base/product/se_10205_s/network/log/listener.log Listening Endpoints Summary... 0秒跟踪级别关闭安全性开启:本地操作系统身份验证SNMP关闭侦听器参数文件/data/oracle/base/admin/network/listener.ora侦听器日志文件/ data / oracle / base / product / se_10205_s / network / log / listener。日志听力端点摘要...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=LISTENER))) The listener supports no services The command completed successfully (DESCRIPTION =(ADDRESS =(PROTOCOL = ipc)(KEY = LISTENER)))监听器不支持服务命令成功完成

# lsnrctl stop

LSNRCTL for Linux: Version 10.2.0.5.0 - Production on 09-MAY-2012 20:52:16 适用于Linux的LSNRCTL:版本10.2.0.5.0 - 生产于2012年5月9日20:52:16

Copyright (c) 1991, 2010, Oracle. 版权所有(c)1991,2010,Oracle。 All rights reserved. 版权所有。

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER))) TNS-01190: The user is not authorized to execute the requested listener command 连接到(DESCRIPTION =(ADDRESS =(PROTOCOL = IPC)(KEY = LISTENER)))TNS-01190:用户无权执行请求的侦听器命令

Don't do this; 不要这样做; if you do you make a mistake. 如果你犯了错误。 Pick any other user that is member of the dba group but not root. 选择作为dba组成员但不是root用户的任何其他用户。

BTW: after this little demo I had to fix a little issue: 顺便说一句:在这个小小的演示之后,我不得不解决一个小问题:

Started with pid=5215 Error listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER))) TNS-12555: TNS:permission denied TNS-12560: TNS:protocol adapter error 以pid = 5215开始监听时出错:(DESCRIPTION =(ADDRESS =(PROTOCOL = IPC)(KEY = LISTENER)))TNS-12555:TNS:权限被拒绝TNS-12560:TNS:协议适配器错误
TNS-00525: Insufficient privilege for operation Linux Error: 1: Operation not permitted TNS-00525:操作权限不足Linux错误:1:不允许操作

problem was - obvious - that /var/tmp/.oracle/sLISTENER was owned by root. 问题显而易见 - / var /tmp / .oracle / sLISTENER归root所有。 A little chown to the correct user took care of that. 给正确的用户一点点照顾。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM