`
lusterfly
  • 浏览: 101041 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

bash: sqlplus: command not found

 
阅读更多

(本文为转载,备用查询)

在Linux中Oracle安装成功后,首次启动使用时,会出现的一些问题总结和解决办法 

 1、  sqlplus命令不识别问题(bash :sqlplus command not found)   当你首次安装oracle后,也许会出现这种情况,第一次或许有点棘手,不知道如何改怎么办。这时不用着急,想想Linux里面的命令是如何运行的,如adduser等,我们发现是因为在/bin/文件夹下有这样的一个文件adduser,于是我们也想到了,把安装好的oracle中bin目录下的sqlplus文件拷贝到/bin文件目录下,   cp /opt/app/oracle/product/10.2.0/db_1/bin/sqlplus /bin   拷贝后,终端中运行sqlplus,成功。           注意:拷贝后,最好把执行权限给所有的用户,不然新建用户不能使用。          chmod 777 /bin/sqlplus  

2、  启动oracle服务问题   不同Linux系统oracle启动文件不同,如Ubuntu下,我们需要建立/etc/init.d/oracledb,而在kylin系统中,文件在/etc/init.d/dbora,但位置都大致相同,我们只需要仔细找找都可以找到这样的一个启动服务文件。当你运行这些文件时,注意oracledb或dbora里面的变量,ORACLE_HOME、ORACLE_SID、PATH等等,这些变量都需要我们根据自己所安装的oracle目录具体配置。配置时,使用命令export:   export ORACLE_HOME=/opt/app/oracle/product/10.2.0/db_1   路径名看你安装oracle路径而定。   其他变量类似。     

3、lsnrctl、emctl等命令的识别问题(bash:lsnrctl/emctl command not found)          当在运行lsnrctl时,或许会出现bash:lsnrctl/emctl command not found这样的错误,不用着急,这个问题和第一个sqlplus命令未找到是类似的,我们也只需把$ORACLE_HOME/bin目录下的lsnrctl文件拷贝到/bin目录下(记得像问题1一样,改变执行权限),就可以识别了。          而当在终端中运行emctl时,或许会出现ORACLE_HOME未定义问题。Environment variable ORACLE_SID not defined. Please define it。这样根据提示,我们知道问题出在了哪,于是我们想,在哪里才能让它识别变量ORACLE_SID呢,Linux中都有几个通用的特定文件。如~/.profile ~/.bash_profile  ~/.bashrc等等,~这个符号代表当前用户的主目录,
如当前用户为user,这样~代表/home/user。上面给的几个文件都是用来配置用户环境的,如果你想让你所运行的脚本识别这些问题,都必须打开并在后面添加这些变量。   对于刚才$ORACLE_SID变量问题,解决方案就是在这些文件中添加ORACLE_SID,但是到底添加到哪个文件呢,你可以试着打开上面的这些文件,如果里面存在东西,那就加在里面,我的系统添加到的是~./bashrc,首先打开: vi ~./bashrc,然后添加   export ORACLE_SID=orcl,。然后 source ~./bashrc,使这个文件重新生效。   这样,lsnrctl、emctl都可以顺利通过了。    
 4、  第一次安装oracle不能运行任何命令   第一次安装oracle后,发现sqlplus,lsnrctl等都不可以运行,即使把路径走到$ORACLE_HOME/bin目录下,也不可以。这是我是通过首先运行dbstart命令来解决的(走到安装目录的bin目录下运行)。     

5、  数据库必须启动   如果你上述都顺利通过了,但是当你用sqlplus登录进去的时候,总是出错。   登录使用默认方式:sqlplus / as sysdba。这是你应该是第一次登录到oracle数据库中,数据库还不能使用,这样你必须使用startup mount、startup open命令解决。这样数据库就打开了,你就可以使用整个数据库了。如果打开时失败了,你可以先shutdown下,先关闭再打开数据库。     

6、  不同用户使用oracle问题   当你新建一个用户时,你会发现emctl等其他一些命令又不可以使用了,这又是为什么呢?当我们看错误出现的地方,发现存在变量未定义,这样又回到了问题2、3了,因为这些变量未定义,所以不能够成功执行。根据Linux系统所提供的每个用户都有一个环境文件,(.profile .bash_profile .bashrc)等,按照问题3,我们只需在这些文件里面加入所需要的变量就可以了,步骤和问题3一样。    +++++++++++++++++   [oracle@ljc /bin]$ sqlplus /nolog
Error 6 initializing SQL*Plus  Message file sp1<lang>.msb not found  SP2-0750: You may need to set ORACLE_HOME to your Oracle software directory

 

 

 

本站实际使用:

1.启动数据库之前 确定查询一下环境变量
[xjgz@web /opt/oracle/product/10.2.0/sqlplus/bin]$ env
设置好正确的   ORACLE_HOME  和 ORACLE_SID
-------------------------------------------------------------------
[root@web /]# ln -s /opt/oracle/product/10.2.0/bin/sqlplus /usr/bin/
[root@web /]# su xjgz
[xjgz@web /]$ sqlplus /nolog
Error 6 initializing SQL*Plus
Message file sp1<lang>.msb not found
SP2-0750: You may need to set ORACLE_HOME to your Oracle software directory
[xjgz@web /]$ export ORACLE_HOME=/opt/oracle/product/10.2.0
2.SQL> connect /as sysdba 
ERROR:
ORA-12162: TNS:net service name is incorrectly specified
SQL> exit
[xjgz@web /]$ export ORACLE_SID=xjgzbj
[xjgz@web /]$ sqlplus /nolog

——————————————————————————
启动监听
3.[xjgz@web /]$ lsnrctl startup
bash: lsnrctl: command not found
4.解决错误:
[root@web /]# cp /opt/oracle/product/10.2.0/bin/lsnrctl  /bin
[root@web /]# chmod 777 /bin/lsnrctl
5.顺利启动
[xjgz@web /]$ lsnrctl start

分享到:
评论

相关推荐

    telnet不能用 提示:-bash: telnet: command not found

    在Linux系统中,"telnet不能用,提示:-bash: telnet: command not found"这一问题通常是由于系统中没有预装telnet客户端或者其路径未被添加到环境变量PATH中导致的。telnet是一个远程登录协议,允许用户通过网络在...

    linux下提示bash-command not found.docx

    Linux 中解决 "bash: command not found" 问题的方法 在 Linux 系统中,经常会遇到 "bash: command not found" 的错误提示,这是因为系统无法找到相应的命令所致。解决这个问题的关键就在于理解 Linux 系统中的 ...

    mysqldump报错

    -bash: mysqldump: command not found问题解决

    -bash: mysql: command not found的问题与解决

    前几天重装了mysql,装好之后navicat一直正常可以对mysql进行操作,但是今天要使用命令行进行操作时遇到-bash: mysql: command not found的问题。 总结一下解决办法: 这个问题的出现是两个原因 1 .bash_profile中...

    shell脚本执行jps时:-bash: jps: command not found

    这个场景中遇到的问题是,当尝试通过shell脚本来远程执行`jps`(Java Process Status)命令时,系统返回了`-bash: jps: command not found`的错误。`jps`是Java开发工具包(JDK)的一部分,用于列出正在运行的Java...

    解决bash: mysql: command not found 的方法

    在Linux环境中,当你尝试在命令行中运行`mysql`命令时,如果遇到`bash: mysql: command not found`的错误提示,这通常意味着系统无法在默认的可执行文件搜索路径中找到`mysql`客户端。这个错误通常发生在你安装了...

    bashfdiskcommand not found 解决办法

    ### bash: fdisk: command not found 解决办法 在 Linux 系统中,用户经常会遇到命令执行失败的情况,其中一种常见的错误提示就是“command not found”。这类问题通常出现在尝试运行一个系统未找到路径的命令时。...

    7za命令使用

    ProcessStartInfo startInfo = new ProcessStartInfo("cmd", $"/c {command}"); startInfo.RedirectStandardOutput = true; startInfo.UseShellExecute = false; using (Process process = Process.Start...

    Linux -bash: ls: command not found

    今天登录阿里云后不知道怎么回事,一直报:-bash: ls: command not found 原因: 环境变量PATH被修改了 解决办法: 执行命令: export PATH=/bin:/usr/bin:$PATH 上边的方法执行完成,解决了问题,当关掉当前的...

    linux命令行小结

    3.解决 bash:命令名称:command not found问题 PATH=$PATH:/sur/sbin/:(命令名称) 打开firefox:在终端输入firefox打开火狐浏览器 4.重启redhat:终端输入reboot 5.当提示bash: 命令名称: command not found ...

    http-server安装成功后,提示 ~bash command not found 在安装目录下却可以

    http-server安装成功后,提示 ~bash command not found 在安装目录下却可以,其实是没有配置环境变量的缘故 网上搜到的什么vim ~/.zshrc不适合我,因为我报的错不是zsh: command not found: 解决办法, 1、在mac终端...

    tar zip unzip command not found(未找到命令).docx

    当你在Red Hat 8.0中遇到“command not found”(未找到命令)的错误时,通常意味着这些工具尚未安装或者环境变量配置不正确。下面我们将详细解释如何解决这个问题。 首先,我们需要配置本地YUM源。在Red Hat 8.0中...

    docker安装

    返回 -bash: docker: command not found 则没有安装 返回类型以下信息则表示已安装 Docker version 19.03.6, build 369ce74a3c 卸载旧的版本 $ sudo yum remove docker \ docker-client \ docker-client-latest \ ...

    VsCode新建VueJs项目的详细步骤

    · node -v //(版本低引起:bash: npm: command not found) · npm -v //以上帮助检查是否安装 node npm · 输入vue,//测试vue是否安装成功 · 输入vue list //看vue中有哪些子类 npm install vue npm install -g ...

    [Mac]解决mac机器上没有ssh-copy-id的问题

    如果没有,可以编辑`~/.bash_profile`或`~/.zshrc`(取决于你的Shell),添加以下行: ```bash export PATH="/usr/local/bin:$PATH" ``` 然后,重新加载配置文件: ```bash source ~/.bash_profile 或 source ~/....

    oracle 数据库用户被锁定在linux下操作

    在使用 SQLPlus 命令行工具时,可能会出现一些错误,例如:“bash: sqlplus: command not found”或“Error 6 initializing SQL*Plus SP2-0667: Message file sp1&lt;lang&gt;.msb not found SP2-0750: You may need to ...

    解决-BASH: /HOME/JAVA/JDK1.8.0_221/BIN/JAVA: 权限不够问题

    以上所述是小编给大家介绍的解决-BASH: /HOME/JAVA/JDK1.8.0_221/BIN/JAVA: 权限不够问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对软件开发网网站的支持! ...

Global site tag (gtag.js) - Google Analytics