sqlplus无法启动的问题及解决

简介: 今天性能测试部门的同事问我一个问题,说他跑一个shell脚本调用sqlplus 结果报错 Error 6 initializing SQL*Plus SP2-0667: Message file sp1.msb not found SP2-0750: You may need to set ORACLE_HOME to your Oracle software directory 我记得自己之前碰到过类似的问题,也是sqlplus启动不了。
今天性能测试部门的同事问我一个问题,说他跑一个shell脚本调用sqlplus
结果报错
Error 6 initializing SQL*Plus
SP2-0667: Message file sp1.msb not found
SP2-0750: You may need to set ORACLE_HOME to your Oracle software directory

我记得自己之前碰到过类似的问题,也是sqlplus启动不了。
参见日志http://blog.itpub.net/23718752/viewspace-752926/
是因为ORACLE_HOME的设置多了一个"/"结果就报了错,为此还专门重装了一次数据库。

今天碰到这个问题,我第一感觉就是ORACLE_HOME不对。让同事把ORACLE_HOME的值发过来。
[Mar26 16:14:26] > echo $ORACLE_HOME
/oravl01/oracle/11.2.0.3
我查看了下,这个home没有问题
然后他给我大概解释了下这个shell脚本,
他们会专门写一个参数文件,里面有ORACLE_HOME之类的变量,然后在shell脚本里调用,因为业务流程复杂,可能好多shell脚本都有一定的依赖和嵌套调用。
我说先看看这个参数文件吧,他从远程机器上打开,我看了下,确实没有问题,而且他说这个参数文件一直没有变过,从solaris环境上直接拿过来用的,
然后我说在哪开始调用的,打上几个debug信息好跟踪,然后他又跑了一次脚本。
查看脚本报错信息,连接串的值已经取到了。就是开始调用sqlplus的时候报错。
我让他看看脚本是不是有格式的问题,因为dos格式和linux格式的文件还是有 "^M"的困扰的。
他为了验证又格式化了一把原来的脚本,还是同样的错误。
他已经没招了,我说我看看脚本,看有没有可能是unix到Linux复用脚本的时候有不兼容的问题。
我自己登上系统,还是先查看参数文件。马上就发现了问题。
cat -v parameters.ini
_ORACLE_HOME="/oravl01/oracle/11.2.0.3"^M
_ORACLE_SID="XXXX"^M
_TISPERF_DB="XXXX/XXXX@XXXX"^M
_KSH_PATH_OLD=/usr/bin/ksh^M
_KSH_PATH=/bin/ksh^M

原来这哥们从solaris copy这个文件的时候还是经过了windows来中转,参数文件的名字也不是.sh .ksh之类的名字,格式化的时候就给漏掉了。
他知道这个问题,一个劲的感叹,真是不应该啊。折腾了好几个小时了。



目录
相关文章
|
SQL 存储 Oracle
SQLPlus命令使用大全
SQLPlus命令使用大全
481 0
|
Oracle 关系型数据库
Oracle学习笔记之12C中的PDB自启动
Oracle学习笔记之12C中的PDB自启动
|
Oracle 关系型数据库
安装Oracle,Xmanager 5 中的xbrower连接失败。
用的SUSE11SP3,Xmanager 5 。 一直报这样的信息,而且远程连接不上。 gdm[4257]: WARNING: Unable lookup hostname: Temporary failure in name resolution 解决方法: 执行如下命令: oracle:/etc/sysconfig/network # vi /etc/sysconfig/displaymanager   把DISPLAYMANAGER="gdm"    改为kdm。
1289 0
|
监控 Oracle 关系型数据库
|
Oracle 关系型数据库 数据库
|
Oracle 网络协议 关系型数据库