linux运行sqlplus报:-bash: sqlplus: command not found

进到sqlplus当前目录执行./sqlplus可以运行,直接sqlplus就报命令未找到。
推测是环境变量问题,用的是免安装客户端,
而./运行后,输入用户名和密码后:ORA-12545: Connect failed because target host or object does not exist,所以我想sqlplus user/password@SID试下,结果command not found。
tnsnames.ora和listener.ora的配置应该没问题,
tnsnames.ora:
CZJGBS =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 81.17.1.23)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = czjgbs)
)
)

listener.ora:
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /home/db2inst1/oracle)
(PROGRAM = extproc)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 81.17.1.23)(PORT = 1521))
)
)
我现在用./运行后,再输入用户名@ORACLE_SID后再输入密码就能成功登上去。
有什么办法,不用./的方式运行,因为我要用sqlldr
环境变量:
export ORACLE_HOME=/opt/oracle
export LANG="zh_CN.GBK"
export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"
export ORACLE_IC_HOME=/opt/oracle/instantclient_11_2
export ORACLE_HOME=$ORACLE_IC_HOME
export TNS_ADMIN=$ORACLE_IC_HOME
export PATH=$PATH:$HOME/BIN:$ORACLE_IC_HOME
export LD_LIBRARY_PATH=$ORACLE_IC_HOME:/usr/lib
export ORACLE_SID=czjgbs

第1个回答  2013-08-06
推荐两种方式:
1.把sqlplus设置成环境变量
这个的设置有许多放法,我就不重复了,楼主参考文章:http://blog.csdn.net/csf111/article/details/7296443
2.使用脚本执行sqlplus命令,如果脚本名称为execute.sh
内容为:
#! /bin/bash
sudo 你的sqlplus存放路径
保存文件后,修改文件权限:chmod 755 execute.sh
把文件复制到 /usr/local/bin 目录下

这样你以后就能直接在终端通过执行execute.sh来启动sqlplus了。

若有还疑问,欢迎hi我~追问

你这做成shell启动,跟我./启动有区别么哥,我想要的结果是能直接输入命令sqlplus启动

追答

还是设置环境变量吧,道理都是一样的。

第2个回答  2013-08-05
数据库连接串配置错误追问

我推测连接配置应该没问题,事实也没问题。

第3个回答  2013-08-05
将sqlplus 软链接(ln)到/usr/bin里面试试追问

还是环境变量问题,具体问题在哪我也不知道。

更改的部分:
#export?ORACLE_HOME=/opt/oracle
export ORACLE_HOME=/opt/oracle
#有区别么,有区别,因为前句老报错
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
export PATH=$PATH:$HOME/bin:$ORACLE_IC_HOME

本回答被提问者采纳
相似回答