解决执行脚本时爆“sqlplus: command not found”的问题

简介:

如题所示,在安装了oracle的Linux服务器上执行脚本时出现如题的错误:

1
2
[oracle@hp-db  test ]$ . /getSysdate .sh
. /getSysdate .sh: line 10: sqlplus:  command  not found

问题分析:

情况一:使用root用户切换到oracle用户时使用了以下命令

1
[root@hp-db  test ] # su oracle

这样切换用户导致从root用户切换到oracle用户时没有加载/home/oracle/.bash_profile文件,因此环境变量没有加载进来

正确命令应该是:

1
[root@hp-db  test ] # su - oracle

然后进行测试:

1
2
[oracle@hp-db ~]$  echo  $ORACLE_HOME
/home/oracle/app/oracle/product/11 .2.0 /dbhome_1
1
[oracle@hp-db ~]$ sqlplus  "/ as sysdba"

可以发现已经可以正常进入SQL命令模式了

情况二:/home/oracle/.bash_profile文件中的oracle环境变量设置得不太正确

如果是这个文件中的环境变量设置不对的话,只需要参考一个正确的配置文件根据实际情况修改即可,参考文件如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#Oracle Config
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_HOSTNAME=hp-db
export ORACLE_BASE=/home/oracle/app
export ORACLE_HOME=$ORACLE_BASE/oracle/product/11.2.0/dbhome_1
export ORACLE_SID=yoursid
export ORACLE_TERM=xterm
export ORACLE_UNQNAME=yourunqname
export PATH=/usr/sbin:$ORACLE_HOME/bin:$PATH
export NLS_LANG="AMERICAN_AMERICA.AL32UTF8"
export EMLOCALHOST=localhost.oracle
export NLS_DATE_FORMAT="YYYY-MM-DD  HH24:MI:SS"
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib

附:最上面的那个shell脚本getSysdate.sh是这样的:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#!/bin/bash
VALUE=`sqlplus -S  "/ as sysdba"  << !
set  heading off
set  feedback off
set  pagesize 0
set  verify off
set  echo  off
select  to_char(sysdate, 'yyyy-mm-dd' ) today from dual;
exit
!`
echo  $VALUE
if  [ -n  "$VALUE"  ];  then
echo  "The rows is $VALUE"
exit  0
else
echo  "There is no row"
fi

再次执行效果如下:

1
2
3
[oracle@hp-db  test ]$ . /getSysdate .sh
2016-08-19
The rows is 2016-08-19



本文转自 pangfc 51CTO博客,原文链接:http://blog.51cto.com/983836259/1861364,如需转载请自行联系原作者
相关文章
|
4月前
|
安全 Cloud Native 虚拟化
VMware ESXi 7.0 U3w 发布 - 领先的裸机 Hypervisor
VMware ESXi 7.0 U3w 发布 - 领先的裸机 Hypervisor
930 1
VMware ESXi 7.0 U3w 发布 - 领先的裸机 Hypervisor
|
机器学习/深度学习 存储 人工智能
英伟达 H100 vs. 苹果M2,大模型训练,哪款性价比更高?
训练和微调大型语言模型对于硬件资源的要求非常高。目前,主流的大模型训练硬件通常采用英特尔的CPU和英伟达的GPU。然而,最近苹果的M2 Ultra芯片和AMD的显卡进展给我们带来了一些新的希望。
2049 0
|
8月前
|
存储 编解码 UED
拥抱AVIF:提升网站加载速度的最佳实践,附Zola模板
AVIF(AV1图像文件格式)是一种高效、开源且免版税的图片格式,相比JPG和PNG,在视觉相似的压缩水平下,文件大小可减少50%。它支持有损与无损压缩、动画存储、Alpha通道、HDR及宽色域等特性。2024年起,现代浏览器已全面支持AVIF。通过使用HTML `<picture>`标签,可优先加载AVIF图片,同时兼容WebP格式,提升网站性能与用户体验。本文还分享了在Zola静态网站生成器中实现AVIF支持的方法,大幅降低图片文件体积,优化带宽与流量成本,实现技术升级与用户需求的双赢。
306 0
|
10月前
|
数据可视化 搜索推荐 数据挖掘
从理念到实践:电商协作创新的实现路径
在竞争激烈的电商行业,团队亟需解决资源有限下的高效协作与客户满意度提升问题。传统模式存在部门割裂、信息不对称及管理效率低等痛点。创新服务模式通过搭建一体化平台、数据驱动和实时反馈,打破信息壁垒,实现多部门高效协作与智能化服务,借助协作工具如看板,优化任务管理和客户反馈跟踪,最终推动业务增长与品牌长远发展。
|
11月前
|
编解码 固态存储 openCL
Mastercam 2025 官方电脑配置推荐
Mastercam 推荐配置:建议使用最新版 Windows Professional;推荐 Intel i7 处理器,至少 8GB 内存(建议 32GB),NVIDIA RTX 或 AMD FirePro™/Radeon Pro 专业显卡(4GB 以上内存);双显示器设置,主显示器分辨率 1920x1080;使用 SSD 作为主驱动器;可选 3D 鼠标提升操作体验;注意杀毒软件可能影响软件运行。
1637 7
|
SQL 监控 数据库
SQL Server 查询超时问题排查
【7月更文挑战第8天】排查 SQL Server 查询超时涉及五个主要方面:检查复杂查询、评估服务器性能、审视配置参数、更新统计信息和分析执行计划。关注点包括查询的结构(如连接、子查询和索引),服务器资源(CPU、内存、网络延迟),连接和内存设置,以及统计信息的时效性。通过这些步骤可定位并解决性能瓶颈。
538 0
|
机器学习/深度学习 数据采集 算法
Python实现GWO智能灰狼优化算法优化支持向量机回归模型(svr算法)项目实战
Python实现GWO智能灰狼优化算法优化支持向量机回归模型(svr算法)项目实战
|
Java 编译器 开发工具
JDK vs JRE:面试大揭秘,一文让你彻底解锁Java开发和运行的秘密!
【8月更文挑战第24天】JDK(Java Development Kit)与JRE(Java Runtime Environment)是Java环境中两个核心概念。JDK作为开发工具包,不仅包含JRE,还提供编译器等开发工具,支持Java程序的开发与编译;而JRE仅包含运行Java程序所需的组件如JVM和核心类库。一个简单的&quot;Hello, World!&quot;示例展示了两者用途:需借助JDK编译程序,再利用JRE或JDK中的运行环境执行。因此,开发者应基于实际需求选择安装JDK或JRE。
210 0
|
Oracle 关系型数据库 Shell
Oracle 19C RPM安装及创建非容器数据库
Oracle 19c rpm安装及创建非容器数据库
1932 0
|
存储 前端开发 JavaScript
基于云耀云服务器搭建一个在线游戏网站
基于云耀云服务器搭建一个在线游戏网站
341 0
基于云耀云服务器搭建一个在线游戏网站