【发布时间】:2021-03-20 01:16:02
【问题描述】:
无论我如何编辑、设置和导出我的环境变量,lsnrctl start 都不起作用。
已经仔细检查了$ORACLE_HOME、$ORACLE_BASE 和$ORACLE_SID 的所有集合,包括我的$PATH 中的 home/oracle/bin,但侦听器不断返回错误消息....
我的变量设置如下:
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_HOSTNAME=dbserver
export ORACLE_UNQNAME=cdb1
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/19.0.0/dbhome_1
export ORA_INVENTORY=/u01/app/oraInventory
export ORACLE_SID=cdb1
export PDB_NAME=pdb1
export DATA_DIR=/u02/oradata
export PATH=/usr/sbin:/usr/local/bin:$PATH
export PATH=$ORACLE_HOME/bin:$PATH
export PATH=/home/oracle/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
错误信息:
LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 08-DEC-2020 14:06:27
Copyright (c) 1991, 2019, Oracle. All rights reserved.
Message 1070 not found; No message file for product=network, facility=TNSTNS-12545: Message 12545 not found; No message file for product=network, facility=TNS
TNS-12560: Message 12560 not found; No message file for product=network, facility=TNS
TNS-00515: Message 515 not found; No message file for product=network, facility=TNS
Linux Error: 2: No such file or directory
有什么提示吗?谢谢。
echo $ORACLE_HOME 后跟lsnrctl status:
ls -l $ORACLE_HOME 的输出
[oracle@dbserver ~]$ ls -l $ORACLE_HOME
total 0
[oracle@dbserver ~]$
ls -l $ORACLE_HOME/network/mesg 的输出
[oracle@dbserver ~]$ ls -l $ORACLE_HOME/network/mesg
ls: cannot access '/u01/app/oracle/product/19.0.0/dbhome_1/network/mesg': No such file or directory
【问题讨论】:
-
好吧,我们不知道环境是否在您发出“lsnrctl”命令的会话中正确设置。就这一点而言,我们甚至不知道您发出了什么 lsnrctl 命令 - 开始?状态?服务?重新加载? (并且您显示的大多数环境变量都不适用于此错误)。我想查看完整的会话日志......命令和响应......对于以下命令:'echo $ORACLE_HOME' 紧随其后的是'lsnrctl status'。请更新您的问题以表明这一点。
-
另外一件事,如果您的 lsnrctl 命令是从 cron 启动的 shell 脚本发出的,则不会引用您的配置文件。从 cron 启动的脚本负责设置自己的环境变量。
-
感谢您的支持。正如我在帖子的第一句话中所说,命令是“lsnrctl start”。当我做你所建议的回声时,返回是:“/u01/app/oracle/product/19.0.0/dbhome_1 lsnrctl status”
-
抱歉,我的速读忽略了你开场白中的那个细节。现在,我给了你两个单独的命令:1) 'echo $ORACLE_HOME',和 2) 'lsnrctl status'。您似乎发出了一个命令:'echo $ORACLE_HOME lsnrctl start'。我要求您更新您的原始问题,以便您可以在上下文中显示它的格式。
-
好的,接下来我想看看这两个命令的输出:1) 'ls -l $ORACLE_HOME',和 2) 'ls -l $ORACLE_HOME/network/mesg'。终端会话的屏幕截图特别难以阅读。我将其留作练习,让学生学习如何从终端会话中复制文本并将其粘贴到您的开题中。