我刚刚在 Ubuntu 上安装了 Oracle Database 11g R2。
我尝试运行sqlplus
但收到此消息:
sqlplus: command not found
这些是:$ORACLE_SID、$ORACLE_HOME 和 $PATH 的值
aimad@localhost:/u01/app/oracle/product/11.2.0/dbhome_2/bin$ echo $ORACLE_SID
aimad@localhost:/u01/app/oracle/product/11.2.0/dbhome_2/bin$ echo $ORACLE_HOME
/u01/app/oracle/product/11.2.0/dbhome_2/
aimad@localhost:/u01/app/oracle/product/11.2.0/dbhome_2/bin$ echo $PATH
/usr/local/sbin:/sbin:/usr/sbin:/bin:/usr/bin:/usr/bin/X11:/usr/local/bin:/usr/bin:/usr/X11R6/bin:/root/bin
我怎么解决这个问题 ?
编辑 :
我尝试进入/u01/app/oracle/product/11.2.0/dbhome_2/bin
并运行./sqlplus
命令而不是 sqlplus,并且它可以工作,但我想sqlplus
每次都不进入该路径就执行。
答案1
/bin
我认为对您来说最简单的解决方案是在二进制文件的实际位置添加软链接。
ln -s /u01/app/oracle/product/11.2.0/dbhome_2/bin/sqlplus /bin/sqlplus
这将允许所有用户从任何地方调用 sqlplus。
答案2
这里有很多选择,但我会列出我认为最简单的。
注意:每个步骤都是独立的解决方案。它们不构成一系列步骤。
找到实际的 sqlplus 二进制文件并将该目录添加到您的路径中。这篇相对古老的文章对于这项任务仍然极为相关: askubuntu - 如何将目录添加到我的路径
找到二进制文件并创建指向用户主目录中 bin 目录的软链接。命令如下:
ln -s /u01/app/oracle/product/11.2.0/dbhome_2/bin/sqlplus $HOME/bin/sqlplus
或者让所有用户都拥有此功能:
sudo ln -s /u01/app/oracle/product/11.2.0/dbhome_2/bin/sqlplus /usr/bin/sqlplus
创建一个别名,通过环境变量通过其完整路径调用二进制文件。本教程为您提供了如何执行此操作的说明:askubuntu - 如何创建永久别名
您的别名的行看起来如下:alias sqlplus='/u01/app/oracle/product/11.2.0/dbhome_2/bin/sqlplus'
每次指定完整路径直接调用命令:
/u01/app/oracle/product/11.2.0/dbhome_2/bin/sqlplus