linux系统oracle执行sqlplus找不到,求大神
linux系统oracle执行sqlplus找不到是设置错误造成的,解决方法为:
1、将ORACLE客户端rpm安装包传输到linux系统。
2、ROOT用户先后执行rpm包安装命令。
3、安装完成后,自动生成客户端所在目录/usr/lib/oracle/12.1/client64,其下bin、lib目录分别存储可执行文件和对应的连接库。
4、在/usr/lib/oracle/12.1/client64目录下,用vi命令,创建并配置Oracle客户端的网络服务名配置文件tnsnames.ora。
5、登录sqlplus使用用户,在.bash_profile中设置ORACLE客户端环境变量。
6、在.bash_profile中,将sqlplus所在的路径添加到PATH环境变量中。
7、完成安装后,可以在命令窗口用sqlplus按对应用户名密码连接远程的oracle数据库,读取表了。
你是用什么用户的登录的,需要设置用户环境变量,如下图:
登录后
cd ~ 进入用户家目录
ls -al 找到环境变量配置文件.bash_profile,它是隐藏文件
我的.bash_profile文件配置如下,请参考:
ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
ORACLE_SID=to_26
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:$LD_LIBRARY_PATH
THREADS_FLAG=native
ORACLE_OEM_JAVARUNTIME=/opt/jre1.3.1_15
PATH=$PATH:$ORACLE_HOME/bin
NLS_LANG="AMERICAN_AMERICA.AL32UTF8"
export ORACLE_BASE ORACLE_HOME ORACLE_SID LD_LIBRARY_PATH THREADS_FLAG ORACLE_OEM_JAVARUNTIME PATH NLS_LANG
本回答被网友采纳which sqlplus
如果找不到说明没有PATH环境变量设置
有个命令oraenv,需要你输入实例名,然后它会根据/etc/oratab里的数据库设置你的环境变量
运行时前面有个点和空格(. oraenv)
这样就省去了一系列变量的设置(grid和oracle用户只需要默认的profile)